Skip to content

[P1] Normalize Finding Schema Across Analyzers #12

Description

@barvhaim

Roadmap Item 6: Normalize Finding Schema Across Analyzers

Priority: P1
Area: Core analysis, frontend, reports
References: src/threatxtension/core/extension_analyzer.py,
frontend/src/services/realScanService.js

Findings from Semgrep, pattern fallback, permissions, VirusTotal, entropy, and Chrome
Stats have different shapes. The frontend currently flattens and maps fields ad hoc,
which makes sorting, filtering, report generation, and API compatibility harder.

Scope:

  • Define a canonical Finding schema with id, source, title, severity, confidence,
    file path, line, evidence, category, CWE, MITRE ATT&CK, and recommendation fields.
  • Add adapter functions for each analyzer.
  • Keep raw analyzer output available under a separate raw or details field.
  • Update frontend and PDF report code to consume the normalized findings list.

Acceptance criteria:

  • /api/scan/results/{id} includes a stable top-level findings array.
  • Existing analyzer-specific sections remain available for backward compatibility.
  • UI uses the normalized array for counts, severity filters, and details.

Created from docs/roadmap.md.

Metadata

Metadata

Assignees

No one assigned

    Labels

    apiAPI/backend workenhancementNew feature or requestfrontendReact UI and frontend behaviorreportingReports and exported artifacts

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions