Skip to content

Add --base-url to seed the NVD cache from a published base#415

Open
anatoliy-balakirev wants to merge 1 commit into
jeremylong:mainfrom
anatoliy-balakirev:feature/upload-historical
Open

Add --base-url to seed the NVD cache from a published base#415
anatoliy-balakirev wants to merge 1 commit into
jeremylong:mainfrom
anatoliy-balakirev:feature/upload-historical

Conversation

@anatoliy-balakirev

@anatoliy-balakirev anatoliy-balakirev commented Jul 1, 2026

Copy link
Copy Markdown

Building the cache with cve --cache crawls the full NVD history through the rate-limited API, which can take hours and fail on 503 or HTTP/2 reset errors.

This adds an optional --base-url: when the local cache is empty, it downloads a published cache (cache.properties plus nvdcve-*.json.gz/.meta files), verifies each feed gzip against the sha256 in its sibling .meta, and lets the existing API update fill in only the recent delta. Existing caches are left untouched.

A scheduled GitHub Actions workflow publishes that base as a rolling release: it seeds from the previous release, refreshes from the NVD API, and re-uploads only files that changed, so a fresh --base-url seed can avoid a multi-hour full crawl.

Closes #414

Building the cache with `cve --cache` crawls the full NVD history through the
rate-limited API, which can take hours and fail on 503 or HTTP/2 reset errors.

This adds an optional `--base-url`: when the local cache is empty, it downloads a
published cache (`cache.properties` plus `nvdcve-*.json.gz`/`.meta` files),
verifies each feed gzip against the sha256 in its sibling `.meta`, and lets the
existing API update fill in only the recent delta. Existing caches are left
untouched.

A scheduled GitHub Actions workflow publishes that base as a rolling release:
it seeds from the previous release, refreshes from the NVD API, and re-uploads
only files that changed, so a fresh `--base-url` seed can avoid a multi-hour
full crawl.

Closes jeremylong#414
@anatoliy-balakirev anatoliy-balakirev force-pushed the feature/upload-historical branch from 9f917b2 to be7a8ba Compare July 2, 2026 06:59
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Feature: publish an immutable historical NVD cache to bootstrap cve --cache (base from release + delta from API)

2 participants