AlertIT — live CVE vulnerability feed
A real-time feed of newly published CVE vulnerabilities — no page reloads, no API rate limits, running in a hardened Docker container.
- Node.js
- Express
- Server-Sent Events
- CVE JSON 5
- Docker
- nginx
- Cloudflare
About the project
AlertIT tracks the official CVE repository (CVEProject/cvelistV5) and shows new vulnerabilities the moment they are published — in one clean view, with no manual refreshing. It grew out of an everyday need: instead of digging through RSS feeds and vendor bulletins, I wanted to see right away what had landed in the CVE database and how severe it was.
Key features
- Live feed — new records are pushed to the browser via Server-Sent Events; a status bar shows the connection state and a countdown to the next check.
- Day view — every CVE published on a given day (Europe/Warsaw time zone), with navigation up to 30 days back.
- CVSS severity filters — critical, high, medium, low, unscored — plus sorting by severity.
- Search — by CVE ID, vendor or product; advanced mode adds date ranges and CVSS score ranges.
- Vulnerability details — affected products and versions, CNA, publication dates, links to NVD and CVE.org, and a one-click Polish translation.
- Daily summary and browser notifications.
How it works
A Node.js backend regularly (every 90 s by default) fetches only the head of the deltaLog.json change log — using an HTTP Range request with If-None-Match, so when nothing has changed the answer is a lightweight 304. It picks newly published records from the new batches, downloads them, parses them according to the CVE JSON 5 schema and broadcasts them to every connected browser.
Days that aren't stored locally yet are backfilled and persisted server-side — the browser never talks to GitHub directly. The app doesn't use the GitHub API at all, so there are no rate limits and no token to manage.
Security
- Upstream data is treated as untrusted: sanitised on the server and rendered in the browser via
textContentonly. - Outbound traffic is limited to hard-coded hosts; record URLs are built from a validated CVE ID rather than from links inside the fetched data (no SSRF).
- Strict Content Security Policy and API rate limiting.
- Non-root container with a read-only file system,
cap_drop: ALLandno-new-privileges; public traffic goes through Cloudflare.