{# Extended SCA Reachability dashboard: coverage, a severity/reachability breakdown, an ecosystem breakdown, and a short "Top vulnerabilities" preview linking out to the full, project-filterable register at /activities/sca-reachability/vulnerabilities (sca_vulnerabilities_list.html) -- each row backed by a real OSV.dev match when one exists, or the report's own "unverified" finding when it doesn't (never a fabricated CVE ID -- see web/sca_dashboard.py for what's real vs. approximated). #} {% from "_macros.html" import info_tip %} Program dashboard {% if sca_dash.osv_unreachable %}
Share of in-scope systems that have at least one successful SCA reachability review.
In scope means every project that has an assessment.
{% endcall %} {{ sca_dash.coverage_pct }}% Coverage — {{ sca_dash.coverage_reviewed }} / {{ sca_dash.coverage_in_scope }} in-scope systemsUnique package vulnerabilities across projects. The same package and CVE in two projects counts once.
A finding with no real CVE stays separate unless the issue text actually matches another one. secfoo never invents a CVE id.
{% endcall %} {{ sca_dash.vulnerabilities | length }} Distinct vulnerabilities across all projectsVulnerabilities a review marked reachable: the vulnerable code is on a path the application can actually hit.
Not reachable and conditionally reachable are counted separately, on each vulnerability's row.
{% endcall %} {{ sca_dash.reachability_counts.reachable }} ReachableFindings whose package ecosystem OSV.dev does not recognize, so they could not be checked against a known advisory.
They stay in the register as the report wrote them. They are not dropped.
{% endcall %} {{ sca_dash.unmapped_ecosystem_count }} Findings with an ecosystem OSV.dev doesn't recognizeCounts from each finding's own Risk Register severity.
This is the rating the review wrote. It is not translated from a CVSS score.
{% endcall %}From each finding's own Risk Register severity -- never translated from a CVSS score.
{% set severity_total = sca_dash.severity_counts.high + sca_dash.severity_counts.medium + sca_dash.severity_counts.low %}How the vulnerabilities above split by package ecosystem, such as npm or PyPI.
This is not a count of every dependency in every manifest. Only findings are included.
{% endcall %}A breakdown of the findings above, not of every dependency in every manifest.
{% if sca_dash.ecosystem_counts %} {% else %}No vulnerabilities yet.
{% endif %}The five highest-severity vulnerabilities across projects.
Reachability and a fixed version, when the report or OSV.dev has one, are on each row.
{% endcall %}The highest-severity vulnerabilities across all projects.
| Severity | CVE / Issue | Package | Version | Reachability | Fixed in | Applications |
|---|---|---|---|---|---|---|
| {{ v.severity }} | {% if v.cve_id %}{{ v.cve_id }}{% else %}unverified {{ v.issue }}{% endif %} | {{ v.package }} |
{{ v.version }} | {{ v.reachability }} | {{ v.fixed_in }} | {{ v.affected_projects | length }} |