Add CISA-KEV and Cloudflare Radar source adapters

CISA Known Exploited Vulnerabilities catalog — tracks CVEs actively
exploited in the wild. No auth required. Provides vendor breakdown,
ransomware linkage, recent additions, and actionable signals.

Cloudflare Radar — internet outages, traffic anomalies, and DDoS attack
trends. Requires a free API token (CLOUDFLARE_API_TOKEN). Monitors
watchlist countries (RU, UA, CN, IR, KP, etc.) for internet shutdowns
and sustained disruptions.

Both sources slot into Tier 6: Cyber & Infrastructure. Source count
updated from 27 to 29.
This commit is contained in:
calesthio
2026-03-21 14:42:17 -07:00
parent a081cda16a
commit 961fe46f6e
3 changed files with 363 additions and 1 deletions

View File

@@ -43,6 +43,10 @@ import { briefing as space } from './sources/space.mjs';
// === Tier 5: Live Market Data ===
import { briefing as yfinance } from './sources/yfinance.mjs';
// === Tier 6: Cyber & Infrastructure ===
import { briefing as cisaKev } from './sources/cisa-kev.mjs';
import { briefing as cloudflareRadar } from './sources/cloudflare-radar.mjs';
const SOURCE_TIMEOUT_MS = 30_000; // 30s max per individual source
export async function runSource(name, fn, ...args) {
@@ -63,7 +67,7 @@ export async function runSource(name, fn, ...args) {
}
export async function fullBriefing() {
console.error('[Crucix] Starting intelligence sweep — 27 sources...');
console.error('[Crucix] Starting intelligence sweep — 29 sources...');
const start = Date.now();
const allPromises = [
@@ -103,6 +107,10 @@ export async function fullBriefing() {
// Tier 5: Live Market Data
runSource('YFinance', yfinance),
// Tier 6: Cyber & Infrastructure
runSource('CISA-KEV', cisaKev),
runSource('Cloudflare-Radar', cloudflareRadar),
];
// Each runSource has its own 30s timeout, so allSettled will resolve