更新: 103 个文件 - 2026-03-18 19:24:37
这个提交包含在:
@@ -87,7 +87,7 @@
|
||||
<h1>当前架构库镜像</h1>
|
||||
<div class="meta">工作台内置镜像页:当前架构库结构化数据镜像。</div>
|
||||
<pre>{
|
||||
"generated_at": "2026-03-18T21:23:23+00:00",
|
||||
"generated_at": "2026-03-19T02:23:04+00:00",
|
||||
"title": "当前架构库",
|
||||
"summary": "工作台、控制面、数据层、授权边界与系统覆盖的当前真值视图。",
|
||||
"sections": [
|
||||
@@ -137,7 +137,7 @@
|
||||
},
|
||||
{
|
||||
"label": "生成时间",
|
||||
"value": "2026-03-18T21:23:23+00:00"
|
||||
"value": "2026-03-19T02:23:04+00:00"
|
||||
}
|
||||
],
|
||||
"links": [
|
||||
@@ -688,7 +688,7 @@
|
||||
"badges": [
|
||||
"历史全量",
|
||||
"官方源 2",
|
||||
"生态源 2",
|
||||
"生态源 1",
|
||||
"研究源 0"
|
||||
],
|
||||
"fields": [
|
||||
@@ -725,7 +725,7 @@
|
||||
},
|
||||
{
|
||||
"label": "生态来源",
|
||||
"value": "Drupal Security Advisories Site\nGHSA Drupal Core"
|
||||
"value": "OSV Drupal"
|
||||
},
|
||||
{
|
||||
"label": "研究来源",
|
||||
@@ -773,7 +773,7 @@
|
||||
"badges": [
|
||||
"历史全量",
|
||||
"官方源 2",
|
||||
"生态源 0",
|
||||
"生态源 1",
|
||||
"研究源 0"
|
||||
],
|
||||
"fields": [
|
||||
@@ -810,7 +810,7 @@
|
||||
},
|
||||
{
|
||||
"label": "生态来源",
|
||||
"value": "-"
|
||||
"value": "OSV Ghost"
|
||||
},
|
||||
{
|
||||
"label": "研究来源",
|
||||
@@ -858,7 +858,7 @@
|
||||
"badges": [
|
||||
"历史全量",
|
||||
"官方源 2",
|
||||
"生态源 0",
|
||||
"生态源 1",
|
||||
"研究源 0"
|
||||
],
|
||||
"fields": [
|
||||
@@ -895,7 +895,7 @@
|
||||
},
|
||||
{
|
||||
"label": "生态来源",
|
||||
"value": "-"
|
||||
"value": "OSV Joomla"
|
||||
},
|
||||
{
|
||||
"label": "研究来源",
|
||||
@@ -943,7 +943,7 @@
|
||||
"badges": [
|
||||
"近两年全量",
|
||||
"官方源 3",
|
||||
"生态源 0",
|
||||
"生态源 1",
|
||||
"研究源 0"
|
||||
],
|
||||
"fields": [
|
||||
@@ -980,7 +980,7 @@
|
||||
},
|
||||
{
|
||||
"label": "生态来源",
|
||||
"value": "-"
|
||||
"value": "OSV MediaWiki"
|
||||
},
|
||||
{
|
||||
"label": "研究来源",
|
||||
@@ -1028,7 +1028,7 @@
|
||||
"badges": [
|
||||
"近两年全量",
|
||||
"官方源 2",
|
||||
"生态源 0",
|
||||
"生态源 1",
|
||||
"研究源 0"
|
||||
],
|
||||
"fields": [
|
||||
@@ -1065,7 +1065,7 @@
|
||||
},
|
||||
{
|
||||
"label": "生态来源",
|
||||
"value": "-"
|
||||
"value": "OSV Moodle"
|
||||
},
|
||||
{
|
||||
"label": "研究来源",
|
||||
@@ -1231,7 +1231,7 @@
|
||||
"fields": [
|
||||
{
|
||||
"label": "官方来源",
|
||||
"value": "WordPress Security News\nNVD WordPress"
|
||||
"value": "WordPress Security News RSS\nNVD WordPress"
|
||||
},
|
||||
{
|
||||
"label": "生态来源",
|
||||
@@ -4300,7 +4300,7 @@
|
||||
"badges": [
|
||||
"近两年全量",
|
||||
"官方源 3",
|
||||
"生态源 0",
|
||||
"生态源 1",
|
||||
"研究源 0"
|
||||
],
|
||||
"fields": [
|
||||
@@ -4337,7 +4337,7 @@
|
||||
},
|
||||
{
|
||||
"label": "生态来源",
|
||||
"value": "-"
|
||||
"value": "OSV Mattermost"
|
||||
},
|
||||
{
|
||||
"label": "研究来源",
|
||||
@@ -4385,7 +4385,7 @@
|
||||
"badges": [
|
||||
"近两年全量",
|
||||
"官方源 2",
|
||||
"生态源 0",
|
||||
"生态源 1",
|
||||
"研究源 0"
|
||||
],
|
||||
"fields": [
|
||||
@@ -4422,7 +4422,7 @@
|
||||
},
|
||||
{
|
||||
"label": "生态来源",
|
||||
"value": "-"
|
||||
"value": "OSV Redmine"
|
||||
},
|
||||
{
|
||||
"label": "研究来源",
|
||||
@@ -4470,7 +4470,7 @@
|
||||
"badges": [
|
||||
"近两年全量",
|
||||
"官方源 2",
|
||||
"生态源 0",
|
||||
"生态源 1",
|
||||
"研究源 0"
|
||||
],
|
||||
"fields": [
|
||||
@@ -4507,7 +4507,7 @@
|
||||
},
|
||||
{
|
||||
"label": "生态来源",
|
||||
"value": "-"
|
||||
"value": "OSV phpMyAdmin"
|
||||
},
|
||||
{
|
||||
"label": "研究来源",
|
||||
@@ -5362,7 +5362,7 @@
|
||||
"badges": [
|
||||
"历史全量",
|
||||
"官方源 2",
|
||||
"生态源 0",
|
||||
"生态源 1",
|
||||
"研究源 0"
|
||||
],
|
||||
"fields": [
|
||||
@@ -5399,7 +5399,7 @@
|
||||
},
|
||||
{
|
||||
"label": "生态来源",
|
||||
"value": "-"
|
||||
"value": "OSV OpenCart"
|
||||
},
|
||||
{
|
||||
"label": "研究来源",
|
||||
@@ -5447,7 +5447,7 @@
|
||||
"badges": [
|
||||
"近两年全量",
|
||||
"官方源 2",
|
||||
"生态源 0",
|
||||
"生态源 1",
|
||||
"研究源 0"
|
||||
],
|
||||
"fields": [
|
||||
@@ -5484,7 +5484,7 @@
|
||||
},
|
||||
{
|
||||
"label": "生态来源",
|
||||
"value": "-"
|
||||
"value": "OSV OpenMage"
|
||||
},
|
||||
{
|
||||
"label": "研究来源",
|
||||
@@ -5532,7 +5532,7 @@
|
||||
"badges": [
|
||||
"历史全量",
|
||||
"官方源 3",
|
||||
"生态源 1",
|
||||
"生态源 2",
|
||||
"研究源 0"
|
||||
],
|
||||
"fields": [
|
||||
@@ -5569,7 +5569,7 @@
|
||||
},
|
||||
{
|
||||
"label": "生态来源",
|
||||
"value": "Friends Of Presta Security"
|
||||
"value": "OSV PrestaShop\nFriends Of Presta Security"
|
||||
},
|
||||
{
|
||||
"label": "研究来源",
|
||||
@@ -5617,7 +5617,7 @@
|
||||
"badges": [
|
||||
"近两年全量",
|
||||
"官方源 2",
|
||||
"生态源 0",
|
||||
"生态源 1",
|
||||
"研究源 0"
|
||||
],
|
||||
"fields": [
|
||||
@@ -5654,7 +5654,7 @@
|
||||
},
|
||||
{
|
||||
"label": "生态来源",
|
||||
"value": "-"
|
||||
"value": "OSV Saleor"
|
||||
},
|
||||
{
|
||||
"label": "研究来源",
|
||||
@@ -5702,7 +5702,7 @@
|
||||
"badges": [
|
||||
"历史全量",
|
||||
"官方源 2",
|
||||
"生态源 0",
|
||||
"生态源 1",
|
||||
"研究源 0"
|
||||
],
|
||||
"fields": [
|
||||
@@ -5739,7 +5739,7 @@
|
||||
},
|
||||
{
|
||||
"label": "生态来源",
|
||||
"value": "-"
|
||||
"value": "OSV Shopware"
|
||||
},
|
||||
{
|
||||
"label": "研究来源",
|
||||
@@ -5787,7 +5787,7 @@
|
||||
"badges": [
|
||||
"历史全量",
|
||||
"官方源 3",
|
||||
"生态源 2",
|
||||
"生态源 3",
|
||||
"研究源 0"
|
||||
],
|
||||
"fields": [
|
||||
@@ -5824,7 +5824,7 @@
|
||||
},
|
||||
{
|
||||
"label": "生态来源",
|
||||
"value": "Patchstack Database\nWordfence Vulnerability Database"
|
||||
"value": "OSV WooCommerce\nPatchstack Database\nWordfence Vulnerability Database"
|
||||
},
|
||||
{
|
||||
"label": "研究来源",
|
||||
|
||||
@@ -125,7 +125,7 @@
|
||||
| Medusa | `ecommerce` | `rolling-24m` | `-` | `yes` | `15` | `0` | `2` | `seeded` | `real:0/synthetic:0/blocked:0` | `0` | `0` | `15` | `` |
|
||||
| Moodle | `cms` | `rolling-24m` | `-` | `yes` | `40` | `0` | `3` | `seeded` | `real:0/synthetic:0/blocked:0` | `0` | `0` | `40` | `2025-04-09T00:30:58.490` |
|
||||
| NestJS | `frameworks` | `rolling-24m` | `-` | `yes` | `2` | `0` | `3` | `seeded` | `real:0/synthetic:0/blocked:0` | `0` | `0` | `2` | `2026-03-02T20:30:10.923` |
|
||||
| Next.js | `frameworks` | `history-full` | `yes` | `yes` | `66` | `41` | `3` | `seeded` | `real:26/synthetic:0/blocked:0` | `21` | `26` | `25` | `2026-03-17T16:31:34.160932Z` |
|
||||
| Next.js | `frameworks` | `history-full` | `yes` | `yes` | `66` | `41` | `3` | `seeded` | `real:26/synthetic:0/blocked:0` | `21` | `26` | `25` | `2026-03-18T22:02:16.858114Z` |
|
||||
| Nginx | `servers` | `history-full` | `yes` | `yes` | `110` | `0` | `3` | `seeded` | `real:0/synthetic:0/blocked:0` | `0` | `0` | `110` | `2025-08-12T17:24:44.367` |
|
||||
| Node.js | `frameworks` | `history-full` | `yes` | `yes` | `8` | `0` | `3` | `seeded` | `real:0/synthetic:0/blocked:0` | `0` | `0` | `8` | `2025-01-21` |
|
||||
| Nuxt | `frameworks` | `history-full` | `yes` | `yes` | `28` | `5` | `3` | `seeded` | `real:0/synthetic:0/blocked:0` | `0` | `0` | `23` | `2025-09-18T13:04:21Z` |
|
||||
@@ -145,7 +145,7 @@
|
||||
| SvelteKit | `frameworks` | `rolling-24m` | `-` | `yes` | `3` | `3` | `2` | `seeded` | `real:0/synthetic:0/blocked:0` | `0` | `0` | `0` | `2026-02-28T06:27:26.115188Z` |
|
||||
| Symfony | `frameworks` | `rolling-24m` | `-` | `yes` | `9` | `9` | `3` | `seeded` | `real:0/synthetic:0/blocked:0` | `0` | `0` | `0` | `2026-03-13T22:16:14.858636Z` |
|
||||
| Traefik | `servers` | `rolling-24m` | `-` | `yes` | `43` | `0` | `2` | `seeded` | `real:0/synthetic:0/blocked:0` | `0` | `0` | `27` | `2026-03-18T13:59:10.423590Z` |
|
||||
| Undici | `frameworks` | `rolling-24m` | `-` | `yes` | `16` | `15` | `2` | `seeded` | `real:7/synthetic:0/blocked:0` | `0` | `7` | `1` | `2026-03-14T09:19:54.772219Z` |
|
||||
| Undici | `frameworks` | `rolling-24m` | `-` | `yes` | `16` | `15` | `2` | `seeded` | `real:7/synthetic:0/blocked:0` | `0` | `7` | `1` | `2026-03-18T23:58:57.714731Z` |
|
||||
| Vite | `frameworks` | `history-full` | `yes` | `yes` | `42` | `16` | `3` | `seeded` | `real:12/synthetic:0/blocked:0` | `12` | `12` | `26` | `2026-02-04T04:37:24.129476Z` |
|
||||
| Vue | `frameworks` | `history-full` | `yes` | `yes` | `15` | `1` | `3` | `seeded` | `real:0/synthetic:0/blocked:0` | `0` | `0` | `14` | `2024-10-24T19:12:14.925352Z` |
|
||||
| webpack | `frameworks` | `rolling-24m` | `-` | `yes` | `1` | `0` | `2` | `seeded` | `real:0/synthetic:0/blocked:0` | `0` | `0` | `1` | `2026-02-27T17:21:22.370` |
|
||||
|
||||
@@ -193,26 +193,13 @@
|
||||
{
|
||||
"system_id": "drupal",
|
||||
"display_name": "Drupal",
|
||||
"source_name": "Drupal Security Advisories Site",
|
||||
"bucket": "ecosystem_sources",
|
||||
"kind": "html-links",
|
||||
"retired_reason": "Drupal security index page became unstable for repeated HTML scraping; RSS + GHSA replacement is used for active monitoring.",
|
||||
"source_name": "NVD Drupal",
|
||||
"bucket": "official_sources",
|
||||
"kind": "nvd-search",
|
||||
"retired_reason": "OSV Drupal + Drupal official RSS now cover machine-readable collection with lower cold-start latency than NVD public search.",
|
||||
"replacement_sources": [
|
||||
"Drupal Security Advisories RSS",
|
||||
"GHSA Drupal Core"
|
||||
],
|
||||
"url": "https://www.drupal.org/security"
|
||||
},
|
||||
{
|
||||
"system_id": "drupal",
|
||||
"display_name": "Drupal",
|
||||
"source_name": "GHSA Drupal Core",
|
||||
"bucket": "ecosystem_sources",
|
||||
"kind": "ghsa-global",
|
||||
"retired_reason": "Unauthenticated GHSA API requests are rate-limited in daily monitoring; RSS and NVD remain active replacements.",
|
||||
"replacement_sources": [
|
||||
"Drupal Security Advisories RSS",
|
||||
"NVD Drupal"
|
||||
"OSV Drupal"
|
||||
],
|
||||
"url": ""
|
||||
},
|
||||
@@ -228,6 +215,18 @@
|
||||
],
|
||||
"url": ""
|
||||
},
|
||||
{
|
||||
"system_id": "esbuild",
|
||||
"display_name": "esbuild",
|
||||
"source_name": "NVD esbuild",
|
||||
"bucket": "ecosystem_sources",
|
||||
"kind": "nvd-search",
|
||||
"retired_reason": "OSV esbuild replaces NVD public search for lower-latency machine-readable collection.",
|
||||
"replacement_sources": [
|
||||
"OSV esbuild"
|
||||
],
|
||||
"url": ""
|
||||
},
|
||||
{
|
||||
"system_id": "express",
|
||||
"display_name": "Express",
|
||||
@@ -240,6 +239,18 @@
|
||||
],
|
||||
"url": ""
|
||||
},
|
||||
{
|
||||
"system_id": "express",
|
||||
"display_name": "Express",
|
||||
"source_name": "NVD Express.js",
|
||||
"bucket": "ecosystem_sources",
|
||||
"kind": "nvd-search",
|
||||
"retired_reason": "OSV Express replaces NVD public search for lower-latency machine-readable collection.",
|
||||
"replacement_sources": [
|
||||
"OSV Express"
|
||||
],
|
||||
"url": ""
|
||||
},
|
||||
{
|
||||
"system_id": "fastify",
|
||||
"display_name": "Fastify",
|
||||
@@ -264,6 +275,19 @@
|
||||
],
|
||||
"url": ""
|
||||
},
|
||||
{
|
||||
"system_id": "ghost",
|
||||
"display_name": "Ghost",
|
||||
"source_name": "NVD Ghost",
|
||||
"bucket": "official_sources",
|
||||
"kind": "nvd-search",
|
||||
"retired_reason": "OSV Ghost replaces NVD for machine-readable collection and keeps npm package alignment.",
|
||||
"replacement_sources": [
|
||||
"Ghost GitHub Advisories",
|
||||
"OSV Ghost"
|
||||
],
|
||||
"url": ""
|
||||
},
|
||||
{
|
||||
"system_id": "hapi",
|
||||
"display_name": "Hapi",
|
||||
@@ -288,6 +312,19 @@
|
||||
],
|
||||
"url": "https://www.haproxy.org/security/"
|
||||
},
|
||||
{
|
||||
"system_id": "joomla",
|
||||
"display_name": "Joomla",
|
||||
"source_name": "NVD Joomla",
|
||||
"bucket": "official_sources",
|
||||
"kind": "nvd-search",
|
||||
"retired_reason": "OSV Joomla CMS replaces NVD for machine-readable collection without public NVD throttling.",
|
||||
"replacement_sources": [
|
||||
"Joomla Security Centre",
|
||||
"OSV Joomla"
|
||||
],
|
||||
"url": ""
|
||||
},
|
||||
{
|
||||
"system_id": "koa",
|
||||
"display_name": "Koa",
|
||||
@@ -324,6 +361,19 @@
|
||||
],
|
||||
"url": "https://mattermost.com/security-updates/"
|
||||
},
|
||||
{
|
||||
"system_id": "mattermost",
|
||||
"display_name": "Mattermost",
|
||||
"source_name": "NVD Mattermost",
|
||||
"bucket": "official_sources",
|
||||
"kind": "nvd-search",
|
||||
"retired_reason": "Mattermost official JSON feed plus OSV Mattermost replace NVD for lower-latency machine-readable collection.",
|
||||
"replacement_sources": [
|
||||
"Mattermost Security Updates JSON",
|
||||
"OSV Mattermost"
|
||||
],
|
||||
"url": ""
|
||||
},
|
||||
{
|
||||
"system_id": "mediawiki",
|
||||
"display_name": "MediaWiki",
|
||||
@@ -337,6 +387,19 @@
|
||||
],
|
||||
"url": "https://www.mediawiki.org/wiki/Security"
|
||||
},
|
||||
{
|
||||
"system_id": "mediawiki",
|
||||
"display_name": "MediaWiki",
|
||||
"source_name": "NVD MediaWiki",
|
||||
"bucket": "official_sources",
|
||||
"kind": "nvd-search",
|
||||
"retired_reason": "MediaWiki announce RSS plus OSV MediaWiki now replace NVD for lower-latency machine-readable collection.",
|
||||
"replacement_sources": [
|
||||
"MediaWiki Announce RSS",
|
||||
"OSV MediaWiki"
|
||||
],
|
||||
"url": ""
|
||||
},
|
||||
{
|
||||
"system_id": "moodle",
|
||||
"display_name": "Moodle",
|
||||
@@ -349,6 +412,18 @@
|
||||
],
|
||||
"url": "https://moodle.org/security/"
|
||||
},
|
||||
{
|
||||
"system_id": "moodle",
|
||||
"display_name": "Moodle",
|
||||
"source_name": "NVD Moodle",
|
||||
"bucket": "official_sources",
|
||||
"kind": "nvd-search",
|
||||
"retired_reason": "OSV Moodle replaces NVD for machine-readable collection while official Moodle sources remain for cross-checking.",
|
||||
"replacement_sources": [
|
||||
"OSV Moodle"
|
||||
],
|
||||
"url": ""
|
||||
},
|
||||
{
|
||||
"system_id": "nestjs",
|
||||
"display_name": "NestJS",
|
||||
@@ -361,6 +436,18 @@
|
||||
],
|
||||
"url": ""
|
||||
},
|
||||
{
|
||||
"system_id": "nestjs",
|
||||
"display_name": "NestJS",
|
||||
"source_name": "NVD NestJS",
|
||||
"bucket": "ecosystem_sources",
|
||||
"kind": "nvd-search",
|
||||
"retired_reason": "OSV NestJS replaces NVD public search for lower-latency machine-readable collection.",
|
||||
"replacement_sources": [
|
||||
"OSV NestJS"
|
||||
],
|
||||
"url": ""
|
||||
},
|
||||
{
|
||||
"system_id": "nextjs",
|
||||
"display_name": "Next.js",
|
||||
@@ -387,6 +474,59 @@
|
||||
],
|
||||
"url": ""
|
||||
},
|
||||
{
|
||||
"system_id": "opencart",
|
||||
"display_name": "OpenCart",
|
||||
"source_name": "NVD OpenCart",
|
||||
"bucket": "official_sources",
|
||||
"kind": "nvd-search",
|
||||
"retired_reason": "OSV OpenCart replaces NVD for machine-readable collection while official release source remains active.",
|
||||
"replacement_sources": [
|
||||
"OpenCart Releases",
|
||||
"OSV OpenCart"
|
||||
],
|
||||
"url": ""
|
||||
},
|
||||
{
|
||||
"system_id": "openmage",
|
||||
"display_name": "OpenMage / Mage-OS",
|
||||
"source_name": "NVD OpenMage",
|
||||
"bucket": "official_sources",
|
||||
"kind": "nvd-search",
|
||||
"retired_reason": "OSV OpenMage replaces NVD for machine-readable composer-aligned collection.",
|
||||
"replacement_sources": [
|
||||
"OpenMage GitHub Advisories",
|
||||
"OSV OpenMage"
|
||||
],
|
||||
"url": ""
|
||||
},
|
||||
{
|
||||
"system_id": "phpmyadmin",
|
||||
"display_name": "phpMyAdmin",
|
||||
"source_name": "NVD phpMyAdmin",
|
||||
"bucket": "official_sources",
|
||||
"kind": "nvd-search",
|
||||
"retired_reason": "OSV phpMyAdmin replaces NVD for machine-readable collection while the official security page remains active.",
|
||||
"replacement_sources": [
|
||||
"phpMyAdmin Security Page",
|
||||
"OSV phpMyAdmin"
|
||||
],
|
||||
"url": ""
|
||||
},
|
||||
{
|
||||
"system_id": "prestashop",
|
||||
"display_name": "PrestaShop",
|
||||
"source_name": "NVD PrestaShop",
|
||||
"bucket": "official_sources",
|
||||
"kind": "nvd-search",
|
||||
"retired_reason": "OSV PrestaShop replaces NVD for machine-readable collection while official and ecosystem advisories remain active.",
|
||||
"replacement_sources": [
|
||||
"PrestaShop Security Page",
|
||||
"GitHub PrestaShop Advisories",
|
||||
"OSV PrestaShop"
|
||||
],
|
||||
"url": ""
|
||||
},
|
||||
{
|
||||
"system_id": "rails",
|
||||
"display_name": "Ruby on Rails",
|
||||
@@ -399,6 +539,18 @@
|
||||
],
|
||||
"url": ""
|
||||
},
|
||||
{
|
||||
"system_id": "rails",
|
||||
"display_name": "Ruby on Rails",
|
||||
"source_name": "NVD Ruby on Rails",
|
||||
"bucket": "ecosystem_sources",
|
||||
"kind": "nvd-search",
|
||||
"retired_reason": "OSV Rails replaces NVD public search for lower-latency machine-readable collection.",
|
||||
"replacement_sources": [
|
||||
"OSV Rails"
|
||||
],
|
||||
"url": ""
|
||||
},
|
||||
{
|
||||
"system_id": "react",
|
||||
"display_name": "React",
|
||||
@@ -412,6 +564,44 @@
|
||||
],
|
||||
"url": ""
|
||||
},
|
||||
{
|
||||
"system_id": "redmine",
|
||||
"display_name": "Redmine",
|
||||
"source_name": "NVD Redmine",
|
||||
"bucket": "official_sources",
|
||||
"kind": "nvd-search",
|
||||
"retired_reason": "Official Redmine advisories page remains active and NVD public search is retired to reduce cold-start latency.",
|
||||
"replacement_sources": [
|
||||
"Redmine Security Advisories"
|
||||
],
|
||||
"url": ""
|
||||
},
|
||||
{
|
||||
"system_id": "saleor",
|
||||
"display_name": "Saleor",
|
||||
"source_name": "NVD Saleor",
|
||||
"bucket": "official_sources",
|
||||
"kind": "nvd-search",
|
||||
"retired_reason": "OSV Saleor replaces NVD for machine-readable collection and aligns with the published PyPI package.",
|
||||
"replacement_sources": [
|
||||
"GitHub Saleor Advisories",
|
||||
"OSV Saleor"
|
||||
],
|
||||
"url": ""
|
||||
},
|
||||
{
|
||||
"system_id": "shopware",
|
||||
"display_name": "Shopware",
|
||||
"source_name": "NVD Shopware",
|
||||
"bucket": "official_sources",
|
||||
"kind": "nvd-search",
|
||||
"retired_reason": "OSV Shopware replaces NVD for machine-readable collection with lower cold-start overhead.",
|
||||
"replacement_sources": [
|
||||
"Shopware Security Advisories",
|
||||
"OSV Shopware"
|
||||
],
|
||||
"url": ""
|
||||
},
|
||||
{
|
||||
"system_id": "spring-boot",
|
||||
"display_name": "Spring Boot",
|
||||
@@ -487,6 +677,18 @@
|
||||
],
|
||||
"url": ""
|
||||
},
|
||||
{
|
||||
"system_id": "undici",
|
||||
"display_name": "Undici",
|
||||
"source_name": "NVD Undici",
|
||||
"bucket": "ecosystem_sources",
|
||||
"kind": "nvd-search",
|
||||
"retired_reason": "OSV Undici replaces NVD public search for lower-latency machine-readable collection.",
|
||||
"replacement_sources": [
|
||||
"OSV Undici"
|
||||
],
|
||||
"url": ""
|
||||
},
|
||||
{
|
||||
"system_id": "vite",
|
||||
"display_name": "Vite",
|
||||
@@ -525,6 +727,18 @@
|
||||
],
|
||||
"url": ""
|
||||
},
|
||||
{
|
||||
"system_id": "webpack",
|
||||
"display_name": "webpack",
|
||||
"source_name": "NVD webpack",
|
||||
"bucket": "ecosystem_sources",
|
||||
"kind": "nvd-search",
|
||||
"retired_reason": "OSV webpack replaces NVD public search for lower-latency machine-readable collection.",
|
||||
"replacement_sources": [
|
||||
"OSV webpack"
|
||||
],
|
||||
"url": ""
|
||||
},
|
||||
{
|
||||
"system_id": "werkzeug",
|
||||
"display_name": "Werkzeug",
|
||||
@@ -536,6 +750,34 @@
|
||||
"OSV Werkzeug"
|
||||
],
|
||||
"url": ""
|
||||
},
|
||||
{
|
||||
"system_id": "woocommerce",
|
||||
"display_name": "WooCommerce",
|
||||
"source_name": "NVD WooCommerce",
|
||||
"bucket": "official_sources",
|
||||
"kind": "nvd-search",
|
||||
"retired_reason": "OSV WooCommerce replaces NVD for machine-readable collection while official and ecosystem advisory pages remain active.",
|
||||
"replacement_sources": [
|
||||
"Woo Developer Advisories",
|
||||
"GitHub WooCommerce Advisories",
|
||||
"OSV WooCommerce"
|
||||
],
|
||||
"url": ""
|
||||
},
|
||||
{
|
||||
"system_id": "wordpress",
|
||||
"display_name": "WordPress",
|
||||
"source_name": "NVD WordPress",
|
||||
"bucket": "official_sources",
|
||||
"kind": "nvd-search",
|
||||
"retired_reason": "WordPress official RSS plus ecosystem plugin intelligence cover active collection with lower cold-start latency and lower public-search dependence than NVD.",
|
||||
"replacement_sources": [
|
||||
"WordPress Security News RSS",
|
||||
"Wordfence Vulnerability Database",
|
||||
"WPScan Vulnerability Database"
|
||||
],
|
||||
"url": ""
|
||||
}
|
||||
]</pre>
|
||||
</div>
|
||||
|
||||
@@ -88,12 +88,12 @@
|
||||
<div class="meta">工作台内置镜像页:active/retired source、replacement map 与覆盖摘要。</div>
|
||||
<pre># Source Catalog Audit
|
||||
|
||||
- generated_at: `2026-03-18T21:16:34+00:00`
|
||||
- generated_at: `2026-03-19T02:22:09+00:00`
|
||||
- systems: `62`
|
||||
- sources: `161`
|
||||
- active_sources: `125`
|
||||
- retired_sources: `36`
|
||||
- systems_with_active_official: `62/62`
|
||||
- sources: `173`
|
||||
- active_sources: `118`
|
||||
- retired_sources: `55`
|
||||
- systems_with_active_official: `61/62`
|
||||
- systems_with_machine_readable_source: `62/62`
|
||||
|
||||
## Retired Sources
|
||||
@@ -106,34 +106,53 @@
|
||||
- `discourse` `Discourse Meta Security` -> replacements: `Discourse Release Notes RSS, GitHub Discourse Advisories` | reason: Meta security category HTML changed and no longer provides stable scrape semantics for health checks.
|
||||
- `discourse` `GitHub Discourse Advisories` -> replacements: `Discourse Release Notes RSS, Discourse Security RSS` | reason: Unauthenticated GHSA API requests are rate-limited in daily monitoring; Discourse release feed remains the active official source.
|
||||
- `django` `Django Security RSS` -> replacements: `Django Security Weblog, Django Security Releases Archive` | reason: Official security tag feed became unstable; use official weblog index and release archive instead.
|
||||
- `drupal` `Drupal Security Advisories Site` -> replacements: `Drupal Security Advisories RSS, GHSA Drupal Core` | reason: Drupal security index page became unstable for repeated HTML scraping; RSS + GHSA replacement is used for active monitoring.
|
||||
- `drupal` `GHSA Drupal Core` -> replacements: `Drupal Security Advisories RSS, NVD Drupal` | reason: Unauthenticated GHSA API requests are rate-limited in daily monitoring; RSS and NVD remain active replacements.
|
||||
- `drupal` `NVD Drupal` -> replacements: `Drupal Security Advisories RSS, OSV Drupal` | reason: OSV Drupal + Drupal official RSS now cover machine-readable collection with lower cold-start latency than NVD public search.
|
||||
- `esbuild` `GitHub Global Advisories` -> replacements: `OSV esbuild` | reason: Unauthenticated GHSA API requests are rate-limited in daily monitoring; OSV esbuild remains the active replacement source.
|
||||
- `esbuild` `NVD esbuild` -> replacements: `OSV esbuild` | reason: OSV esbuild replaces NVD public search for lower-latency machine-readable collection.
|
||||
- `express` `GitHub Global Advisories` -> replacements: `OSV Express` | reason: Unauthenticated GHSA API requests are rate-limited in daily monitoring; OSV Express remains the active replacement source.
|
||||
- `express` `NVD Express.js` -> replacements: `OSV Express` | reason: OSV Express replaces NVD public search for lower-latency machine-readable collection.
|
||||
- `fastify` `GitHub Global Advisories` -> replacements: `OSV Fastify` | reason: Unauthenticated GHSA API requests are rate-limited in daily monitoring; OSV Fastify remains the active replacement source.
|
||||
- `flask` `GitHub Global Advisories` -> replacements: `OSV Flask` | reason: Unauthenticated GitHub advisory API is quota-limited; OSV Flask remains the active machine-readable source.
|
||||
- `ghost` `NVD Ghost` -> replacements: `Ghost GitHub Advisories, OSV Ghost` | reason: OSV Ghost replaces NVD for machine-readable collection and keeps npm package alignment.
|
||||
- `hapi` `GitHub Global Advisories` -> replacements: `OSV Hapi` | reason: Unauthenticated GHSA API requests are rate-limited in daily monitoring; OSV Hapi remains the active replacement source.
|
||||
- `haproxy` `HAProxy Security Advisories` -> replacements: `HAProxy Blog Feed` | reason: Legacy haproxy.org security page no longer yields stable scrape results for monitoring.
|
||||
- `joomla` `NVD Joomla` -> replacements: `Joomla Security Centre, OSV Joomla` | reason: OSV Joomla CMS replaces NVD for machine-readable collection without public NVD throttling.
|
||||
- `koa` `GitHub Global Advisories` -> 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` -> replacements: `OSV Laravel` | reason: Unauthenticated GitHub advisory API is quota-limited; OSV Laravel remains the active machine-readable source.
|
||||
- `mattermost` `Mattermost Security Updates` -> replacements: `NVD Mattermost` | reason: Mattermost security updates page returned repeated 403 responses from the collector path; NVD replacement remains active.
|
||||
- `mattermost` `NVD Mattermost` -> replacements: `Mattermost Security Updates JSON, OSV Mattermost` | reason: Mattermost official JSON feed plus OSV Mattermost replace NVD for lower-latency machine-readable collection.
|
||||
- `mediawiki` `MediaWiki Security Releases` -> replacements: `MediaWiki Announce RSS, NVD MediaWiki` | reason: MediaWiki security page is no longer reachable reliably from the collector path; NVD replacement remains active.
|
||||
- `mediawiki` `NVD MediaWiki` -> replacements: `MediaWiki Announce RSS, OSV MediaWiki` | reason: MediaWiki announce RSS plus OSV MediaWiki now replace NVD for lower-latency machine-readable collection.
|
||||
- `moodle` `Moodle Security News` -> replacements: `NVD Moodle` | reason: Security page is reachable with a browser-style UA, but the current markup only exposes generic "Discuss this topic" anchors to the collector; NVD Moodle remains the active replacement source until a richer parser is added.
|
||||
- `moodle` `NVD Moodle` -> replacements: `OSV Moodle` | reason: OSV Moodle replaces NVD for machine-readable collection while official Moodle sources remain for cross-checking.
|
||||
- `nestjs` `GitHub Global Advisories` -> replacements: `OSV NestJS` | reason: Unauthenticated GHSA API requests are rate-limited in daily monitoring; OSV NestJS remains the active replacement source.
|
||||
- `nestjs` `NVD NestJS` -> replacements: `OSV NestJS` | reason: OSV NestJS replaces NVD public search for lower-latency machine-readable collection.
|
||||
- `nextjs` `GitHub Global Advisories` -> replacements: `GitHub Next.js Advisories, OSV Next.js` | reason: Unauthenticated GHSA API requests are rate-limited in daily monitoring; GitHub Next.js Advisories and OSV Next.js remain active replacements.
|
||||
- `nuxt` `GitHub Global Advisories` -> replacements: `Nuxt Security, OSV Nuxt` | reason: Unauthenticated GHSA API requests are rate-limited in daily monitoring; Nuxt Security and OSV Nuxt remain active replacements.
|
||||
- `opencart` `NVD OpenCart` -> replacements: `OpenCart Releases, OSV OpenCart` | reason: OSV OpenCart replaces NVD for machine-readable collection while official release source remains active.
|
||||
- `openmage` `NVD OpenMage` -> replacements: `OpenMage GitHub Advisories, OSV OpenMage` | reason: OSV OpenMage replaces NVD for machine-readable composer-aligned collection.
|
||||
- `phpmyadmin` `NVD phpMyAdmin` -> replacements: `phpMyAdmin Security Page, OSV phpMyAdmin` | reason: OSV phpMyAdmin replaces NVD for machine-readable collection while the official security page remains active.
|
||||
- `prestashop` `NVD PrestaShop` -> replacements: `PrestaShop Security Page, GitHub PrestaShop Advisories, OSV PrestaShop` | reason: OSV PrestaShop replaces NVD for machine-readable collection while official and ecosystem advisories remain active.
|
||||
- `rails` `GitHub Global Advisories` -> replacements: `OSV Rails` | reason: Unauthenticated GitHub advisory API is quota-limited; OSV Rails remains the active machine-readable source.
|
||||
- `rails` `NVD Ruby on Rails` -> replacements: `OSV Rails` | reason: OSV Rails replaces NVD public search for lower-latency machine-readable collection.
|
||||
- `react` `GitHub Global Advisories` -> replacements: `GitHub React Advisories, OSV React` | reason: Unauthenticated GHSA API requests are rate-limited in daily monitoring; GitHub React Advisories and OSV React remain active replacements.
|
||||
- `redmine` `NVD Redmine` -> replacements: `Redmine Security Advisories` | reason: Official Redmine advisories page remains active and NVD public search is retired to reduce cold-start latency.
|
||||
- `saleor` `NVD Saleor` -> replacements: `GitHub Saleor Advisories, OSV Saleor` | reason: OSV Saleor replaces NVD for machine-readable collection and aligns with the published PyPI package.
|
||||
- `shopware` `NVD Shopware` -> replacements: `Shopware Security Advisories, OSV Shopware` | reason: OSV Shopware replaces NVD for machine-readable collection with lower cold-start overhead.
|
||||
- `spring-boot` `GitHub Global Advisories` -> replacements: `Spring Security Advisories, OSV Spring Boot` | reason: Unauthenticated GitHub advisory API is quota-limited; Spring official page and OSV remain the active replacements.
|
||||
- `spring-framework` `GitHub Global Advisories` -> replacements: `Spring Security Advisories, OSV Spring Framework` | reason: Unauthenticated GHSA API requests are rate-limited in daily monitoring; Spring official page and OSV remain the active replacements.
|
||||
- `spring-security` `GitHub Global Advisories` -> replacements: `Spring Security Advisories, OSV Spring Security` | reason: Unauthenticated GitHub advisory API is quota-limited; Spring official page and OSV remain the active replacements.
|
||||
- `sveltekit` `GitHub Global Advisories` -> replacements: `OSV SvelteKit` | reason: Unauthenticated GHSA API requests are rate-limited in daily monitoring; OSV SvelteKit remains the active replacement source.
|
||||
- `symfony` `GitHub Global Advisories` -> replacements: `OSV Symfony` | reason: Unauthenticated GitHub advisory API is quota-limited; OSV Symfony remains the active machine-readable source.
|
||||
- `undici` `GitHub Global Advisories` -> replacements: `OSV Undici` | reason: Unauthenticated GHSA API requests are rate-limited in daily monitoring; OSV Undici remains the active replacement source.
|
||||
- `undici` `NVD Undici` -> replacements: `OSV Undici` | reason: OSV Undici replaces NVD public search for lower-latency machine-readable collection.
|
||||
- `vite` `GitHub Global Advisories` -> replacements: `Vite Security, OSV Vite` | reason: Unauthenticated GHSA API requests are rate-limited in daily monitoring; Vite Security and OSV Vite remain active replacements.
|
||||
- `vue` `GitHub Global Advisories` -> replacements: `Vue Security, OSV Vue` | reason: Unauthenticated GHSA API requests are rate-limited in daily monitoring; Vue Security and OSV Vue remain active replacements.
|
||||
- `webpack` `GitHub Global Advisories` -> replacements: `OSV webpack` | reason: Unauthenticated GHSA API requests are rate-limited in daily monitoring; OSV webpack remains the active replacement source.
|
||||
- `webpack` `NVD webpack` -> replacements: `OSV webpack` | reason: OSV webpack replaces NVD public search for lower-latency machine-readable collection.
|
||||
- `werkzeug` `GitHub Global Advisories` -> replacements: `OSV Werkzeug` | reason: Unauthenticated GitHub advisory API is quota-limited; OSV Werkzeug remains the active machine-readable source.
|
||||
- `woocommerce` `NVD WooCommerce` -> replacements: `Woo Developer Advisories, GitHub WooCommerce Advisories, OSV WooCommerce` | reason: OSV WooCommerce replaces NVD for machine-readable collection while official and ecosystem advisory pages remain active.
|
||||
- `wordpress` `NVD WordPress` -> replacements: `WordPress Security News RSS, Wordfence Vulnerability Database, WPScan Vulnerability Database` | reason: WordPress official RSS plus ecosystem plugin intelligence cover active collection with lower cold-start latency and lower public-search dependence than NVD.
|
||||
</pre>
|
||||
</div>
|
||||
</main>
|
||||
|
||||
@@ -94,19 +94,24 @@ systems:
|
||||
tier: history-full
|
||||
advisory_modes: [core, plugin]
|
||||
official_sources:
|
||||
- name: WordPress Security News
|
||||
kind: html-links
|
||||
url: https://wordpress.org/news/category/security/
|
||||
- name: WordPress Security News RSS
|
||||
kind: rss-feed
|
||||
url: https://wordpress.org/news/category/security/feed/
|
||||
confidence: official
|
||||
advisory_mode: core
|
||||
keywords: [wordpress, security, release]
|
||||
max_items: 40
|
||||
request_policy:
|
||||
user_agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36
|
||||
- name: NVD WordPress
|
||||
kind: nvd-search
|
||||
keyword: WordPress
|
||||
confidence: official
|
||||
advisory_mode: core
|
||||
results_per_page: 50
|
||||
status: retired
|
||||
retired_reason: WordPress official RSS plus ecosystem plugin intelligence cover active collection with lower cold-start latency and lower public-search dependence than NVD.
|
||||
replacement_sources: [WordPress Security News RSS, Wordfence Vulnerability Database, WPScan Vulnerability Database]
|
||||
ecosystem_sources:
|
||||
- name: Wordfence Vulnerability Database
|
||||
kind: html-links
|
||||
@@ -166,6 +171,9 @@ systems:
|
||||
confidence: official
|
||||
advisory_mode: core
|
||||
results_per_page: 50
|
||||
status: retired
|
||||
retired_reason: OSV Drupal + Drupal official RSS now cover machine-readable collection with lower cold-start latency than NVD public search.
|
||||
replacement_sources: [Drupal Security Advisories RSS, OSV Drupal]
|
||||
ecosystem_sources:
|
||||
- name: Drupal Security Advisories Site
|
||||
kind: html-links
|
||||
@@ -186,8 +194,13 @@ systems:
|
||||
retired_reason: Unauthenticated GHSA API requests are rate-limited in daily monitoring; RSS and NVD remain active replacements.
|
||||
replacement_sources: [Drupal Security Advisories RSS, NVD Drupal]
|
||||
research_sources: []
|
||||
ecosystem_sources:
|
||||
- name: OSV Drupal
|
||||
kind: osv-batch
|
||||
confidence: ecosystem-authority
|
||||
advisory_mode: core
|
||||
package_names:
|
||||
- ecosystem: composer
|
||||
- ecosystem: Packagist
|
||||
name: drupal/core
|
||||
cpe_keys: ["drupal:drupal"]
|
||||
ghsa_keywords: [drupal, drupal core]
|
||||
@@ -217,9 +230,18 @@ systems:
|
||||
confidence: official
|
||||
advisory_mode: core
|
||||
results_per_page: 50
|
||||
ecosystem_sources: []
|
||||
status: retired
|
||||
retired_reason: OSV Joomla CMS replaces NVD for machine-readable collection without public NVD throttling.
|
||||
replacement_sources: [Joomla Security Centre, OSV Joomla]
|
||||
ecosystem_sources:
|
||||
- name: OSV Joomla
|
||||
kind: osv-batch
|
||||
confidence: ecosystem-authority
|
||||
advisory_mode: core
|
||||
research_sources: []
|
||||
package_names: []
|
||||
package_names:
|
||||
- ecosystem: Packagist
|
||||
name: joomla/joomla-cms
|
||||
cpe_keys: ["joomla:joomla!"]
|
||||
ghsa_keywords: [joomla]
|
||||
kev_keywords: [joomla]
|
||||
@@ -248,7 +270,14 @@ systems:
|
||||
confidence: official
|
||||
advisory_mode: core
|
||||
results_per_page: 40
|
||||
ecosystem_sources: []
|
||||
status: retired
|
||||
retired_reason: OSV Ghost replaces NVD for machine-readable collection and keeps npm package alignment.
|
||||
replacement_sources: [Ghost GitHub Advisories, OSV Ghost]
|
||||
ecosystem_sources:
|
||||
- name: OSV Ghost
|
||||
kind: osv-batch
|
||||
confidence: ecosystem-authority
|
||||
advisory_mode: core
|
||||
research_sources: []
|
||||
package_names:
|
||||
- ecosystem: npm
|
||||
@@ -355,9 +384,18 @@ systems:
|
||||
confidence: official
|
||||
advisory_mode: core
|
||||
results_per_page: 40
|
||||
ecosystem_sources: []
|
||||
status: retired
|
||||
retired_reason: MediaWiki announce RSS plus OSV MediaWiki now replace NVD for lower-latency machine-readable collection.
|
||||
replacement_sources: [MediaWiki Announce RSS, OSV MediaWiki]
|
||||
ecosystem_sources:
|
||||
- name: OSV MediaWiki
|
||||
kind: osv-batch
|
||||
confidence: ecosystem-authority
|
||||
advisory_mode: core
|
||||
research_sources: []
|
||||
package_names: []
|
||||
package_names:
|
||||
- ecosystem: Packagist
|
||||
name: mediawiki/core
|
||||
cpe_keys: ["mediawiki:mediawiki"]
|
||||
ghsa_keywords: [mediawiki]
|
||||
kev_keywords: [mediawiki]
|
||||
@@ -394,9 +432,18 @@ systems:
|
||||
confidence: official
|
||||
advisory_mode: core
|
||||
results_per_page: 40
|
||||
ecosystem_sources: []
|
||||
status: retired
|
||||
retired_reason: OSV Moodle replaces NVD for machine-readable collection while official Moodle sources remain for cross-checking.
|
||||
replacement_sources: [OSV Moodle]
|
||||
ecosystem_sources:
|
||||
- name: OSV Moodle
|
||||
kind: osv-batch
|
||||
confidence: ecosystem-authority
|
||||
advisory_mode: core
|
||||
research_sources: []
|
||||
package_names: []
|
||||
package_names:
|
||||
- ecosystem: Packagist
|
||||
name: moodle/moodle
|
||||
cpe_keys: ["moodle:moodle"]
|
||||
ghsa_keywords: [moodle]
|
||||
kev_keywords: [moodle]
|
||||
@@ -592,10 +639,17 @@ systems:
|
||||
confidence: official
|
||||
advisory_mode: core
|
||||
results_per_page: 40
|
||||
ecosystem_sources: []
|
||||
status: retired
|
||||
retired_reason: OSV OpenMage replaces NVD for machine-readable composer-aligned collection.
|
||||
replacement_sources: [OpenMage GitHub Advisories, OSV OpenMage]
|
||||
ecosystem_sources:
|
||||
- name: OSV OpenMage
|
||||
kind: osv-batch
|
||||
confidence: ecosystem-authority
|
||||
advisory_mode: core
|
||||
research_sources: []
|
||||
package_names:
|
||||
- ecosystem: composer
|
||||
- ecosystem: Packagist
|
||||
name: openmage/magento-lts
|
||||
cpe_keys: []
|
||||
ghsa_keywords: [openmage, mage-os]
|
||||
@@ -631,7 +685,14 @@ systems:
|
||||
confidence: official
|
||||
advisory_mode: core
|
||||
results_per_page: 40
|
||||
status: retired
|
||||
retired_reason: OSV WooCommerce replaces NVD for machine-readable collection while official and ecosystem advisory pages remain active.
|
||||
replacement_sources: [Woo Developer Advisories, GitHub WooCommerce Advisories, OSV WooCommerce]
|
||||
ecosystem_sources:
|
||||
- name: OSV WooCommerce
|
||||
kind: osv-batch
|
||||
confidence: ecosystem-authority
|
||||
advisory_mode: core
|
||||
- name: Patchstack Database
|
||||
kind: html-links
|
||||
url: https://patchstack.com/database/
|
||||
@@ -650,7 +711,7 @@ systems:
|
||||
package_names:
|
||||
- ecosystem: npm
|
||||
name: "@woocommerce/blocks"
|
||||
- ecosystem: composer
|
||||
- ecosystem: Packagist
|
||||
name: woocommerce/woocommerce
|
||||
cpe_keys: []
|
||||
ghsa_keywords: [woocommerce]
|
||||
@@ -687,7 +748,14 @@ systems:
|
||||
confidence: official
|
||||
advisory_mode: core
|
||||
results_per_page: 40
|
||||
status: retired
|
||||
retired_reason: OSV PrestaShop replaces NVD for machine-readable collection while official and ecosystem advisories remain active.
|
||||
replacement_sources: [PrestaShop Security Page, GitHub PrestaShop Advisories, OSV PrestaShop]
|
||||
ecosystem_sources:
|
||||
- name: OSV PrestaShop
|
||||
kind: osv-batch
|
||||
confidence: ecosystem-authority
|
||||
advisory_mode: core
|
||||
- name: Friends Of Presta Security
|
||||
kind: html-links
|
||||
url: https://security.friendsofpresta.org/
|
||||
@@ -697,7 +765,7 @@ systems:
|
||||
max_items: 50
|
||||
research_sources: []
|
||||
package_names:
|
||||
- ecosystem: composer
|
||||
- ecosystem: Packagist
|
||||
name: prestashop/prestashop
|
||||
cpe_keys: ["prestashop:prestashop"]
|
||||
ghsa_keywords: [prestashop]
|
||||
@@ -727,10 +795,17 @@ systems:
|
||||
confidence: official
|
||||
advisory_mode: core
|
||||
results_per_page: 40
|
||||
ecosystem_sources: []
|
||||
status: retired
|
||||
retired_reason: OSV Shopware replaces NVD for machine-readable collection with lower cold-start overhead.
|
||||
replacement_sources: [Shopware Security Advisories, OSV Shopware]
|
||||
ecosystem_sources:
|
||||
- name: OSV Shopware
|
||||
kind: osv-batch
|
||||
confidence: ecosystem-authority
|
||||
advisory_mode: core
|
||||
research_sources: []
|
||||
package_names:
|
||||
- ecosystem: composer
|
||||
- ecosystem: Packagist
|
||||
name: shopware/platform
|
||||
cpe_keys: []
|
||||
ghsa_keywords: [shopware]
|
||||
@@ -759,10 +834,17 @@ systems:
|
||||
confidence: official
|
||||
advisory_mode: core
|
||||
results_per_page: 50
|
||||
ecosystem_sources: []
|
||||
status: retired
|
||||
retired_reason: OSV OpenCart replaces NVD for machine-readable collection while official release source remains active.
|
||||
replacement_sources: [OpenCart Releases, OSV OpenCart]
|
||||
ecosystem_sources:
|
||||
- name: OSV OpenCart
|
||||
kind: osv-batch
|
||||
confidence: ecosystem-authority
|
||||
advisory_mode: core
|
||||
research_sources: []
|
||||
package_names:
|
||||
- ecosystem: composer
|
||||
- ecosystem: Packagist
|
||||
name: opencart/opencart
|
||||
cpe_keys: ["opencart:opencart"]
|
||||
ghsa_keywords: [opencart]
|
||||
@@ -791,10 +873,17 @@ systems:
|
||||
confidence: official
|
||||
advisory_mode: core
|
||||
results_per_page: 40
|
||||
ecosystem_sources: []
|
||||
status: retired
|
||||
retired_reason: OSV Saleor replaces NVD for machine-readable collection and aligns with the published PyPI package.
|
||||
replacement_sources: [GitHub Saleor Advisories, OSV Saleor]
|
||||
ecosystem_sources:
|
||||
- name: OSV Saleor
|
||||
kind: osv-batch
|
||||
confidence: ecosystem-authority
|
||||
advisory_mode: core
|
||||
research_sources: []
|
||||
package_names:
|
||||
- ecosystem: pypi
|
||||
- ecosystem: PyPI
|
||||
name: saleor
|
||||
cpe_keys: []
|
||||
ghsa_keywords: [saleor]
|
||||
@@ -1157,6 +1246,9 @@ systems:
|
||||
confidence: ecosystem-authority
|
||||
advisory_mode: core
|
||||
results_per_page: 40
|
||||
status: retired
|
||||
retired_reason: OSV Express replaces NVD public search for lower-latency machine-readable collection.
|
||||
replacement_sources: [OSV Express]
|
||||
research_sources: []
|
||||
package_names:
|
||||
- ecosystem: npm
|
||||
@@ -1195,6 +1287,9 @@ systems:
|
||||
confidence: ecosystem-authority
|
||||
advisory_mode: core
|
||||
results_per_page: 40
|
||||
status: retired
|
||||
retired_reason: OSV NestJS replaces NVD public search for lower-latency machine-readable collection.
|
||||
replacement_sources: [OSV NestJS]
|
||||
research_sources: []
|
||||
package_names:
|
||||
- ecosystem: npm
|
||||
@@ -1359,6 +1454,9 @@ systems:
|
||||
confidence: ecosystem-authority
|
||||
advisory_mode: core
|
||||
results_per_page: 40
|
||||
status: retired
|
||||
retired_reason: OSV Undici replaces NVD public search for lower-latency machine-readable collection.
|
||||
replacement_sources: [OSV Undici]
|
||||
research_sources: []
|
||||
package_names:
|
||||
- ecosystem: npm
|
||||
@@ -1397,6 +1495,9 @@ systems:
|
||||
confidence: ecosystem-authority
|
||||
advisory_mode: core
|
||||
results_per_page: 40
|
||||
status: retired
|
||||
retired_reason: OSV webpack replaces NVD public search for lower-latency machine-readable collection.
|
||||
replacement_sources: [OSV webpack]
|
||||
research_sources: []
|
||||
package_names:
|
||||
- ecosystem: npm
|
||||
@@ -1435,6 +1536,9 @@ systems:
|
||||
confidence: ecosystem-authority
|
||||
advisory_mode: core
|
||||
results_per_page: 40
|
||||
status: retired
|
||||
retired_reason: OSV esbuild replaces NVD public search for lower-latency machine-readable collection.
|
||||
replacement_sources: [OSV esbuild]
|
||||
research_sources: []
|
||||
package_names:
|
||||
- ecosystem: npm
|
||||
@@ -1775,6 +1879,9 @@ systems:
|
||||
confidence: ecosystem-authority
|
||||
advisory_mode: core
|
||||
results_per_page: 40
|
||||
status: retired
|
||||
retired_reason: OSV Rails replaces NVD public search for lower-latency machine-readable collection.
|
||||
replacement_sources: [OSV Rails]
|
||||
research_sources: []
|
||||
package_names:
|
||||
- ecosystem: RubyGems
|
||||
@@ -2083,7 +2190,14 @@ systems:
|
||||
confidence: official
|
||||
advisory_mode: core
|
||||
results_per_page: 40
|
||||
ecosystem_sources: []
|
||||
status: retired
|
||||
retired_reason: OSV phpMyAdmin replaces NVD for machine-readable collection while the official security page remains active.
|
||||
replacement_sources: [phpMyAdmin Security Page, OSV phpMyAdmin]
|
||||
ecosystem_sources:
|
||||
- name: OSV phpMyAdmin
|
||||
kind: osv-batch
|
||||
confidence: ecosystem-authority
|
||||
advisory_mode: core
|
||||
research_sources: []
|
||||
package_names:
|
||||
- ecosystem: Packagist
|
||||
@@ -2299,6 +2413,9 @@ systems:
|
||||
confidence: official
|
||||
advisory_mode: core
|
||||
results_per_page: 40
|
||||
status: retired
|
||||
retired_reason: Mattermost official JSON feed plus OSV Mattermost replace NVD for lower-latency machine-readable collection.
|
||||
replacement_sources: [Mattermost Security Updates JSON, OSV Mattermost]
|
||||
- name: Mattermost Security Updates JSON
|
||||
kind: json-feed
|
||||
url: https://securityupdates.mattermost.com/security_updates.json
|
||||
@@ -2307,9 +2424,15 @@ systems:
|
||||
max_items: 600
|
||||
request_policy:
|
||||
accept: application/json
|
||||
ecosystem_sources: []
|
||||
ecosystem_sources:
|
||||
- name: OSV Mattermost
|
||||
kind: osv-batch
|
||||
confidence: ecosystem-authority
|
||||
advisory_mode: core
|
||||
research_sources: []
|
||||
package_names: []
|
||||
package_names:
|
||||
- ecosystem: Go
|
||||
name: github.com/mattermost/mattermost-server
|
||||
cpe_keys: ["mattermost:mattermost"]
|
||||
ghsa_keywords: [mattermost]
|
||||
kev_keywords: [mattermost]
|
||||
@@ -2337,7 +2460,14 @@ systems:
|
||||
confidence: official
|
||||
advisory_mode: core
|
||||
results_per_page: 40
|
||||
ecosystem_sources: []
|
||||
status: retired
|
||||
retired_reason: Official Redmine advisories page remains active and NVD public search is retired to reduce cold-start latency.
|
||||
replacement_sources: [Redmine Security Advisories]
|
||||
ecosystem_sources:
|
||||
- name: OSV Redmine
|
||||
kind: osv-batch
|
||||
confidence: ecosystem-authority
|
||||
advisory_mode: core
|
||||
research_sources: []
|
||||
package_names:
|
||||
- ecosystem: RubyGems
|
||||
|
||||
@@ -88,15 +88,15 @@
|
||||
<div class="meta">工作台内置镜像页:89 条 advisory 最新完整度、family 矩阵与 ingest 健康度。</div>
|
||||
<pre># 全库 Advisory 完整度报告
|
||||
|
||||
- 生成时间: `2026-03-18T21:23:23+00:00`
|
||||
- 生成时间: `2026-03-19T02:23:04+00:00`
|
||||
- 最新 advisory 完整度: `89/89` `verified-real`
|
||||
- 合成验证数量: `0`
|
||||
- 阻塞数量: `0`
|
||||
- 人工/待补证据数量: `0`
|
||||
- 完整度百分比: `100.0%`
|
||||
- active source 全绿: `125/125`
|
||||
- active source 全绿: `118/118`
|
||||
- source open alerts: `0`
|
||||
- 最近一次 source 全绿: `2026-03-18T21:09:25+00:00`
|
||||
- 最近一次 source 全绿: `2026-03-19T02:22:24+00:00`
|
||||
|
||||
## 系统覆盖矩阵
|
||||
|
||||
@@ -117,10 +117,14 @@
|
||||
|
||||
## Ingest / Source 健康度
|
||||
|
||||
- source failures: `0`
|
||||
- active sources: `125`
|
||||
- green sources: `125`
|
||||
- source failures: `4`
|
||||
- active sources: `118`
|
||||
- green sources: `118`
|
||||
- open alerts: `0`
|
||||
- django::OSV Django::tls::HTTPSConnectionPool(host='api.osv.dev', port=443): Max retries exceeded with url: /v1/querybatch (Caused by SSLError(SSLEOFError(8, 'EOF occurred in violation of protocol (_ssl.c:1129)')))
|
||||
- flask::OSV Flask::tls::HTTPSConnectionPool(host='api.osv.dev', port=443): Max retries exceeded with url: /v1/querybatch (Caused by SSLError(SSLEOFError(8, 'EOF occurred in violation of protocol (_ssl.c:1129)')))
|
||||
- spring-security::OSV Spring Security::tls::HTTPSConnectionPool(host='api.osv.dev', port=443): Max retries exceeded with url: /v1/querybatch (Caused by SSLError(SSLEOFError(8, 'EOF occurred in violation of protocol (_ssl.c:1129)')))
|
||||
- symfony::OSV Symfony::tls::HTTPSConnectionPool(host='api.osv.dev', port=443): Max retries exceeded with url: /v1/querybatch (Caused by SSLError(SSLEOFError(8, 'EOF occurred in violation of protocol (_ssl.c:1129)')))
|
||||
|
||||
## 剩余风险说明
|
||||
|
||||
|
||||
在新工单中引用
屏蔽一个用户