Skip to content

fix(ui): classify attack path findings exactly#11244

Open
Alan-TheGentleman wants to merge 1 commit into
masterfrom
fix/attack-paths-provider-finding-resources
Open

fix(ui): classify attack path findings exactly#11244
Alan-TheGentleman wants to merge 1 commit into
masterfrom
fix/attack-paths-provider-finding-resources

Conversation

@Alan-TheGentleman
Copy link
Copy Markdown
Contributor

Context

Attack Paths graph nodes whose provider resource labels include Finding (for example GuardDutyFinding and AWSInspectorFinding) were being treated as clickable Prowler findings. Those nodes are graph resources, not Prowler findings with drawer details, so clicking them could try to open missing finding information.

Description

This PR tightens Attack Paths finding-node detection to classify only ProwlerFinding as a clickable finding node.

  • Add a shared exact ProwlerFinding label classifier.
  • Use the classifier across graph layout, node visuals, node details, export, legend, and page click handling.
  • Add regression coverage ensuring GuardDuty and Inspector finding resources remain regular graph resource nodes.

No new dependencies are required.

Steps to review

  1. Run the Attack Paths query that returns GuardDutyFinding or AWSInspectorFinding resource nodes.
  2. Verify ProwlerFinding nodes remain clickable and open the finding drawer.
  3. Verify GuardDutyFinding and AWSInspectorFinding nodes behave as normal resources and do not show/open the Prowler finding drawer.
  4. Verify tests pass:
    • cd ui && pnpm test:unit app/(prowler)/attack-paths/(workflow)/query-builder/_lib/layout.test.ts app/(prowler)/attack-paths/(workflow)/query-builder/_lib/node-visuals.test.ts app/(prowler)/attack-paths/(workflow)/query-builder/_lib/graph-colors.test.ts app/(prowler)/attack-paths/(workflow)/query-builder/_lib/graph-utils.test.ts app/(prowler)/attack-paths/(workflow)/query-builder/_lib/export.test.ts app/(prowler)/attack-paths/(workflow)/query-builder/_components/graph/graph-legend.test.tsx app/(prowler)/attack-paths/(workflow)/query-builder/_components/node-detail/node-detail-panel.test.tsx app/(prowler)/attack-paths/(workflow)/query-builder/attack-paths-page.test.tsx
    • Commit hooks also ran: UI Prettier, ESLint, TypeScript Check, and Unit Tests.

Checklist

Community Checklist
  • This feature/issue is listed in here or roadmap.prowler.com
  • Is it assigned to me, if not, request it via the issue/feature in here or Prowler Community Slack

SDK/CLI

  • Are there new checks included in this PR? No
    • If so, do we need to update permissions for the provider? Not applicable.

UI

  • All issue/task requirements work as expected on the UI
  • If this PR adds or updates npm dependencies, include package-health evidence (maintenance, popularity, known vulnerabilities, license, release age) and explain why existing/native alternatives are insufficient. Not applicable; no dependency changes.
  • Screenshots/Video of the functionality flow (if applicable) - Mobile (X < 640px)
  • Screenshots/Video of the functionality flow (if applicable) - Table (640px > X < 1024px)
  • Screenshots/Video of the functionality flow (if applicable) - Desktop (X > 1024px)
  • Ensure new entries are added to CHANGELOG.md, if applicable.

API

  • All issue/task requirements work as expected on the API. Not applicable; UI-only change.
  • Endpoint response output (if applicable). Not applicable.
  • EXPLAIN ANALYZE output for new/modified queries or indexes (if applicable). Not applicable.
  • Performance test results (if applicable). Not applicable.
  • Any other relevant evidence of the implementation (if applicable). See test evidence above.
  • Verify if API specs need to be regenerated. Not applicable.
  • Check if version updates are required (e.g., specs, uv, etc.). Not applicable.
  • Ensure new entries are added to CHANGELOG.md, if applicable. Not applicable.

License

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.

- Treat only ProwlerFinding as a clickable finding node
- Keep GuardDuty and Inspector findings as graph resources
- Add regression coverage for provider finding resources
@Alan-TheGentleman Alan-TheGentleman requested a review from a team as a code owner May 19, 2026 16:23
@Alan-TheGentleman Alan-TheGentleman added bug no-changelog Skip including change in changelog/release notes labels May 19, 2026
@github-actions
Copy link
Copy Markdown
Contributor

github-actions Bot commented May 19, 2026

⚠️ Changes detected in the following folders without a corresponding update to the CHANGELOG.md:

  • ui

Please add an entry to the corresponding CHANGELOG.md file to maintain a clear history of changes.

@github-actions
Copy link
Copy Markdown
Contributor

Conflict Markers Resolved

All conflict markers have been successfully resolved in this pull request.

@github-actions
Copy link
Copy Markdown
Contributor

🔒 Container Security Scan

Image: prowler-ui:3a33d21
Last scan: 2026-05-19 16:26:43 UTC

📊 Vulnerability Summary

Severity Count
🔴 Critical 2
Total 2

2 package(s) affected

⚠️ Action Required

Critical severity vulnerabilities detected. These should be addressed before merging:

  • Review the detailed scan results
  • Update affected packages to patched versions
  • Consider using a different base image if updates are unavailable

📋 Resources:

@jfagoagas jfagoagas removed the no-changelog Skip including change in changelog/release notes label May 19, 2026
@pfe-nazaries pfe-nazaries self-requested a review May 22, 2026 06:52
Copy link
Copy Markdown
Contributor

@pfe-nazaries pfe-nazaries left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants