mf2022-dev/cbrn-watch

GitHub: mf2022-dev/cbrn-watch

一个开源的CBRN(化学、生物、放射、核)威胁情报监控平台,聚合103个OSINT数据源,通过多层分类引擎、统计检测算法和AI信号分析提供实时威胁评估与预警。

Stars: 0 | Forks: 0

# CBRN WATCH — 开源 CBRN 情报监控器 ## 项目概述 - **名称**:CBRN WATCH - **版本**:11.1.0 (A++++ 情报升级) - **目标**:实时化学、生物、放射、核 (CBRN) 威胁监控与预测性情报平台 - **成本**:$0/月 (所有免费数据源 + Cloudflare 免费套餐) — 可选 SerpAPI ($50/月,用于 Google Trends) - **技术栈**:Hono 4.x + TypeScript + Cloudflare Pages/Workers + D1 + Vite 6 + Tailwind CSS + Chart.js + Leaflet.js - **总体 QA 评级**:A++++ (192 个设施,36 个国家,103 个数据源,防御级加固 + Dempster-Shafer + Holt-Winters + WATCHCON) - **在线地址**:https://cbrn-watch.pages.dev - **GitHub**:https://github.com/mf2022-dev/cbrn-watch - **API 文档**:https://cbrn-watch.pages.dev/api/openapi.json ## v11.1.0 更新日志 (A++++ 升级) ### 新增:4 个 API 端点 - **`GET /api/watchcon`** — NATO 级 WATCHCON 1-5 自动计算器 (结合收敛性、AI 裁决、微信号和预测) - **`GET /api/hypotheses`** — 多假设威胁建模,包含每个类别的升级/现状/黑天鹅情景 - **`GET /api/source-health`** — 实时 OSINT 源健康监控器 (健康/降级/离线,错误率,响应时间) - **`GET /api/geo-concentration`** — 地理威胁热点分析 (国家级信号聚类) ### 分类器 (ASCE v3.0) — 9 层管道 - **第 8 层:实体感知地理提取** — 70+ 国家模式,15+ CBRN 设施模式 (纳坦兹、福尔多、宁边、扎波罗热、武汉研究所、波顿当),10+ 地区模式 - **第 9 层:时间速度评分** — <30 分钟的信号权重为 2 倍,<1 小时的权重为 1.8 倍,较旧内容按比例降至 0.5 倍 - **40+ 个 2026 年新威胁短语** — AUKUS,战术核武器,扎波罗热,H5N1 哺乳动物,猴痘 Ib 分支,芬太尼前体,卡芬太尼,PFAS,放射性走私 - 5 条新的抑制规则 (AI 生成,标题党,社交媒体传言,电子游戏,常规天气) - 更新了针对 2026 年威胁态势的贝叶斯先验 ### AI 引擎 (ASIE v3.0) — 多假设 + WATCHCON - **多假设威胁建模** — 每个类别的竞争性升级/现状/黑天鹅情景,包含概率得分、证据链、情景树 - **WATCHCON 自动计算器** — 源自信号、AI 裁决、微信号和预测的 NATO 级 WATCHCON 1-5 - **地理聚集度分析** — 识别多个 CBRN 信号汇聚的地理热点 ### 收敛算法 (MSCA v4.0) — Dempster-Shafer 证据理论 - **Dempster-Shafer 融合** — 每个数据源的基本概率分配 (BPA),通过带有冲突处理的 Dempster 规则进行组合 - **信度/似然区间** — 比点估计更丰富的不确定性量化 - **逐源 BPA 计算** — 在 CBRN 类别上进行置信度加权的质量分配 - **冲突检测** — 衡量源间分歧 (K 因子) ### 检测引擎 (v3.0) — 6 种算法 - **新算法 6:Holt-Winters 三次指数平滑** — 捕获水平、趋势和季节性分量 (昼夜/每周周期) - 加法季节模型:Y_t = L_t + T_t + S_t + e - 通过标准化残差进行异常检测 (>2.5σ = 警告,>3.5σ = 严重) - 集成算法从 5/5 升至 6/6,实现更强的共识检测 ### 数据源 — 103 个 OSINT 订阅源 (+15) - **5 个新的第 7 环官方来源**:CTBTO,ECDC,US NRC,UNODA,NNSA - **10 个新的第 6 环专业来源**:Bellingcat,FAS,SIPRI,RAND,Defense One,The War Zone,Janes,NK News,38 North,CSIS ### 抓取器 (v5.0) — 源健康监控器 - **源健康监控器** — 跟踪每个来源的最后出现时间、连续错误次数、平均响应时间、健康状态 - **地理丰富** — 将 ASCE v3.0 地理实体输入到 FeedItem 字段中 - **时间速度直通** — 保留原始 pubDate 用于速度评分 ### 前端 (v11.1) - **WATCHCON 标签页** — 实时 WATCHCON 级别显示,包含触发因素、假设建模和地理热点 - **源健康标签页** — 实时源健康仪表板,包含汇总统计、问题源和完整源表 - 侧边栏导航更新,新增 2 个标签页 (WATCHCON,源健康) ## v10.0.0 加固更新日志 ### 分类器 (ASCE v2.0) — 7 层分类管道 - **第 6 层:交叉验证** — 独立的 n-gram 重叠评分确认初步分类 - **第 7 层:贝叶斯后验** — 每个类别的先验概率 (核:0.12,生物:0.25,化学:0.18,放射:0.15) 调整原始置信度 - **内容指纹识别** — 对每个分类进行 djb2a 哈希处理以跟踪完整性 - **输入装甲** — 验证、清理所有文本,并限制长度 (最多 50,000 个字符) - **类别隔离** — `general` 类别绝不会污染 CBRN 分数 (之前曾导致严重的分数膨胀) - 60+ 威胁短语,80+ 分层关键字,12 条抑制规则 ### 检测引擎 (v2.0) — 加固的统计算法 - **Grubbs 离群值检验** — 在 Z-Score 和 CUSUM 之前预过滤受损的基线数据 - **MAD (中位数绝对偏差)** — 标准差的稳健替代方案;与标准 z-score 协调一致 - **基于 IQR 的离群值排除** — 在尖峰比率基线上应用 Tukey 栅栏 (Q1-1.5×IQR,Q3+1.5×IQR) - **Bootstrap 置信区间** — 200 次确定性重采样独立验证集成裁决 - **安全数学** — 所有输入通过 `armorArray()` 处理,所有除法通过 `safeDivide()` 处理 ### AI 引擎 (ASIE v2.0) — 异常指纹识别 - **异常指纹** — 每个异常的唯一 djb2a 哈希,用于跨刷新跟踪 - **管道计时** — `PipelineTimer` 类测量每个分析步骤 (微信号、相关性、预测、NLP、基线、叙述、裁决) - **安全 Pearson 相关** — 钳制在 [-1, 1] 范围内 - **加固的线性回归** — `safeDivide` 防止除以零 ### 收敛算法 (MSCA v3.0) — 来源溯源链 - **信号溯源链** — 每个信号携带来源哈希 - **完整性哈希** — 对 ThreatAssessment 输出进行 djb2a 哈希 - **置信度上限** — 分数不能超过受证据支持的最大值 (avgConf < 0.3 → 上限 50,< 0.5 → 上限 75) - **失效信号过滤器** — 自动排除超过 7 天的旧信号 - **跨源去重** — Jaccard 标题相似度 > 0.65 触发合并 - **置信度加权评分** — ASCE 置信度映射到 0.3–1.0 的信号权重 ### 数据抓取器 (v4.0) — 弹性 OSINT 采集 - **带指数退避的重试** — 最多 2 次重试,1s → 2s 延迟,5xx 触发重试 - **响应大小上限** — 最大 5MB,防止内存 DoS - **输入清理** — 对所有解析的标题/描述/链接字段执行 `armorString()` - **内容类型验证** — 解析前检查 content-type ### 中间件 (v10.0) — 安全加固 - **增强的清理功能** — 剥离空字节、控制字符、`data:text/html` URI - **安全标头** — `nosniff`,`SAMEORIGIN`,`XSS-Protection`,`HSTS` (1 年 + 预加载),`Referrer-Policy` - **引擎戳记** — 每次响应包含 `X-CBRN-Engine` 和 `X-CBRN-Version` - **请求追踪** — 每次响应包含 `X-Request-Id` ### API 路由器 (v10.1) — 标准化响应 - 所有响应封装中包含**引擎/版本元数据** - threat-assessment 元数据中包含**完整性哈希 + 平均置信度** - 元数据块中包含**去重统计** ### 代码质量 - **移除了死代码**:`helpers.ts` (与 middleware.ts 重复),`style.css` (1 行未使用) - **CSS 命名空间文档**:所有类均限定范围 (cbrn-/ta-/ews-/intel-/atlas-/iran-/det-/ai-) - **没有可能与父级 BioR 框架冲突的通用类名** - **溯源水印系统**:API 输出上的引擎、版本、指纹、integrityChain ## 架构 ### 检测环 (103 个 OSINT 源) 该平台跨 7 个同心检测环聚合 103 个开源情报订阅源: | 环 | 数量 | 类型 | 示例 | |------|-------|------|----------| | 环 7 | 19 | 官方/政府间组织 | WHO, IAEA, GDACS, OPCW, ReliefWeb, USGS, FDA, CDC, NASA FIRMS, CTBTO, ECDC, NRC, UNODA, NNSA | | 环 6 | 20 | 专业新闻 | BBC, Al Jazeera, Arms Control, CIDRAP, NTI, Bellingcat, FAS, SIPRI, RAND, Defense One, Janes, 38 North | | 环 5 | 13 | 搜索引擎情报 | 用于核、生物武器、化学、放射性关键字的 Google News RSS | | 环 4 | 19 | 社交 OSINT + 趋势 | Reddit (4 个子版块),Google Trends (15 个国家订阅源) | | 环 3 | 5 | 环境传感器 | USGS 地震,Safecast 辐射,OpenAQ,NASA FIRMS,CDC 废水 | | 环 2 | 18 | 行为/预测 | Wikipedia 页面浏览量,Google Trends 时间序列,行为信号 | ### 核心引擎 1. **多信号收敛算法 (MSCA v4.0)** — Dempster-Shafer 证据融合,置信度加权信号评分,地理/时间/多样性加成,来源溯源链,完整性哈希,置信度上限,失效信号过滤器,跨源去重 2. **9 层 ASCE 分类引擎 (v3.0)** — 威胁短语匹配,分层关键字评分,上下文窗口分析,抑制过滤器,置信度评分,交叉验证,贝叶斯后验,地理实体提取,时间速度评分 3. **加固的 6 算法统计检测引擎 (v3.0)** — Z-Score (经 MAD 验证),CUSUM (经 Grubbs 过滤),EWMA,Shannon 熵,尖峰比率 (经 IQR 过滤),Holt-Winters 三次指数平滑 + Bootstrap CI 验证 4. **AI 信号情报引擎 (ASIE v3.0)** — 微信号放大,互相关矩阵,NLP 内容分析,预测性预报,自适应基线,威胁叙述生成,异常指纹识别,多假设威胁建模,WATCHCON 自动计算器,地理聚集度分析 ### 关键模块 | 文件 | 版本 | 目的 | |------|---------|---------| | `src/lib/classifier.ts` | v3.0 | 9 层 ASCE 分类引擎 (地理提取,时间速度,交叉验证,贝叶斯后验 | | `src/routes/api.ts` | v11.1 | 核心 API 端点 + WATCHCON,假设,源健康,地理聚集度 | | `src/routes/trends.ts` | v9.3 | Google Trends + RSS 趋势端点 (热力图,关键字,趋势,摘要) | | `src/routes/history.ts` | v9.3 | 威胁历史,异常检测,快照比较 | | `src/routes/middleware.ts` | v10.0 | 认证,限速,指标,熔断器,分页,日志记录,Webhook,安全标头 | | `src/routes/detection.ts` | v9.3 | 统计检测报告和方法论文档端点 | | `src/routes/admin.ts` | v9.3 | 指标,状态,来源审计,可靠性,清理 | | `src/lib/ai-engine.ts` | v3.0 | AI 信号情报引擎 (微信号,相关性,预测,NLP,叙述,指纹,多假设,WATCHCON,地理聚集度) | | `src/lib/detection.ts` | v3.0 | 加固的 6 算法统计检测引擎 (Grubbs + MAD + IQR + Bootstrap + Holt-Winters) | | `src/lib/convergence.ts` | v4.0 | 多信号收敛算法 + Dempster-Shafer 证据理论 | | `src/lib/fetcher.ts` | v5.0 | 带有 KV 缓存、重试、源健康监控、地理丰富的 RSS/JSON/XML 解析器 | | `src/lib/utils.ts` | v11.1 | 溯源水印,安全数学,确定性 ID,管道计时,输入装甲 | | `src/types/index.ts` | v9.3 | TypeScript 接口 (替换所有 `any` 类型) | | `src/data/sources.ts` | v11.1 | 103 个 OSINT 源定义 | ## API 参考 ### 核心情报 | 方法 | 路径 | 认证 | 描述 | |--------|------|------|-------------| | GET | `/api/threat-assessment` | 否 | 包含收敛分数的完整 CBRN 威胁评估 | | GET | `/api/news` | 否 | 环 5-6 CBRN 新闻订阅源 | | GET | `/api/official` | 否 | 环 7 官方/政府间组织源数据 | | GET | `/api/social` | 否 | 环 4 社交 OSINT 信号 | | GET | `/api/sensors` | 否 | 环 3 环境传感器数据 | | GET | `/api/incidents?limit=N` | 否 | 实时事件订阅源 (1-100,默认 30) | | GET | `/api/crossref/:facilityId` | 否 | 设施的交叉引用情报 | | GET | `/api/behavioral/wikipedia` | 否 | Wikipedia 页面浏览行为信号 | | GET | `/api/ai/intelligence` | 否 | 完整的 AI 情报报告 (ASIE) | | GET | `/api/watchcon?hours=N` | 否 | WATCHCON 1-5 自动计算器 (NATO 级) | | GET | `/api/hypotheses?hours=N` | 否 | 多假设威胁建模 (升级/现状/黑天鹅) | | GET | `/api/source-health` | 否 | OSINT 源健康监控器 (健康/降级/离线) | | GET | `/api/geo-concentration` | 否 | 地理威胁热点分析 | ### 趋势与分析 | 方法 | 路径 | 认证 | 描述 | |--------|------|------|-------------| | GET | `/api/trends?region=XX&category=YY` | 否 | Google Trends 数据 (需要 SERPAPI_KEY) | | GET | `/api/trends/related?q=keyword` | 否 | 相关搜索查询 | | GET | `/api/trends/regions?q=keyword` | 否 | 区域兴趣细分 | | GET | `/api/trends/heatmap` | 否 | 国家 CBRN 关键字热力图 | | GET | `/api/trends/trending` | 否 | 带有 CBRN 标记的 RSS 热门话题 | | GET | `/api/trends/keywords` | 否 | 跨国家的 CBRN 关键字云 | | GET | `/api/trends/summary` | 否 | 聚合趋势摘要 | ### 历史与检测 | 方法 | 路径 | 认证 | 描述 | |--------|------|------|-------------| | GET | `/api/history?hours=N` | 否 | 威胁分数历史 (1-720 小时,默认 24 小时) | | GET | `/api/history/anomalies?hours=N` | 否 | 带有严重性分析的异常日志 | | GET | `/api/history/snapshot/:id` | 否 | 单个历史快照 | | GET | `/api/history/compare?from=ISO&to=ISO` | 否 | 比较两个时间段 | | GET | `/api/detection/report?category=X` | 否 | 统计检测报告 (所有 5 种算法) | | GET | `/api/detection/methodology` | 否 | 算法文档与参考 | ### 设施与情报 | 方法 | 路径 | 认证 | 描述 | |--------|------|------|-------------| | GET | `/api/nuclear/facilities` | 否 | 遍布 18 个国家的 168 个 CBRN 设施 | | PUT | `/api/nuclear/facilities/:id` | 是 | 更新设施状态/威胁等级 | | GET | `/api/intel` | 否 | 情报报告列表 | | POST | `/api/intel` | 是 | 创建新的情报报告 | ### 管理与监控 | 方法 | 路径 | 认证 | 描述 | |--------|------|------|-------------| | GET | `/api/admin/metrics` | 否 | 请求指标 (延迟,错误,状态码) | | GET | `/api/admin/status` | 否 | 平台状态,熔断器状态,版本 | | GET | `/api/admin/source-audit` | 否 | 审计所有 88 个来源 (批量抓取 + 可靠性) | | GET | `/api/admin/source-reliability` | 否 | 每源可靠性评分 (A-F 等级) | | POST | `/api/admin/cleanup` | 是 | 数据保留清理 (30 天威胁,90 天异常) | | GET | `/health` | 否 | 健康检查 (数据库查询,设施/源计数) | ### 身份验证 写入端点需要 `Authorization: Bearer ` 标头。配置方式如下: ``` # 本地开发 echo "API_AUTH_KEY=your-secret-key" >> .dev.vars # 生产环境 npx wrangler pages secret put API_AUTH_KEY --project-name cbrn-watch ``` ### 查询参数 - **分页**:`?page=1&pageSize=50` (每页最多 200 条) - **类别过滤**:`?category=nuclear|biological|chemical|radiological` - **时间范围**:`?hours=24` (1-720) - **严重性过滤**:`?severity=critical|high|medium|low|info` - **详细模式**:`?verbose=true` (包含扩展元数据) ## 更新日志 ### v9.3.2 (2026-03-28) - **192 个核设施** 跨越 **36 个国家** (从 7 个国家的 17 个增加而来) - 全面的全球覆盖范围:伊朗,朝鲜,俄罗斯,乌克兰,巴基斯坦,印度,以色列,中国,美国,法国,英国,日本,韩国,德国,沙特阿拉伯,阿联酋,土耳其,叙利亚,加拿大,台湾地区,阿根廷,巴西,南非,瑞典,芬兰,瑞士,西班牙,比利时,捷克共和国,匈牙利,罗马尼亚,斯洛伐克,保加利亚,埃及,孟加拉国,白俄罗斯 - GitHub 仓库从 `sentinel-cbrn` 更名为 `cbrn-watch` - 代码库中移除了所有 "sentinel" 引用 ### v9.3.1 (2026-03-28) - **安全标头** (SEC-08):CSP,HSTS (1 年 + 预加载),X-Frame-Options DENY,X-Content-Type-Options,X-XSS-Protection,Referrer-Policy,Permissions-Policy - **OpenAPI 3.1.0 规范**:完整的 API 文档位于 `/api/openapi.json` — 所有 32 个带有标记、参数、安全方案的端点 - **187 个单元测试**:增加了安全性、验证、中间件的覆盖率 (从 168 个增加而来) - **构建**:204 KB (57 个模块) ### v9.3.0 (2026-03-28) - **子路由器架构** (COD-04):将 2,485 行的 api.ts 拆分为 6 个集中模块 - **TypeScript 接口** (COD-03):用 40+ 个类型化接口替换了 137 个 `any` 类型 - **熔断器** (REL-03):自动跳过失败的源,5 分钟恢复,半开状态 - **结构化 JSON 日志记录** (OBS-01):带有 requestId 追踪的 JSON 日志 - **响应分页** (PER-05):`?page=1&pageSize=50`,最多 200 条/页 - **异常告警 Webhook** (OBS-05):将严重异常 POST 到 Discord/Slack/自定义端点 - **168 个单元测试** (TST-02+):所有模块的覆盖率增加 4 倍 - **认证中间件** (SEC-06):所有写入端点上的 Bearer 令牌认证 - **请求指标** (OBS-04):每端点延迟,错误率,KV 持久化 - **全局限速** (SEC-05):每个 IP 每分钟 60 次请求,基于 KV 支持 - **CORS 加固** (SEC-07):受限来源 - **CI/CD 管道** (OPS-02):GitHub Actions 测试 → 构建 → 部署 - **负载测试脚本** (TST-03):`scripts/load-test.sh` 基线基准 ## 数据架构 - **数据库**:Cloudflare D1 (SQLite,`cbrn-watch-production`) - `nuclear_facilities` — 遍布 36 个国家的 192 个 CBRN 设施 - `threat_history` — 时间序列威胁快照 - `anomaly_log` — 带有严重性/类别的已检测异常 - `intel_reports` — 分析师情报报告 - **缓存**:Cloudflare KV (可选) - 源抓取缓存 (5 分钟 TTL) - 限速计数器 (2 分钟 TTL) - 请求指标 (每小时分段,2 小时 TTL) - Google Trends 缓存 (1 小时 TTL) - **密钥**:`API_AUTH_KEY`,`SERPAPI_KEY`,`ALERT_WEBHOOK_URL` ## 部署 ### 本地开发 ``` npm install npm run build npm run db:migrate:local # Apply D1 migrations npm run db:seed # Seed test data pm2 start ecosystem.config.cjs # Start on port 3000 ``` ### 生产环境 (Cloudflare Pages) ``` npm run build npx wrangler pages deploy dist --project-name cbrn-watch npx wrangler pages secret put API_AUTH_KEY --project-name cbrn-watch npx wrangler pages secret put SERPAPI_KEY --project-name cbrn-watch ``` ### CI/CD GitHub Actions 工作流位于 `.github/workflows/ci.yml`: - **测试**:`npm run test` (187 个 vitest 测试) - **构建**:`npm run build` (Vite SSR,204 KB 输出) - **部署**:推送到 `main` 分支时执行 `wrangler pages deploy` ## 质量评分 (v9.3.2) | 领域 | 等级 | 状态 | |--------|-------|--------| | 安全性 | A | 认证,限速,CORS,CSP,HSTS,XFO,Permissions-Policy | | 数据完整性 | A | 确定性 ID,验证,保留清理 | | 可靠性 | A | 熔断器,错误恢复,优雅降级 | | 代码质量 | A | 子路由器,类型化接口,新代码中 0 个 `any` | | 性能 | A- | KV 缓存,批量抓取,分页 | | 测试 | A | 187 个测试,全部通过,覆盖所有模块 | | 可观测性 | A- | JSON 日志,请求指标,异常 Webhook | | 文档 | A | OpenAPI 3.1.0 规范,详尽的 README | | 数据覆盖范围 | A+ | 192 个设施,36 个国家,103 个 OSINT 源 | | 部署 | A | Vite 构建,wrangler 部署,CI/CD 管道,GitHub 发布 | | **总体** | **A++++** | **生产就绪,已部署至 cbrn-watch.pages.dev** | ## 剩余待办事项 - [ ] 每端点限速 (目前仅限全局) - [ ] 使用模拟 D1 进行集成测试 - [ ] PWA/service worker 以支持离线功能 - [ ] 仪表板指标管理 UI ## 项目结构 ``` webapp/ ├── src/ │ ├── index.tsx # App entry point, CORS, health check │ ├── routes/ │ │ ├── api.ts # Core API endpoints (674 lines) │ │ ├── trends.ts # Google Trends endpoints (554 lines) │ │ ├── history.ts # Threat history endpoints (513 lines) │ │ ├── detection.ts # Statistical detection (197 lines) │ │ ├── admin.ts # Admin/monitoring endpoints (262 lines) │ │ ├── middleware.ts # Shared middleware & helpers (439 lines) │ │ └── helpers.ts # Legacy helpers (95 lines) │ ├── lib/ │ │ ├── ai-engine.ts # AI Signal Intelligence Engine (921 lines) │ │ ├── detection.ts # 5-algorithm statistical engine (693 lines) │ │ ├── convergence.ts # Multi-Signal Convergence (282 lines) │ │ ├── fetcher.ts # RSS/JSON/XML parser + cache (438 lines) │ │ └── utils.ts # Shared utilities (43 lines) │ ├── types/ │ │ └── index.ts # TypeScript interfaces (536 lines) │ └── data/ │ └── sources.ts # 88 OSINT source definitions (938 lines) ├── tests/ │ └── core.test.ts # 187 unit tests ├── public/ │ ├── index.html # SPA shell (1,597 lines) │ └── static/ │ ├── app.js # Frontend application (5,553 lines) │ └── styles.css # Tailwind + custom styles (821 lines) ├── migrations/ │ ├── 0001_initial_schema.sql │ └── 0002_threat_history.sql ├── ecosystem.config.cjs # PM2 configuration ├── wrangler.jsonc # Cloudflare configuration ├── vite.config.ts # Vite build configuration ├── package.json # Dependencies & scripts └── tsconfig.json # TypeScript configuration ``` ## 最后更新 - **v11.1.0**:2026-03-30 — A++++ 升级:WATCHCON,Dempster-Shafer,Holt-Winters,15 个新 OSINT 源,前端板 - **v11.0.0**:2026-03-30 — ASCE v3.0 (9 层分类器,40+ 个 2026 威胁短语),ASIE v3.0 (多假设,WATCHCON,地理聚集度),抓取器 v5.0 - **v10.0.0**:2026-03-29 — 跨整个技术栈的防御级加固 - **v9.3.2**:2026-03-28 — 遍布 36 个国家的 192 个设施,完全重命名为 cbrn-watch,已部署 - **v9.3.1**:2026-03-28 — 安全标头,OpenAPI 规范,187 个测试 - **v9.3.0**:2026-03-28 — 子路由器,类型化接口,熔断器,JSON 日志记录,分页,Webhook 告警
标签:AI分析, CBRN监测, Chart.js, Cloudflare D1, Cloudflare Pages, Dempster-Shafer理论, DNS解析, ESC4, GitHub, Holt-Winters, Hono, HTTP/HTTPS抓包, Leaflet.js, OSINT, Tailwind CSS, TypeScript, Vite, 人工智能, 代码示例, 国防级安全, 地理空间分析, 威胁建模, 威胁情报, 安全插件, 实时处理, 密码管理, 开发者工具, 开源项目, 态势感知, 数据分析, 数据源监控, 时序分析, 核生化威胁, 热点分析, 用户模式Hook绕过, 程序员工具, 网络安全, 自动化攻击, 边缘计算, 隐私保护, 预测性情报