feat: sync version-driven intel coverage

这个提交包含在:
hao
2026-03-21 18:18:55 -07:00
父节点 2d92ef6bce
当前提交 bfd7d732ae
修改 8778 个文件,包含 354337 行新增4720 行删除

查看文件

@@ -87,7 +87,7 @@
<h1>当前架构库镜像</h1>
<div class="meta">工作台内置镜像页:当前架构库结构化数据镜像。</div>
<pre>{
&quot;generated_at&quot;: &quot;2026-03-21T13:36:59+00:00&quot;,
&quot;generated_at&quot;: &quot;2026-03-22T01:17:39+00:00&quot;,
&quot;title&quot;: &quot;当前架构库&quot;,
&quot;summary&quot;: &quot;工作台、控制面、数据层、授权边界与系统覆盖的当前真值视图。&quot;,
&quot;sections&quot;: [
@@ -115,11 +115,11 @@
},
{
&quot;label&quot;: &quot;已编目实体&quot;,
&quot;value&quot;: &quot;99&quot;
&quot;value&quot;: &quot;109&quot;
},
{
&quot;label&quot;: &quot;发现 backlog&quot;,
&quot;value&quot;: &quot;17&quot;
&quot;value&quot;: &quot;7&quot;
},
{
&quot;label&quot;: &quot;当前运行&quot;,
@@ -145,7 +145,7 @@
},
{
&quot;label&quot;: &quot;生成时间&quot;,
&quot;value&quot;: &quot;2026-03-21T13:36:59+00:00&quot;
&quot;value&quot;: &quot;2026-03-22T01:17:39+00:00&quot;
}
],
&quot;links&quot;: [
@@ -388,6 +388,11 @@
&quot;href&quot;: &quot;/docs/entity-discovery-backlog.html&quot;,
&quot;description&quot;: &quot;待编目 repo / 插件 / 包 backlog 与等待原因。&quot;
},
{
&quot;label&quot;: &quot;version sync report&quot;,
&quot;href&quot;: &quot;/docs/version-sync-report.html&quot;,
&quot;description&quot;: &quot;安全相关版本同步、source-gap 与版本驱动 lab enqueue 摘要。&quot;
},
{
&quot;label&quot;: &quot;repro-map 真值&quot;,
&quot;href&quot;: &quot;/docs/repro-map.html&quot;,
@@ -448,6 +453,21 @@
&quot;href&quot;: &quot;/data/entity-queues.json&quot;,
&quot;description&quot;: &quot;discovery/history/latest/workflow 四类队列摘要。&quot;
},
{
&quot;label&quot;: &quot;version-completeness.json&quot;,
&quot;href&quot;: &quot;/data/version-completeness.json&quot;,
&quot;description&quot;: &quot;最新版本同步覆盖、安全相关版本历史与 auto-promoted 统计。&quot;
},
{
&quot;label&quot;: &quot;version-backlog.json&quot;,
&quot;href&quot;: &quot;/data/version-backlog.json&quot;,
&quot;description&quot;: &quot;source-gap、未解决版本缺口与 lab pending 队列。&quot;
},
{
&quot;label&quot;: &quot;release-index.json&quot;,
&quot;href&quot;: &quot;/data/release-index.json&quot;,
&quot;description&quot;: &quot;安全相关版本记录索引真值。&quot;
},
{
&quot;label&quot;: &quot;runs.json&quot;,
&quot;href&quot;: &quot;/runs.json&quot;,
@@ -505,6 +525,18 @@
&quot;label&quot;: &quot;实体队列&quot;,
&quot;value&quot;: &quot;/data/entity-queues.json&quot;
},
{
&quot;label&quot;: &quot;版本完整度&quot;,
&quot;value&quot;: &quot;/data/version-completeness.json&quot;
},
{
&quot;label&quot;: &quot;版本 backlog&quot;,
&quot;value&quot;: &quot;/data/version-backlog.json&quot;
},
{
&quot;label&quot;: &quot;版本索引&quot;,
&quot;value&quot;: &quot;/data/release-index.json&quot;
},
{
&quot;label&quot;: &quot;默认入口&quot;,
&quot;value&quot;: &quot;/index.html&quot;
@@ -4302,7 +4334,7 @@
&quot;fields&quot;: [
{
&quot;label&quot;: &quot;官方来源&quot;,
&quot;value&quot;: &quot;Elastic Security Announcements\nElastic Security Announcements RSS\nNVD Kibana&quot;
&quot;value&quot;: &quot;Elastic Product Security\nElastic Security Announcements RSS\nNVD Kibana&quot;
},
{
&quot;label&quot;: &quot;生态来源&quot;,

查看文件

@@ -88,9 +88,9 @@
<div class="meta">工作台内置镜像页分层实体覆盖、history-full 完整度和 workflow 统计。</div>
<pre># 分层实体覆盖与完整度报告
- 生成时间: `2026-03-21T13:36:59+00:00`
- 已编目实体: `99`
- 待编目 backlog: `17`
- 生成时间: `2026-03-22T01:17:37+00:00`
- 已编目实体: `109`
- 待编目 backlog: `7`
- history-full 已完成: `40`
- latest green: `99`
- workflow 完整: `99`
@@ -110,7 +110,7 @@
| aspnet-core | 1 | 0 | 1 | 0 | 1 | 0 |
| astro | 3 | 0 | 3 | 3 | 3 | 1 |
| caddy | 3 | 0 | 3 | 2 | 3 | 1 |
| directus | 1 | 1 | 1 | 0 | 1 | 0 |
| directus | 2 | 0 | 1 | 0 | 1 | 0 |
| discourse | 1 | 0 | 1 | 0 | 1 | 0 |
| django | 2 | 0 | 2 | 1 | 2 | 0 |
| drupal | 1 | 0 | 1 | 0 | 1 | 0 |
@@ -119,7 +119,7 @@
| express | 1 | 0 | 1 | 0 | 1 | 0 |
| fastify | 2 | 0 | 2 | 2 | 2 | 0 |
| flask | 2 | 0 | 2 | 2 | 2 | 0 |
| ghost | 1 | 1 | 1 | 0 | 1 | 0 |
| ghost | 2 | 0 | 1 | 0 | 1 | 0 |
| gin | 2 | 0 | 2 | 2 | 2 | 0 |
| gitea | 1 | 1 | 1 | 0 | 1 | 0 |
| gitlab-ce | 1 | 0 | 1 | 0 | 1 | 0 |
@@ -131,7 +131,7 @@
| kibana | 1 | 0 | 1 | 0 | 1 | 0 |
| koa | 2 | 0 | 2 | 2 | 2 | 0 |
| laravel | 2 | 0 | 2 | 2 | 2 | 0 |
| magento-open-source | 1 | 1 | 1 | 0 | 1 | 0 |
| magento-open-source | 2 | 0 | 1 | 0 | 1 | 0 |
| mattermost | 5 | 0 | 5 | 5 | 5 | 1 |
| mediawiki | 1 | 0 | 1 | 0 | 1 | 0 |
| medusa | 1 | 1 | 1 | 0 | 1 | 0 |
@@ -141,19 +141,19 @@
| nginx | 1 | 0 | 1 | 0 | 1 | 0 |
| nodejs | 1 | 0 | 1 | 0 | 1 | 0 |
| nuxt | 2 | 1 | 2 | 1 | 2 | 0 |
| opencart | 1 | 1 | 1 | 0 | 1 | 0 |
| openmage | 1 | 1 | 1 | 0 | 1 | 0 |
| opencart | 2 | 0 | 1 | 0 | 1 | 0 |
| openmage | 2 | 0 | 1 | 0 | 1 | 0 |
| phpmyadmin | 1 | 0 | 1 | 0 | 1 | 0 |
| prestashop | 1 | 1 | 1 | 0 | 1 | 0 |
| prestashop | 2 | 0 | 1 | 0 | 1 | 0 |
| rails | 2 | 0 | 2 | 1 | 2 | 0 |
| react | 3 | 1 | 3 | 2 | 3 | 0 |
| redmine | 1 | 0 | 1 | 0 | 1 | 0 |
| saleor | 1 | 1 | 1 | 0 | 1 | 0 |
| shopware | 1 | 1 | 1 | 0 | 1 | 0 |
| saleor | 2 | 0 | 1 | 0 | 1 | 0 |
| shopware | 2 | 0 | 1 | 0 | 1 | 0 |
| spring-boot | 2 | 0 | 2 | 1 | 2 | 0 |
| spring-framework | 1 | 0 | 1 | 0 | 1 | 0 |
| spring-security | 2 | 0 | 2 | 1 | 2 | 0 |
| strapi | 1 | 1 | 1 | 0 | 1 | 0 |
| strapi | 2 | 0 | 1 | 0 | 1 | 0 |
| sveltekit | 2 | 0 | 2 | 2 | 2 | 0 |
| symfony | 2 | 0 | 2 | 2 | 2 | 0 |
| traefik | 3 | 0 | 3 | 2 | 3 | 1 |
@@ -162,7 +162,7 @@
| vue | 2 | 1 | 2 | 1 | 2 | 0 |
| webpack | 1 | 0 | 1 | 0 | 1 | 0 |
| werkzeug | 2 | 0 | 2 | 2 | 2 | 0 |
| woocommerce | 1 | 1 | 1 | 0 | 1 | 0 |
| woocommerce | 2 | 0 | 1 | 0 | 1 | 0 |
| wordpress | 1 | 0 | 1 | 0 | 1 | 0 |
</pre>
</div>

查看文件

@@ -88,28 +88,18 @@
<div class="meta">工作台内置镜像页:待编目 repo / 插件 / 包 backlog 与等待原因。</div>
<pre># 分层实体发现 Backlog
- 生成时间: `2026-03-21T13:36:59+00:00`
- 待编目数量: `17`
- 生成时间: `2026-03-22T01:17:37+00:00`
- 待编目数量: `7`
| candidate_id | root_system | entity_type | risk | reason | waiting_for | source |
| --- | --- | --- | --- | --- | --- | --- |
| directus--repo-candidate--https-github-com-directus-directus | directus | repo | medium | source catalog exposed a repo-like URL that is not yet cataloged as an entity | 确认是否应升级为 cataloged repo/package 实体并补齐历史漏洞 | https://github.com/directus/directus/security/advisories |
| ghost--repo-candidate--https-github-com-tryghost-ghost | ghost | repo | medium | source catalog exposed a repo-like URL that is not yet cataloged as an entity | 确认是否应升级为 cataloged repo/package 实体并补齐历史漏洞 | https://github.com/TryGhost/Ghost/security/advisories |
| gitea--repo-candidate--https-github-com-go-gitea-gitea | gitea | repo | medium | source catalog exposed a repo-like URL that is not yet cataloged as an entity | 确认是否应升级为 cataloged repo/package 实体并补齐历史漏洞 | https://github.com/go-gitea/gitea/security/advisories |
| magento-open-source--repo-candidate--https-github-com-magento-magento2 | magento-open-source | repo | medium | source catalog exposed a repo-like URL that is not yet cataloged as an entity | 确认是否应升级为 cataloged repo/package 实体并补齐历史漏洞 | https://github.com/magento/magento2/security/advisories |
| medusa--repo-candidate--https-github-com-medusajs-medusa | medusa | repo | medium | source catalog exposed a repo-like URL that is not yet cataloged as an entity | 确认是否应升级为 cataloged repo/package 实体并补齐历史漏洞 | https://github.com/medusajs/medusa/security/advisories |
| nextjs--repo-candidate--https-github-com-vercel-next-js | nextjs | repo | medium | source catalog exposed a repo-like URL that is not yet cataloged as an entity | 确认是否应升级为 cataloged repo/package 实体并补齐历史漏洞 | https://github.com/vercel/next.js/security/advisories |
| nuxt--repo-candidate--https-github-com-nuxt-nuxt | nuxt | repo | medium | source catalog exposed a repo-like URL that is not yet cataloged as an entity | 确认是否应升级为 cataloged repo/package 实体并补齐历史漏洞 | https://github.com/nuxt/nuxt/security/advisories |
| opencart--repo-candidate--https-github-com-opencart-opencart | opencart | repo | medium | source catalog exposed a repo-like URL that is not yet cataloged as an entity | 确认是否应升级为 cataloged repo/package 实体并补齐历史漏洞 | https://github.com/opencart/opencart/releases |
| openmage--repo-candidate--https-github-com-openmage-magento-lts | openmage | repo | medium | source catalog exposed a repo-like URL that is not yet cataloged as an entity | 确认是否应升级为 cataloged repo/package 实体并补齐历史漏洞 | https://github.com/OpenMage/magento-lts/security/advisories |
| prestashop--repo-candidate--https-github-com-prestashop-prestashop | prestashop | repo | medium | source catalog exposed a repo-like URL that is not yet cataloged as an entity | 确认是否应升级为 cataloged repo/package 实体并补齐历史漏洞 | https://github.com/PrestaShop/PrestaShop/security/advisories |
| react--repo-candidate--https-github-com-facebook-react | react | repo | medium | source catalog exposed a repo-like URL that is not yet cataloged as an entity | 确认是否应升级为 cataloged repo/package 实体并补齐历史漏洞 | https://github.com/facebook/react/security/advisories |
| saleor--repo-candidate--https-github-com-saleor-saleor | saleor | repo | medium | source catalog exposed a repo-like URL that is not yet cataloged as an entity | 确认是否应升级为 cataloged repo/package 实体并补齐历史漏洞 | https://github.com/saleor/saleor/security/advisories |
| shopware--repo-candidate--https-github-com-shopware-shopware | shopware | repo | medium | source catalog exposed a repo-like URL that is not yet cataloged as an entity | 确认是否应升级为 cataloged repo/package 实体并补齐历史漏洞 | https://github.com/shopware/shopware/security/advisories |
| strapi--repo-candidate--https-github-com-strapi-strapi | strapi | repo | medium | source catalog exposed a repo-like URL that is not yet cataloged as an entity | 确认是否应升级为 cataloged repo/package 实体并补齐历史漏洞 | https://github.com/strapi/strapi/security/advisories |
| vite--repo-candidate--https-github-com-vitejs-vite | vite | repo | medium | source catalog exposed a repo-like URL that is not yet cataloged as an entity | 确认是否应升级为 cataloged repo/package 实体并补齐历史漏洞 | https://github.com/vitejs/vite/security/advisories |
| vue--repo-candidate--https-github-com-vuejs-core | vue | repo | medium | source catalog exposed a repo-like URL that is not yet cataloged as an entity | 确认是否应升级为 cataloged repo/package 实体并补齐历史漏洞 | https://github.com/vuejs/core/security |
| woocommerce--repo-candidate--https-github-com-woocommerce-woocommerce | woocommerce | repo | medium | source catalog exposed a repo-like URL that is not yet cataloged as an entity | 确认是否应升级为 cataloged repo/package 实体并补齐历史漏洞 | https://github.com/woocommerce/woocommerce/security/advisories |
| gitea--repo-candidate--https-github-com-go-gitea-gitea | gitea | repo | medium | source catalog exposed a stable security-related object that is not yet cataloged as an entity | 确认是否应升级为 cataloged repo/plugin/package 实体并补齐安全相关版本与历史漏洞 | https://github.com/go-gitea/gitea/security/advisories |
| medusa--repo-candidate--https-github-com-medusajs-medusa | medusa | repo | medium | source catalog exposed a stable security-related object that is not yet cataloged as an entity | 确认是否应升级为 cataloged repo/plugin/package 实体并补齐安全相关版本与历史漏洞 | https://github.com/medusajs/medusa/security/advisories |
| nextjs--repo-candidate--https-github-com-vercel-next-js | nextjs | repo | medium | source catalog exposed a stable security-related object that is not yet cataloged as an entity | 确认是否应升级为 cataloged repo/plugin/package 实体并补齐安全相关版本与历史漏洞 | https://github.com/vercel/next.js/security/advisories |
| nuxt--repo-candidate--https-github-com-nuxt-nuxt | nuxt | repo | medium | source catalog exposed a stable security-related object that is not yet cataloged as an entity | 确认是否应升级为 cataloged repo/plugin/package 实体并补齐安全相关版本与历史漏洞 | https://github.com/nuxt/nuxt/security/advisories |
| react--repo-candidate--https-github-com-facebook-react | react | repo | medium | source catalog exposed a stable security-related object that is not yet cataloged as an entity | 确认是否应升级为 cataloged repo/plugin/package 实体并补齐安全相关版本与历史漏洞 | https://github.com/facebook/react/security/advisories |
| vite--repo-candidate--https-github-com-vitejs-vite | vite | repo | medium | source catalog exposed a stable security-related object that is not yet cataloged as an entity | 确认是否应升级为 cataloged repo/plugin/package 实体并补齐安全相关版本与历史漏洞 | https://github.com/vitejs/vite/security/advisories |
| vue--repo-candidate--https-github-com-vuejs-core | vue | repo | medium | source catalog exposed a stable security-related object that is not yet cataloged as an entity | 确认是否应升级为 cataloged repo/plugin/package 实体并补齐安全相关版本与历史漏洞 | https://github.com/vuejs/core/security |
</pre>
</div>
</main>

查看文件

@@ -476,27 +476,15 @@
{
&quot;system_id&quot;: &quot;kibana&quot;,
&quot;display_name&quot;: &quot;Kibana&quot;,
&quot;source_name&quot;: &quot;Elastic Security Announcements&quot;,
&quot;source_name&quot;: &quot;Elastic Security Announcements RSS&quot;,
&quot;bucket&quot;: &quot;official_sources&quot;,
&quot;kind&quot;: &quot;html-links&quot;,
&quot;retired_reason&quot;: &quot;Elastic Security Announcements RSS is the official machine-readable replacement; keeping both active adds duplicate cold-start cost without added coverage.&quot;,
&quot;kind&quot;: &quot;rss-feed&quot;,
&quot;retired_reason&quot;: &quot;Elastic Discuss RSS is frequently rate-limited by cloud_10_secs_limit during monitor/source-health bursts; use Elastic Product Security plus NVD Kibana for stable active coverage.&quot;,
&quot;replacement_sources&quot;: [
&quot;Elastic Security Announcements RSS&quot;
&quot;Elastic Product Security&quot;,
&quot;NVD Kibana&quot;
],
&quot;url&quot;: &quot;https://discuss.elastic.co/c/announcements/security-announcements/31&quot;
},
{
&quot;system_id&quot;: &quot;kibana&quot;,
&quot;display_name&quot;: &quot;Kibana&quot;,
&quot;source_name&quot;: &quot;NVD Kibana&quot;,
&quot;bucket&quot;: &quot;official_sources&quot;,
&quot;kind&quot;: &quot;nvd-search&quot;,
&quot;retired_reason&quot;: &quot;Elastic Security Announcements RSS provides an official machine-readable feed, replacing NVD public search.&quot;,
&quot;replacement_sources&quot;: [
&quot;Elastic Security Announcements&quot;,
&quot;Elastic Security Announcements RSS&quot;
],
&quot;url&quot;: &quot;&quot;
&quot;url&quot;: &quot;https://discuss.elastic.co/c/announcements/security-announcements/31.rss&quot;
},
{
&quot;system_id&quot;: &quot;koa&quot;,

查看文件

@@ -88,11 +88,11 @@
<div class="meta">工作台内置镜像页active/retired source、replacement map 与覆盖摘要。</div>
<pre># Source Catalog Audit
- generated_at: `2026-03-21T09:17:05+00:00`
- generated_at: `2026-03-22T01:17:13+00:00`
- systems: `62`
- sources: `179`
- active_sources: `101`
- retired_sources: `78`
- active_sources: `102`
- retired_sources: `77`
- systems_with_active_official: `61/62`
- systems_with_machine_readable_source: `61/62`
@@ -129,8 +129,7 @@
- `jenkins` `Jenkins Security Advisories` -&gt; replacements: `Jenkins Security Advisories RSS` | reason: Jenkins Security Advisories RSS is the official machine-readable replacement; keeping both active adds duplicate cold-start cost without added coverage.
- `jenkins` `NVD Jenkins` -&gt; replacements: `Jenkins Security Advisories, Jenkins Security Advisories RSS` | reason: Jenkins Security Advisories RSS provides an official machine-readable feed, replacing NVD public search.
- `joomla` `NVD Joomla` -&gt; replacements: `Joomla Security Centre, OSV Joomla` | reason: OSV Joomla CMS replaces NVD for machine-readable collection without public NVD throttling.
- `kibana` `Elastic Security Announcements` -&gt; replacements: `Elastic Security Announcements RSS` | reason: Elastic Security Announcements RSS is the official machine-readable replacement; keeping both active adds duplicate cold-start cost without added coverage.
- `kibana` `NVD Kibana` -&gt; replacements: `Elastic Security Announcements, Elastic Security Announcements RSS` | reason: Elastic Security Announcements RSS provides an official machine-readable feed, replacing NVD public search.
- `kibana` `Elastic Security Announcements RSS` -&gt; replacements: `Elastic Product Security, NVD Kibana` | reason: Elastic Discuss RSS is frequently rate-limited by cloud_10_secs_limit during monitor/source-health bursts; use Elastic Product Security plus NVD Kibana for stable active coverage.
- `koa` `GitHub Global Advisories` -&gt; replacements: `OSV Koa` | reason: Unauthenticated GHSA API requests are rate-limited in daily monitoring; OSV Koa remains the active replacement source.
- `laravel` `GitHub Global Advisories` -&gt; replacements: `OSV Laravel` | reason: Unauthenticated GitHub advisory API is quota-limited; OSV Laravel remains the active machine-readable source.
- `magento-open-source` `NVD Magento` -&gt; replacements: `Magento GitHub Advisories, OSV Magento Open Source` | reason: OSV Magento Open Source plus Magento GitHub advisories replace NVD public search for machine-readable collection.

查看文件

@@ -2460,16 +2460,16 @@ systems:
tier: rolling-24m
advisory_modes: [core, plugin]
official_sources:
- name: Elastic Security Announcements
- name: Elastic Product Security
kind: html-links
url: https://discuss.elastic.co/c/announcements/security-announcements/31
url: https://www.elastic.co/product-security
confidence: official
advisory_mode: core
keywords: [kibana, elastic, security]
max_items: 60
status: retired
retired_reason: Elastic Security Announcements RSS is the official machine-readable replacement; keeping both active adds duplicate cold-start cost without added coverage.
replacement_sources: [Elastic Security Announcements RSS]
max_items: 20
parser_hints:
include_url_patterns:
- &quot;https://discuss\\.elastic\\.co/c/announcements/security-announcements&quot;
- name: Elastic Security Announcements RSS
kind: rss-feed
url: https://discuss.elastic.co/c/announcements/security-announcements/31.rss
@@ -2477,15 +2477,18 @@ systems:
advisory_mode: core
keywords: [kibana, elastic, security]
max_items: 60
status: retired
retired_reason: Elastic Discuss RSS is frequently rate-limited by cloud_10_secs_limit during monitor/source-health bursts; use Elastic Product Security plus NVD Kibana for stable active coverage.
replacement_sources: [Elastic Product Security, NVD Kibana]
health_policy:
retries: 4
backoff_seconds: 3.5
- name: NVD Kibana
kind: nvd-search
keyword: Kibana
confidence: official
advisory_mode: core
results_per_page: 40
status: retired
retired_reason: Elastic Security Announcements RSS provides an official machine-readable feed, replacing NVD public search.
replacement_sources: [Elastic Security Announcements, Elastic Security Announcements RSS]
ecosystem_sources: []
research_sources: []
package_names: []

查看文件

@@ -88,17 +88,17 @@
<div class="meta">工作台内置镜像页89 条 advisory 最新完整度、family 矩阵与 ingest 健康度。</div>
<pre># 全库 Advisory 完整度报告
- 生成时间: `2026-03-21T13:36:59+00:00`
- 生成时间: `2026-03-22T01:17:39+00:00`
- 最新 advisory 完整度: `89/89` `verified-real`
- 合成验证数量: `0`
- 阻塞数量: `0`
- 人工/待补证据数量: `0`
- 完整度百分比: `100.0%`
- active source 全绿: `26/101`
- source open alerts: `75`
- 最近一次 source 全绿: `2026-03-20T15:45:58+00:00`
- 已编目实体: `99`
- 待编目 backlog: `17`
- active source 全绿: `102/102`
- source open alerts: `0`
- 最近一次 source 全绿: `2026-03-22T01:17:22+00:00`
- 已编目实体: `109`
- 待编目 backlog: `7`
## 系统覆盖矩阵
@@ -129,12 +129,10 @@
## Ingest / Source 健康度
- source failures: `2`
- active sources: `101`
- green sources: `26`
- open alerts: `75`
- directus::OSV Directus::network::HTTPSConnectionPool(host=&#x27;api.osv.dev&#x27;, port=443): Read timed out. (read timeout=30)
- moodle::OSV Moodle::network::HTTPSConnectionPool(host=&#x27;api.osv.dev&#x27;, port=443): Read timed out. (read timeout=30)
- source failures: `0`
- active sources: `102`
- green sources: `102`
- open alerts: `0`
## 剩余风险说明

查看文件

@@ -0,0 +1,170 @@
<!doctype html>
<html lang="zh-CN">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>安全相关版本同步报告</title>
<style>
:root {
--bg: #08111f;
--panel: rgba(9, 18, 32, 0.9);
--border: rgba(137, 171, 214, 0.2);
--text: #f7fafc;
--muted: #9fb3ca;
--accent: #5eead4;
}
* { box-sizing: border-box; }
body {
margin: 0;
min-height: 100vh;
font-family: "IBM Plex Sans", "Segoe UI", sans-serif;
color: var(--text);
background:
radial-gradient(circle at top left, rgba(94, 234, 212, 0.12), transparent 26%),
linear-gradient(160deg, #050c16 0%, #091526 50%, #10233d 100%);
}
main {
max-width: 1080px;
margin: 0 auto;
padding: 32px 20px 40px;
}
.panel {
background: var(--panel);
border: 1px solid var(--border);
border-radius: 20px;
padding: 24px;
box-shadow: 0 24px 80px rgba(1, 7, 20, 0.45);
}
.actions {
display: flex;
flex-wrap: wrap;
gap: 12px;
margin-bottom: 18px;
}
.chip {
display: inline-flex;
align-items: center;
gap: 8px;
border-radius: 999px;
border: 1px solid var(--border);
padding: 10px 14px;
color: var(--text);
background: rgba(255,255,255,0.05);
text-decoration: none;
}
.chip:hover { border-color: rgba(94, 234, 212, 0.42); }
h1 {
margin: 0 0 12px;
font-family: "IBM Plex Serif", Georgia, serif;
font-size: clamp(1.8rem, 4vw, 3rem);
line-height: 1.08;
}
.meta {
color: var(--muted);
margin-bottom: 18px;
}
pre {
margin: 0;
padding: 20px;
overflow: auto;
border-radius: 16px;
border: 1px solid rgba(137, 171, 214, 0.12);
background: rgba(2, 8, 22, 0.84);
color: #d6e5f5;
font-family: "IBM Plex Mono", "SFMono-Regular", monospace;
font-size: 0.92rem;
line-height: 1.6;
white-space: pre-wrap;
}
</style>
</head>
<body>
<main>
<div class="panel">
<div class="actions">
<a class="chip" href="/overview/index.html">返回工作台</a>
</div>
<h1>安全相关版本同步报告</h1>
<div class="meta">工作台内置镜像页安全相关版本历史、source-gap 与版本驱动 lab enqueue 摘要。</div>
<pre># 安全相关版本同步报告
- 生成时间: `2026-03-22T01:17:38+00:00`
- 已编目实体: `109`
- 最新版本已同步: `94`
- 版本 source-gap: `15`
- 安全相关版本记录: `6183`
- 存在安全版本历史的实体: `82`
- 自动升级实体: `10`
- 因版本变化触发 lab 入队: `0`
## 系统版本摘要
| 系统 | cataloged | latest synced | source-gap | security versions | auto-promoted |
| --- | ---: | ---: | ---: | ---: | ---: |
| adminer | 1 | 0 | 1 | 0 | 0 |
| adobe-commerce | 1 | 0 | 1 | 0 | 0 |
| angular | 2 | 2 | 0 | 18 | 0 |
| apache-httpd | 1 | 1 | 0 | 1 | 0 |
| apache-tomcat | 1 | 1 | 0 | 2 | 0 |
| aspnet-core | 1 | 0 | 1 | 0 | 0 |
| astro | 3 | 3 | 0 | 30 | 0 |
| caddy | 3 | 3 | 0 | 4 | 0 |
| directus | 2 | 2 | 0 | 2 | 1 |
| discourse | 1 | 1 | 0 | 78 | 0 |
| django | 2 | 2 | 0 | 182 | 0 |
| drupal | 1 | 1 | 0 | 74 | 0 |
| echo | 2 | 2 | 0 | 4 | 0 |
| esbuild | 2 | 2 | 0 | 2 | 0 |
| express | 1 | 0 | 1 | 0 | 0 |
| fastify | 2 | 2 | 0 | 2 | 0 |
| flask | 2 | 2 | 0 | 22 | 0 |
| ghost | 2 | 2 | 0 | 0 | 1 |
| gin | 2 | 2 | 0 | 2 | 0 |
| gitea | 1 | 0 | 1 | 0 | 0 |
| gitlab-ce | 1 | 1 | 0 | 612 | 0 |
| grafana | 1 | 0 | 1 | 0 | 0 |
| hapi | 2 | 2 | 0 | 4 | 0 |
| haproxy | 1 | 1 | 0 | 1 | 0 |
| jenkins | 1 | 0 | 1 | 0 | 0 |
| joomla | 1 | 1 | 0 | 5 | 0 |
| kibana | 1 | 0 | 1 | 0 | 0 |
| koa | 2 | 2 | 0 | 4 | 0 |
| laravel | 2 | 2 | 0 | 103 | 0 |
| magento-open-source | 2 | 2 | 0 | 6 | 1 |
| mattermost | 5 | 5 | 0 | 3792 | 0 |
| mediawiki | 1 | 1 | 0 | 252 | 0 |
| medusa | 1 | 0 | 1 | 0 | 0 |
| moodle | 1 | 0 | 1 | 0 | 0 |
| nestjs | 1 | 0 | 1 | 0 | 0 |
| nextjs | 2 | 2 | 0 | 168 | 0 |
| nginx | 1 | 0 | 1 | 0 | 0 |
| nodejs | 1 | 0 | 1 | 0 | 0 |
| nuxt | 2 | 2 | 0 | 11 | 0 |
| opencart | 2 | 2 | 0 | 4 | 1 |
| openmage | 2 | 2 | 0 | 0 | 1 |
| phpmyadmin | 1 | 1 | 0 | 0 | 0 |
| prestashop | 2 | 2 | 0 | 18 | 1 |
| rails | 2 | 2 | 0 | 102 | 0 |
| react | 3 | 3 | 0 | 18 | 0 |
| redmine | 1 | 1 | 0 | 0 | 0 |
| saleor | 2 | 2 | 0 | 0 | 1 |
| shopware | 2 | 2 | 0 | 0 | 1 |
| spring-boot | 2 | 2 | 0 | 22 | 0 |
| spring-framework | 1 | 0 | 1 | 0 | 0 |
| spring-security | 2 | 2 | 0 | 92 | 0 |
| strapi | 2 | 2 | 0 | 0 | 1 |
| sveltekit | 2 | 2 | 0 | 4 | 0 |
| symfony | 2 | 2 | 0 | 220 | 0 |
| traefik | 3 | 3 | 0 | 63 | 0 |
| undici | 3 | 3 | 0 | 25 | 0 |
| vite | 5 | 5 | 0 | 150 | 0 |
| vue | 2 | 2 | 0 | 2 | 0 |
| webpack | 1 | 0 | 1 | 0 | 0 |
| werkzeug | 2 | 2 | 0 | 22 | 0 |
| woocommerce | 2 | 2 | 0 | 6 | 1 |
| wordpress | 1 | 1 | 0 | 54 | 0 |
</pre>
</div>
</main>
</body>
</html>