
Сегодня меня спросили: как скачать базу уязвимостей с сайта NVD? Если нужны данные из NIST NVD по всем уязвимостям, проще всего скачать архивированные фиды в формате JSON.
Запускаем скрипт:
import requests
BASE = "https://nvd.nist.gov/feeds/json/cve/2.0/"
for year in range(2002, 2027): # при необходимости расширяем диапазон
fname = f"nvdcve-2.0-{year}.json.zip"
url = BASE + fname
print("Качаю", fname)
with requests.get(url, stream=True, timeout=300) as r:
r.raise_for_status()
with open(fname, "wb") as f:
for chunk in r.iter_content(8192):
if chunk:
f.write(chunk)
Скрипт пишет:
Качаю nvdcve-2.0-2002.json.zip
...
Качаю nvdcve-2.0-2026.json.zip
И скачивает в текущую директорию zip-архивы с JSON-чиками, которые затем можно обработать по своему усмотрению. 😉





