Files
felhom.eu/documentation/audits/security-watch-2026-10-26/raw/osv-probe.py
T

21 lines
1.5 KiB
Python

import json,sys,urllib.request
def q(body):
r=urllib.request.Request('https://api.osv.dev/v1/query',data=json.dumps(body).encode(),headers={'Content-Type':'application/json'})
return json.load(urllib.request.urlopen(r,timeout=30)).get('vulns',[])
cases=[
('cloudflared 2026.9.3 (Go module)', {'package':{'name':'github.com/cloudflare/cloudflared','ecosystem':'Go'},'version':'2026.9.3'}),
('cloudflared pseudo v0', {'package':{'name':'github.com/cloudflare/cloudflared','ecosystem':'Go'}}),
('Go stdlib 1.26.8 (cloudflared 2026.9.3 build)', {'package':{'name':'stdlib','ecosystem':'Go'},'version':'1.26.8'}),
('traefik v3 3.7.13', {'package':{'name':'github.com/traefik/traefik/v3','ecosystem':'Go'},'version':'3.7.13'}),
('traefik v3 3.7.16 (negative?)', {'package':{'name':'github.com/traefik/traefik/v3','ecosystem':'Go'},'version':'3.7.16'}),
('vaultwarden 1.36.0 (crates.io)', {'package':{'name':'vaultwarden','ecosystem':'crates.io'},'version':'1.36.0'}),
('immich 3.2.2 (npm)', {'package':{'name':'immich','ecosystem':'npm'},'version':'3.2.2'}),
('nextcloud/server 29.0.0 (Packagist)', {'package':{'name':'nextcloud/server','ecosystem':'Packagist'},'version':'29.0.0'}),
('nextcloud/server 34.0.4 (Packagist, ours)', {'package':{'name':'nextcloud/server','ecosystem':'Packagist'},'version':'34.0.4'}),
('debian ca-certificates', {'package':{'name':'ca-certificates','ecosystem':'Debian:13'}}),
]
for name,b in cases:
try:
v=q(b); print(f'{name}: {len(v)}', [x['id'] for x in v][:8])
except Exception as e: print(name,'ERROR',e)