Wire local NVD key loading

这个提交包含在:
hao
2026-03-18 19:54:45 -07:00
父节点 baf8e8fa64
当前提交 eb0e5d587a
修改 85 个文件,包含 4123 行新增455 行删除

查看文件

@@ -73,6 +73,12 @@ python3 /Users/x/websafe/scripts/lab/main.py serve-dashboard --port 8734
- `NVD_API_KEY`
- 可选,用于提高 NVD 查询配额和稳定性。
本机私有环境文件:
- 默认自动加载 `$HOME/.config/websafe/env.sh`
- 适合放 `NVD_API_KEY``GITEA_TOKEN` 这类不应提交到仓库的本地密钥
- `scripts/sync-gitea.sh``scripts/intel/run-hourly.sh``scripts/intel/run-nightly.sh``scripts/intel/run-weekly-reconcile.sh` 会自动 source 这个文件
运行时建议:
- 使用独立虚拟环境安装 [requirements-intel.txt](/Users/x/websafe/requirements-intel.txt)。

查看文件

@@ -1,5 +1,5 @@
{
"generated_at": "2026-03-19T02:27:20+00:00",
"generated_at": "2026-03-19T02:54:09+00:00",
"title": "\u5f53\u524d\u67b6\u6784\u5e93",
"summary": "\u5de5\u4f5c\u53f0\u3001\u63a7\u5236\u9762\u3001\u6570\u636e\u5c42\u3001\u6388\u6743\u8fb9\u754c\u4e0e\u7cfb\u7edf\u8986\u76d6\u7684\u5f53\u524d\u771f\u503c\u89c6\u56fe\u3002",
"sections": [
@@ -49,7 +49,7 @@
},
{
"label": "\u751f\u6210\u65f6\u95f4",
"value": "2026-03-19T02:27:20+00:00"
"value": "2026-03-19T02:54:09+00:00"
}
],
"links": [

查看文件

@@ -1,5 +1,5 @@
{
"generated_at": "2026-03-19T02:27:20+00:00",
"generated_at": "2026-03-19T02:54:09+00:00",
"advisory_total": 89,
"registry_advisory_total": 2392,
"scope": "latest-run-backed-advisories",
@@ -175,18 +175,18 @@
"active_source_count": 118,
"green_source_count": 118,
"failure_count": 0,
"last_fully_green_run": "2026-03-19T02:27:12+00:00",
"last_fully_green_run": "2026-03-19T02:53:57+00:00",
"open_alert_count": 0,
"resolved_alert_count": 4
},
"monitor_summary": {
"generated_at": "2026-03-19T02:27:12+00:00",
"generated_at": "2026-03-19T02:53:57+00:00",
"active_source_count": 118,
"green_source_count": 118,
"source_failure_count": 0,
"open_alert_count": 0,
"resolved_alert_count": 4,
"last_fully_green_run": "2026-03-19T02:27:12+00:00",
"last_fully_green_run": "2026-03-19T02:53:57+00:00",
"source_catalog": {
"system_count": 62,
"source_count": 173,
@@ -194,12 +194,9 @@
},
"ingest": {
"new_count": 0,
"updated_count": 7,
"updated_count": 0,
"failure_count": 0,
"systems_touched": [
"nextjs",
"undici"
]
"systems_touched": []
},
"validation": {
"passed": true,

查看文件

@@ -1,11 +1,11 @@
{
"generated_at": "2026-03-19T02:27:12+00:00",
"generated_at": "2026-03-19T02:53:57+00:00",
"active_source_count": 118,
"green_source_count": 118,
"source_failure_count": 0,
"open_alert_count": 0,
"resolved_alert_count": 4,
"last_fully_green_run": "2026-03-19T02:27:12+00:00",
"last_fully_green_run": "2026-03-19T02:53:57+00:00",
"source_catalog": {
"system_count": 62,
"source_count": 173,
@@ -13,12 +13,9 @@
},
"ingest": {
"new_count": 0,
"updated_count": 7,
"updated_count": 0,
"failure_count": 0,
"systems_touched": [
"nextjs",
"undici"
]
"systems_touched": []
},
"validation": {
"passed": true,

查看文件

@@ -1,5 +1,5 @@
{
"generated_at": "2026-03-19T02:26:48+00:00",
"generated_at": "2026-03-19T02:53:49+00:00",
"system_count": 62,
"source_count": 173,
"active_source_count": 118,

查看文件

@@ -87,7 +87,7 @@
<h1>当前架构库镜像</h1>
<div class="meta">工作台内置镜像页:当前架构库结构化数据镜像。</div>
<pre>{
&quot;generated_at&quot;: &quot;2026-03-19T02:27:20+00:00&quot;,
&quot;generated_at&quot;: &quot;2026-03-19T02:54:09+00:00&quot;,
&quot;title&quot;: &quot;当前架构库&quot;,
&quot;summary&quot;: &quot;工作台、控制面、数据层、授权边界与系统覆盖的当前真值视图。&quot;,
&quot;sections&quot;: [
@@ -137,7 +137,7 @@
},
{
&quot;label&quot;: &quot;生成时间&quot;,
&quot;value&quot;: &quot;2026-03-19T02:27:20+00:00&quot;
&quot;value&quot;: &quot;2026-03-19T02:54:09+00:00&quot;
}
],
&quot;links&quot;: [

查看文件

@@ -88,7 +88,7 @@
<div class="meta">工作台内置镜像页active/retired source、replacement map 与覆盖摘要。</div>
<pre># Source Catalog Audit
- generated_at: `2026-03-19T02:26:48+00:00`
- generated_at: `2026-03-19T02:53:49+00:00`
- systems: `62`
- sources: `173`
- active_sources: `118`

查看文件

@@ -88,7 +88,7 @@
<div class="meta">工作台内置镜像页89 条 advisory 最新完整度、family 矩阵与 ingest 健康度。</div>
<pre># 全库 Advisory 完整度报告
- 生成时间: `2026-03-19T02:27:20+00:00`
- 生成时间: `2026-03-19T02:54:09+00:00`
- 最新 advisory 完整度: `89/89` `verified-real`
- 合成验证数量: `0`
- 阻塞数量: `0`
@@ -96,7 +96,7 @@
- 完整度百分比: `100.0%`
- active source 全绿: `118/118`
- source open alerts: `0`
- 最近一次 source 全绿: `2026-03-19T02:27:12+00:00`
- 最近一次 source 全绿: `2026-03-19T02:53:57+00:00`
## 系统覆盖矩阵

查看文件

@@ -1,5 +1,5 @@
{
"generated_at": "2026-03-19T02:27:20+00:00",
"generated_at": "2026-03-19T02:54:09+00:00",
"advisory_count": 2392,
"run_count": 140,
"statuses": {
@@ -158,7 +158,7 @@
"green_source_count": 118,
"source_failure_count": 0,
"open_alert_count": 0,
"last_fully_green_run": "2026-03-19T02:27:12+00:00"
"last_fully_green_run": "2026-03-19T02:53:57+00:00"
},
"systems": [
{

查看文件

@@ -1,11 +1,11 @@
# 最新同步摘要
- 渲染时间: `2026-03-19T02:27:20+00:00`
- 渲染时间: `2026-03-19T02:54:09+00:00`
- 系统数量: `62`
- Advisory 数量: `2348`
- 重点 Markdown 数量: `156`
- Run Bundle 数量: `89`
- 新增记录: `0`
- 更新记录: `7`
- 更新记录: `0`
- Triage 数量: `1169`
- 失败的 source adapter: `0`

查看文件

@@ -1,11 +1,11 @@
{
"generated_at": "2026-03-19T02:27:12+00:00",
"generated_at": "2026-03-19T02:53:57+00:00",
"active_source_count": 118,
"green_source_count": 118,
"source_failure_count": 0,
"open_alert_count": 0,
"resolved_alert_count": 4,
"last_fully_green_run": "2026-03-19T02:27:12+00:00",
"last_fully_green_run": "2026-03-19T02:53:57+00:00",
"source_catalog": {
"system_count": 62,
"source_count": 173,
@@ -13,12 +13,9 @@
},
"ingest": {
"new_count": 0,
"updated_count": 7,
"updated_count": 0,
"failure_count": 0,
"systems_touched": [
"nextjs",
"undici"
]
"systems_touched": []
},
"validation": {
"passed": true,

查看文件

@@ -1,14 +1,11 @@
{
"generated_at": "2026-03-19T02:27:20+00:00",
"generated_at": "2026-03-19T02:54:09+00:00",
"system_count": 62,
"advisory_count": 2348,
"markdown_count": 156,
"new_count": 0,
"updated_count": 7,
"systems_touched": [
"nextjs",
"undici"
],
"updated_count": 0,
"systems_touched": [],
"triage_count": 1169,
"run_bundle_count": 89,
"failures": []

查看文件

@@ -1,5 +1,5 @@
{
"generated_at": "2026-03-19T02:26:48+00:00",
"generated_at": "2026-03-19T02:53:49+00:00",
"system_count": 62,
"source_count": 173,
"active_source_count": 118,

查看文件

@@ -1,6 +1,6 @@
# Source Catalog Audit
- generated_at: `2026-03-19T02:26:48+00:00`
- generated_at: `2026-03-19T02:53:49+00:00`
- systems: `62`
- sources: `173`
- active_sources: `118`

文件差异内容过多而无法显示 加载差异

文件差异内容过多而无法显示 加载差异