Threat Recap

Data API & RSS feeds

Everything on this site is built from plain static files that anyone can use for free: no key, no sign-up, CORS enabled. They're rebuilt every few hours, so checking more than once an hour just returns the same data — an hourly check is plenty. The generated timestamp in each file tells you when it last changed.

RSS feeds

Add these to any feed reader, or to Slack/Teams with their RSS apps.

feeds/latest.xmlAll news (no bulk advisories)
feeds/top.xmlStories covered by 3+ outlets
feeds/zeroday.xmlZero-days & actively exploited
feeds/kev.xmlNew CISA KEV entries
feeds/breach.xmlData breaches
feeds/apt.xmlAPT & nation-state activity
feeds/ransomware.xmlRansomware news
feeds/supply-chain.xmlSupply-chain attacks
feeds/research.xmlThreat research reports
feeds/advisories.xmlVendor & government advisories
feeds/vendor-<name>.xmlPer vendor, e.g. vendor-fortinet.xml (links on each vendor page)
feeds/actor-<name>.xmlPer threat actor, e.g. actor-apt28.xml

JSON files

FileContents
data/news.jsonstories[]: 30 days of merged stories. Keys: id, t title, u link, s source, c category, d published (ms), f first seen, x summary, tg tags, cv CVEs, ac actors, ve vendors, at ATT&CK IDs, mw malware, io IOC count, ai AI note, r other outlets [source, title, link, date], b bulk advisory, so social post
data/cves.jsonkev latest KEV entries, kevIndex every KEV CVE → date added, info CVSS/description by CVE, epss [probability, percentile], poc public exploit repos, recent CVEs published in the last 4 days
data/iocs.jsonIOCs per story id: h hashes, ip, d domains, u URLs, src report link
data/ransomware.json30-day claim counts by group / country / sector, per-day totals, latest 300 claims (unverified)
data/breaches.jsonNewest breaches loaded into Have I Been Pwned
data/supply.jsonLatest malicious-package advisories (GitHub Advisory Database)
data/sources.jsonEvery source with feed health
data/meta.jsonVendor, actor, ransomware-group and malware name lists

Example: exploited CVEs for a vendor

const { kev } = await (await fetch('data/cves.json')).json();
console.log(kev.filter(k => k.v === 'Fortinet'));

Upstream data belongs to its publishers: CISA (KEV), NIST NVD, MITRE CVE, FIRST (EPSS), nomi-sec/PoC-in-GitHub, ransomware.live, Have I Been Pwned, GitHub Advisory Database and each news source. Headlines link to the original articles.