Problem
Wenn der Parser eine Package-Referenz ohne Version findet (z.B. npx vite, npx playwright install chromium), schickt PatchPilot die OSV-Query ohne Version. OSV liefert dann alle Vulnerabilities über alle Versionen hinweg.
Der User sieht dann:
🚨 vite@latest has 5 HIGH vulnerabilities
🚨 playwright@latest has 1 HIGH vulnerabilities
Beide sind False Positives:
vite@8.0.8 (aktuelles latest): 0 Vulns
playwright@1.59.1 (aktuelles latest): 0 Vulns
Die gemeldeten Vulns betreffen alte Versionen.
Reproduktion
# Returns 19 vulns (5 HIGH + others)
curl -s -X POST https://api.osv.dev/v1/query \
-H "Content-Type: application/json" \
-d '{"package":{"name":"vite","ecosystem":"npm"}}'
# Returns 0 vulns
curl -s -X POST https://api.osv.dev/v1/query \
-H "Content-Type: application/json" \
-d '{"package":{"name":"vite","ecosystem":"npm"},"version":"8.0.8"}'
Fix
In osv.ts: Bei fehlender Version zuerst latest über die Registry resolven (npm: https://registry.npmjs.org/<pkg>/latest, PyPI: https://pypi.org/pypi/<pkg>/json), dann OSV mit echter Version querien.
Fail-open auf den Resolve: bei Registry-Error (404, Timeout) Query ohne Version senden wie bisher.
Impact
Eliminiert die häufigste False-Positive-Quelle bei npx <tool> für lokal installierte Binaries.
Problem
Wenn der Parser eine Package-Referenz ohne Version findet (z.B.
npx vite,npx playwright install chromium), schickt PatchPilot die OSV-Query ohne Version. OSV liefert dann alle Vulnerabilities über alle Versionen hinweg.Der User sieht dann:
Beide sind False Positives:
vite@8.0.8(aktuelles latest): 0 Vulnsplaywright@1.59.1(aktuelles latest): 0 VulnsDie gemeldeten Vulns betreffen alte Versionen.
Reproduktion
Fix
In
osv.ts: Bei fehlender Version zuerstlatestüber die Registry resolven (npm:https://registry.npmjs.org/<pkg>/latest, PyPI:https://pypi.org/pypi/<pkg>/json), dann OSV mit echter Version querien.Fail-open auf den Resolve: bei Registry-Error (404, Timeout) Query ohne Version senden wie bisher.
Impact
Eliminiert die häufigste False-Positive-Quelle bei
npx <tool>für lokal installierte Binaries.