Retired Sources & Replacement Map
工作台内置镜像页:退役源、退役原因和 replacement_sources 真值。
[
{
"system_id": "adobe-commerce",
"display_name": "Adobe Commerce",
"source_name": "Adobe Security Bulletins",
"bucket": "official_sources",
"kind": "html-links",
"retired_reason": "Original bulletin index probe was unstable under the old transport path; vendor index replacement uses explicit request policy and parser hints.",
"replacement_sources": [
"Adobe Magento Security Index",
"NVD Adobe Commerce",
"GHSA Adobe Commerce"
],
"url": "https://helpx.adobe.com/security/products/magento.html"
},
{
"system_id": "adobe-commerce",
"display_name": "Adobe Commerce",
"source_name": "GHSA Adobe Commerce",
"bucket": "ecosystem_sources",
"kind": "ghsa-global",
"retired_reason": "Unauthenticated GHSA API requests are rate-limited in daily monitoring; Adobe index and NVD remain active replacements.",
"replacement_sources": [
"Adobe Magento Security Index",
"NVD Adobe Commerce"
],
"url": ""
},
{
"system_id": "adobe-commerce",
"display_name": "Adobe Commerce",
"source_name": "Sansec Research",
"bucket": "ecosystem_sources",
"kind": "vendor-index",
"retired_reason": "Research index is too slow for daily active monitoring; GHSA Adobe Commerce provides a stable machine-readable replacement.",
"replacement_sources": [
"GHSA Adobe Commerce",
"Adobe Magento Security Index"
],
"url": "https://sansec.io/research"
},
{
"system_id": "angular",
"display_name": "Angular",
"source_name": "GitHub Global Advisories",
"bucket": "official_sources",
"kind": "ghsa-global",
"retired_reason": "Unauthenticated GHSA API requests are rate-limited in daily monitoring; OSV Angular remains the active replacement source.",
"replacement_sources": [
"OSV Angular"
],
"url": ""
},
{
"system_id": "astro",
"display_name": "Astro",
"source_name": "GitHub Global Advisories",
"bucket": "official_sources",
"kind": "ghsa-global",
"retired_reason": "Unauthenticated GHSA API requests are rate-limited in daily monitoring; OSV Astro remains the active replacement source.",
"replacement_sources": [
"OSV Astro"
],
"url": ""
},
{
"system_id": "discourse",
"display_name": "Discourse",
"source_name": "Discourse Meta Security",
"bucket": "official_sources",
"kind": "html-links",
"retired_reason": "Meta security category HTML changed and no longer provides stable scrape semantics for health checks.",
"replacement_sources": [
"Discourse Release Notes RSS",
"GitHub Discourse Advisories"
],
"url": "https://meta.discourse.org/c/bug/security/40"
},
{
"system_id": "discourse",
"display_name": "Discourse",
"source_name": "GitHub Discourse Advisories",
"bucket": "official_sources",
"kind": "ghsa-global",
"retired_reason": "Unauthenticated GHSA API requests are rate-limited in daily monitoring; Discourse release feed remains the active official source.",
"replacement_sources": [
"Discourse Release Notes RSS"
],
"url": ""
},
{
"system_id": "django",
"display_name": "Django",
"source_name": "Django Security RSS",
"bucket": "official_sources",
"kind": "rss-feed",
"retired_reason": "Official security tag feed became unstable; use official weblog index and release archive instead.",
"replacement_sources": [
"Django Security Weblog",
"Django Security Releases Archive"
],
"url": "https://www.djangoproject.com/weblog/feeds/tags/security/"
},
{
"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.",
"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"
],
"url": ""
},
{
"system_id": "esbuild",
"display_name": "esbuild",
"source_name": "GitHub Global Advisories",
"bucket": "official_sources",
"kind": "ghsa-global",
"retired_reason": "Unauthenticated GHSA API requests are rate-limited in daily monitoring; OSV esbuild remains the active replacement source.",
"replacement_sources": [
"OSV esbuild"
],
"url": ""
},
{
"system_id": "express",
"display_name": "Express",
"source_name": "GitHub Global Advisories",
"bucket": "official_sources",
"kind": "ghsa-global",
"retired_reason": "Unauthenticated GHSA API requests are rate-limited in daily monitoring; OSV Express remains the active replacement source.",
"replacement_sources": [
"OSV Express"
],
"url": ""
},
{
"system_id": "fastify",
"display_name": "Fastify",
"source_name": "GitHub Global Advisories",
"bucket": "official_sources",
"kind": "ghsa-global",
"retired_reason": "Unauthenticated GHSA API requests are rate-limited in daily monitoring; OSV Fastify remains the active replacement source.",
"replacement_sources": [
"OSV Fastify"
],
"url": ""
},
{
"system_id": "flask",
"display_name": "Flask",
"source_name": "GitHub Global Advisories",
"bucket": "official_sources",
"kind": "ghsa-global",
"retired_reason": "Unauthenticated GitHub advisory API is quota-limited; OSV Flask remains the active machine-readable source.",
"replacement_sources": [
"OSV Flask"
],
"url": ""
},
{
"system_id": "hapi",
"display_name": "Hapi",
"source_name": "GitHub Global Advisories",
"bucket": "official_sources",
"kind": "ghsa-global",
"retired_reason": "Unauthenticated GHSA API requests are rate-limited in daily monitoring; OSV Hapi remains the active replacement source.",
"replacement_sources": [
"OSV Hapi"
],
"url": ""
},
{
"system_id": "haproxy",
"display_name": "HAProxy",
"source_name": "HAProxy Security Advisories",
"bucket": "official_sources",
"kind": "html-links",
"retired_reason": "Legacy haproxy.org security page no longer yields stable scrape results for monitoring.",
"replacement_sources": [
"HAProxy Blog Feed"
],
"url": "https://www.haproxy.org/security/"
},
{
"system_id": "koa",
"display_name": "Koa",
"source_name": "GitHub Global Advisories",
"bucket": "official_sources",
"kind": "ghsa-global",
"retired_reason": "Unauthenticated GHSA API requests are rate-limited in daily monitoring; OSV Koa remains the active replacement source.",
"replacement_sources": [
"OSV Koa"
],
"url": ""
},
{
"system_id": "laravel",
"display_name": "Laravel",
"source_name": "GitHub Global Advisories",
"bucket": "official_sources",
"kind": "ghsa-global",
"retired_reason": "Unauthenticated GitHub advisory API is quota-limited; OSV Laravel remains the active machine-readable source.",
"replacement_sources": [
"OSV Laravel"
],
"url": ""
},
{
"system_id": "mattermost",
"display_name": "Mattermost",
"source_name": "Mattermost Security Updates",
"bucket": "official_sources",
"kind": "html-links",
"retired_reason": "Mattermost security updates page returned repeated 403 responses from the collector path; NVD replacement remains active.",
"replacement_sources": [
"NVD Mattermost"
],
"url": "https://mattermost.com/security-updates/"
},
{
"system_id": "mediawiki",
"display_name": "MediaWiki",
"source_name": "MediaWiki Security Releases",
"bucket": "official_sources",
"kind": "html-links",
"retired_reason": "MediaWiki security page is no longer reachable reliably from the collector path; NVD replacement remains active.",
"replacement_sources": [
"NVD MediaWiki"
],
"url": "https://www.mediawiki.org/wiki/Security"
},
{
"system_id": "moodle",
"display_name": "Moodle",
"source_name": "Moodle Security News",
"bucket": "official_sources",
"kind": "html-links",
"retired_reason": "Moodle security page returned repeated 403 responses from the collector path; NVD replacement remains active.",
"replacement_sources": [
"NVD Moodle"
],
"url": "https://moodle.org/security/"
},
{
"system_id": "nestjs",
"display_name": "NestJS",
"source_name": "GitHub Global Advisories",
"bucket": "official_sources",
"kind": "ghsa-global",
"retired_reason": "Unauthenticated GHSA API requests are rate-limited in daily monitoring; OSV NestJS remains the active replacement source.",
"replacement_sources": [
"OSV NestJS"
],
"url": ""
},
{
"system_id": "nextjs",
"display_name": "Next.js",
"source_name": "GitHub Global Advisories",
"bucket": "official_sources",
"kind": "ghsa-global",
"retired_reason": "Unauthenticated GHSA API requests are rate-limited in daily monitoring; GitHub Next.js Advisories and OSV Next.js remain active replacements.",
"replacement_sources": [
"GitHub Next.js Advisories",
"OSV Next.js"
],
"url": ""
},
{
"system_id": "nuxt",
"display_name": "Nuxt",
"source_name": "GitHub Global Advisories",
"bucket": "official_sources",
"kind": "ghsa-global",
"retired_reason": "Unauthenticated GHSA API requests are rate-limited in daily monitoring; Nuxt Security and OSV Nuxt remain active replacements.",
"replacement_sources": [
"Nuxt Security",
"OSV Nuxt"
],
"url": ""
},
{
"system_id": "rails",
"display_name": "Ruby on Rails",
"source_name": "GitHub Global Advisories",
"bucket": "official_sources",
"kind": "ghsa-global",
"retired_reason": "Unauthenticated GitHub advisory API is quota-limited; OSV Rails remains the active machine-readable source.",
"replacement_sources": [
"OSV Rails"
],
"url": ""
},
{
"system_id": "react",
"display_name": "React",
"source_name": "GitHub Global Advisories",
"bucket": "official_sources",
"kind": "ghsa-global",
"retired_reason": "Unauthenticated GHSA API requests are rate-limited in daily monitoring; GitHub React Advisories and OSV React remain active replacements.",
"replacement_sources": [
"GitHub React Advisories",
"OSV React"
],
"url": ""
},
{
"system_id": "spring-boot",
"display_name": "Spring Boot",
"source_name": "GitHub Global Advisories",
"bucket": "official_sources",
"kind": "ghsa-global",
"retired_reason": "Unauthenticated GitHub advisory API is quota-limited; Spring official security page remains the active source.",
"replacement_sources": [
"Spring Security Advisories"
],
"url": ""
},
{
"system_id": "spring-framework",
"display_name": "Spring Framework",
"source_name": "GitHub Global Advisories",
"bucket": "official_sources",
"kind": "ghsa-global",
"retired_reason": "Unauthenticated GHSA API requests are rate-limited in daily monitoring; Spring Security Advisories remains the active replacement source.",
"replacement_sources": [
"Spring Security Advisories"
],
"url": ""
},
{
"system_id": "spring-security",
"display_name": "Spring Security",
"source_name": "GitHub Global Advisories",
"bucket": "official_sources",
"kind": "ghsa-global",
"retired_reason": "Unauthenticated GitHub advisory API is quota-limited; Spring official security page remains the active source.",
"replacement_sources": [
"Spring Security Advisories"
],
"url": ""
},
{
"system_id": "sveltekit",
"display_name": "SvelteKit",
"source_name": "GitHub Global Advisories",
"bucket": "official_sources",
"kind": "ghsa-global",
"retired_reason": "Unauthenticated GHSA API requests are rate-limited in daily monitoring; OSV SvelteKit remains the active replacement source.",
"replacement_sources": [
"OSV SvelteKit"
],
"url": ""
},
{
"system_id": "symfony",
"display_name": "Symfony",
"source_name": "GitHub Global Advisories",
"bucket": "official_sources",
"kind": "ghsa-global",
"retired_reason": "Unauthenticated GitHub advisory API is quota-limited; OSV Symfony remains the active machine-readable source.",
"replacement_sources": [
"OSV Symfony"
],
"url": ""
},
{
"system_id": "undici",
"display_name": "Undici",
"source_name": "GitHub Global Advisories",
"bucket": "official_sources",
"kind": "ghsa-global",
"retired_reason": "Unauthenticated GHSA API requests are rate-limited in daily monitoring; OSV Undici remains the active replacement source.",
"replacement_sources": [
"OSV Undici"
],
"url": ""
},
{
"system_id": "vite",
"display_name": "Vite",
"source_name": "GitHub Global Advisories",
"bucket": "official_sources",
"kind": "ghsa-global",
"retired_reason": "Unauthenticated GHSA API requests are rate-limited in daily monitoring; Vite Security and OSV Vite remain active replacements.",
"replacement_sources": [
"Vite Security",
"OSV Vite"
],
"url": ""
},
{
"system_id": "vue",
"display_name": "Vue",
"source_name": "GitHub Global Advisories",
"bucket": "official_sources",
"kind": "ghsa-global",
"retired_reason": "Unauthenticated GHSA API requests are rate-limited in daily monitoring; Vue Security and OSV Vue remain active replacements.",
"replacement_sources": [
"Vue Security",
"OSV Vue"
],
"url": ""
},
{
"system_id": "webpack",
"display_name": "webpack",
"source_name": "GitHub Global Advisories",
"bucket": "official_sources",
"kind": "ghsa-global",
"retired_reason": "Unauthenticated GHSA API requests are rate-limited in daily monitoring; OSV webpack remains the active replacement source.",
"replacement_sources": [
"OSV webpack"
],
"url": ""
},
{
"system_id": "werkzeug",
"display_name": "Werkzeug",
"source_name": "GitHub Global Advisories",
"bucket": "official_sources",
"kind": "ghsa-global",
"retired_reason": "Unauthenticated GitHub advisory API is quota-limited; OSV Werkzeug remains the active machine-readable source.",
"replacement_sources": [
"OSV Werkzeug"
],
"url": ""
}
]