Skip to content

feat(frameworks): enrich cve findings with reference urls - #380

Open
TBX3D wants to merge 2 commits into
vmfunc:mainfrom
TBX3D:lane/cve-references
Open

feat(frameworks): enrich cve findings with reference urls#380
TBX3D wants to merge 2 commits into
vmfunc:mainfrom
TBX3D:lane/cve-references

Conversation

@TBX3D

@TBX3D TBX3D commented Jul 31, 2026

Copy link
Copy Markdown
Contributor

a cve finding names the id and the severity but not where to read about it, so triage means pasting the id into a search engine. CVEEntry gains References, filled with the nvd detail url for its own id and surfaced on FrameworkResult.References and the builtin module's Extracted. report-only: finding.Finding and flattenFramework are untouched, so the normalized line sink does not change.

TBX3D added 2 commits July 30, 2026 00:21
add References []string to CVEEntry, populated with a deterministic
NVD /vuln/detail/<CVE> url per entry. getVulnerabilities and
WithVulnerabilities now also return/carry references, surfaced on
FrameworkResult.References (json, omitempty) and the builtin module's
Extracted["references"].

report-only: finding.Finding and flattenFramework are untouched, so
the normalized line sink is unaffected.
lock the bare-major boundary matrix in versionAffected (7 vs 70/17/7000,
4.20 vs 4.2, 4.1 vs 4.10) and assert every knownCVEs entry's references
exactly match its own CVE ID's nvd detail url, so a future edit can't
silently widen the boundary or misattribute a reference.

also pins Finding.Line() staying frozen to "[severity] target module title"
for a framework result once cve enrichment (version/cves/references) is
populated, guarding against enrichment fields leaking into the line.
@TBX3D
TBX3D requested a review from vmfunc as a code owner July 31, 2026 02:30
@github-actions github-actions Bot added scan changes to scan engine modules changes to scan modules tests test changes size/l <500 lines changed labels Jul 31, 2026
@codecov-commenter

Copy link
Copy Markdown

⚠️ Please install the 'codecov app svg image' to ensure uploads and comments are reliably processed by Codecov.

Codecov Report

❌ Patch coverage is 87.50000% with 2 lines in your changes missing coverage. Please review.
⚠️ Please upload report for BASE (main@a38ba0a). Learn more about missing BASE report.

Files with missing lines Patch % Lines
internal/scan/builtin/frameworks_module.go 0.00% 2 Missing ⚠️
❗ Your organization needs to install the Codecov GitHub app to enable full functionality.
Additional details and impacted files
@@           Coverage Diff           @@
##             main     #380   +/-   ##
=======================================
  Coverage        ?   64.88%           
=======================================
  Files           ?       88           
  Lines           ?     7865           
  Branches        ?        0           
=======================================
  Hits            ?     5103           
  Misses          ?     2369           
  Partials        ?      393           

☔ View full report in Codecov by Harness.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@github-actions

Copy link
Copy Markdown

pr summary

8 files changed (+190 -16)

category files
go source 8
tests 4

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

Labels

modules changes to scan modules scan changes to scan engine size/l <500 lines changed tests test changes

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants