文件
websafe-kb/08-threat-intel/registry/monitoring/2026-03-19T09-17-08+00-00.json
2026-03-19 02:17:16 -07:00

3840 行
113 KiB
JSON

{
"generated_at": "2026-03-19T09:17:08+00:00",
"source_catalog_audit": {
"generated_at": "2026-03-19T09:17:03+00:00",
"system_count": 62,
"source_count": 179,
"active_source_count": 113,
"retired_source_count": 66,
"systems_with_active_official": 61,
"systems_with_machine_readable_source": 61,
"systems": [
{
"system_id": "adminer",
"display_name": "Adminer",
"category": "platforms",
"tier": "rolling-24m",
"source_total": 2,
"active_source_total": 1,
"retired_source_total": 1,
"official_active": 1,
"ecosystem_active": 0,
"research_active": 0,
"machine_readable_active": 1,
"has_active_official": true,
"has_machine_readable_source": true
},
{
"system_id": "adobe-commerce",
"display_name": "Adobe Commerce",
"category": "ecommerce",
"tier": "history-full",
"source_total": 5,
"active_source_total": 1,
"retired_source_total": 4,
"official_active": 1,
"ecosystem_active": 0,
"research_active": 0,
"machine_readable_active": 0,
"has_active_official": true,
"has_machine_readable_source": false
},
{
"system_id": "angular",
"display_name": "Angular",
"category": "frameworks",
"tier": "rolling-24m",
"source_total": 2,
"active_source_total": 1,
"retired_source_total": 1,
"official_active": 1,
"ecosystem_active": 0,
"research_active": 0,
"machine_readable_active": 1,
"has_active_official": true,
"has_machine_readable_source": true
},
{
"system_id": "apache-httpd",
"display_name": "Apache HTTP Server",
"category": "servers",
"tier": "history-full",
"source_total": 3,
"active_source_total": 2,
"retired_source_total": 1,
"official_active": 2,
"ecosystem_active": 0,
"research_active": 0,
"machine_readable_active": 1,
"has_active_official": true,
"has_machine_readable_source": true
},
{
"system_id": "apache-tomcat",
"display_name": "Apache Tomcat",
"category": "servers",
"tier": "history-full",
"source_total": 3,
"active_source_total": 2,
"retired_source_total": 1,
"official_active": 2,
"ecosystem_active": 0,
"research_active": 0,
"machine_readable_active": 1,
"has_active_official": true,
"has_machine_readable_source": true
},
{
"system_id": "aspnet-core",
"display_name": "ASP.NET Core",
"category": "frameworks",
"tier": "rolling-24m",
"source_total": 2,
"active_source_total": 1,
"retired_source_total": 1,
"official_active": 1,
"ecosystem_active": 0,
"research_active": 0,
"machine_readable_active": 1,
"has_active_official": true,
"has_machine_readable_source": true
},
{
"system_id": "astro",
"display_name": "Astro",
"category": "frameworks",
"tier": "rolling-24m",
"source_total": 2,
"active_source_total": 1,
"retired_source_total": 1,
"official_active": 1,
"ecosystem_active": 0,
"research_active": 0,
"machine_readable_active": 1,
"has_active_official": true,
"has_machine_readable_source": true
},
{
"system_id": "caddy",
"display_name": "Caddy",
"category": "servers",
"tier": "rolling-24m",
"source_total": 2,
"active_source_total": 2,
"retired_source_total": 0,
"official_active": 2,
"ecosystem_active": 0,
"research_active": 0,
"machine_readable_active": 1,
"has_active_official": true,
"has_machine_readable_source": true
},
{
"system_id": "directus",
"display_name": "Directus",
"category": "cms",
"tier": "rolling-24m",
"source_total": 2,
"active_source_total": 2,
"retired_source_total": 0,
"official_active": 2,
"ecosystem_active": 0,
"research_active": 0,
"machine_readable_active": 1,
"has_active_official": true,
"has_machine_readable_source": true
},
{
"system_id": "discourse",
"display_name": "Discourse",
"category": "cms",
"tier": "rolling-24m",
"source_total": 5,
"active_source_total": 3,
"retired_source_total": 2,
"official_active": 2,
"ecosystem_active": 1,
"research_active": 0,
"machine_readable_active": 3,
"has_active_official": true,
"has_machine_readable_source": true
},
{
"system_id": "django",
"display_name": "Django",
"category": "frameworks",
"tier": "rolling-24m",
"source_total": 4,
"active_source_total": 3,
"retired_source_total": 1,
"official_active": 3,
"ecosystem_active": 0,
"research_active": 0,
"machine_readable_active": 1,
"has_active_official": true,
"has_machine_readable_source": true
},
{
"system_id": "drupal",
"display_name": "Drupal",
"category": "cms",
"tier": "history-full",
"source_total": 3,
"active_source_total": 2,
"retired_source_total": 1,
"official_active": 1,
"ecosystem_active": 1,
"research_active": 0,
"machine_readable_active": 2,
"has_active_official": true,
"has_machine_readable_source": true
},
{
"system_id": "echo",
"display_name": "Echo",
"category": "frameworks",
"tier": "rolling-24m",
"source_total": 1,
"active_source_total": 1,
"retired_source_total": 0,
"official_active": 1,
"ecosystem_active": 0,
"research_active": 0,
"machine_readable_active": 1,
"has_active_official": true,
"has_machine_readable_source": true
},
{
"system_id": "esbuild",
"display_name": "esbuild",
"category": "frameworks",
"tier": "rolling-24m",
"source_total": 3,
"active_source_total": 1,
"retired_source_total": 2,
"official_active": 1,
"ecosystem_active": 0,
"research_active": 0,
"machine_readable_active": 1,
"has_active_official": true,
"has_machine_readable_source": true
},
{
"system_id": "express",
"display_name": "Express",
"category": "frameworks",
"tier": "rolling-24m",
"source_total": 3,
"active_source_total": 1,
"retired_source_total": 2,
"official_active": 1,
"ecosystem_active": 0,
"research_active": 0,
"machine_readable_active": 1,
"has_active_official": true,
"has_machine_readable_source": true
},
{
"system_id": "fastify",
"display_name": "Fastify",
"category": "frameworks",
"tier": "rolling-24m",
"source_total": 2,
"active_source_total": 1,
"retired_source_total": 1,
"official_active": 1,
"ecosystem_active": 0,
"research_active": 0,
"machine_readable_active": 1,
"has_active_official": true,
"has_machine_readable_source": true
},
{
"system_id": "flask",
"display_name": "Flask",
"category": "frameworks",
"tier": "rolling-24m",
"source_total": 2,
"active_source_total": 1,
"retired_source_total": 1,
"official_active": 1,
"ecosystem_active": 0,
"research_active": 0,
"machine_readable_active": 1,
"has_active_official": true,
"has_machine_readable_source": true
},
{
"system_id": "ghost",
"display_name": "Ghost",
"category": "cms",
"tier": "history-full",
"source_total": 3,
"active_source_total": 2,
"retired_source_total": 1,
"official_active": 1,
"ecosystem_active": 1,
"research_active": 0,
"machine_readable_active": 1,
"has_active_official": true,
"has_machine_readable_source": true
},
{
"system_id": "gin",
"display_name": "Gin",
"category": "frameworks",
"tier": "rolling-24m",
"source_total": 1,
"active_source_total": 1,
"retired_source_total": 0,
"official_active": 1,
"ecosystem_active": 0,
"research_active": 0,
"machine_readable_active": 1,
"has_active_official": true,
"has_machine_readable_source": true
},
{
"system_id": "gitea",
"display_name": "Gitea",
"category": "platforms",
"tier": "rolling-24m",
"source_total": 2,
"active_source_total": 2,
"retired_source_total": 0,
"official_active": 2,
"ecosystem_active": 0,
"research_active": 0,
"machine_readable_active": 1,
"has_active_official": true,
"has_machine_readable_source": true
},
{
"system_id": "gitlab-ce",
"display_name": "GitLab CE",
"category": "platforms",
"tier": "rolling-24m",
"source_total": 4,
"active_source_total": 3,
"retired_source_total": 1,
"official_active": 2,
"ecosystem_active": 1,
"research_active": 0,
"machine_readable_active": 1,
"has_active_official": true,
"has_machine_readable_source": true
},
{
"system_id": "grafana",
"display_name": "Grafana",
"category": "platforms",
"tier": "rolling-24m",
"source_total": 2,
"active_source_total": 2,
"retired_source_total": 0,
"official_active": 2,
"ecosystem_active": 0,
"research_active": 0,
"machine_readable_active": 1,
"has_active_official": true,
"has_machine_readable_source": true
},
{
"system_id": "hapi",
"display_name": "Hapi",
"category": "frameworks",
"tier": "history-full",
"source_total": 2,
"active_source_total": 1,
"retired_source_total": 1,
"official_active": 1,
"ecosystem_active": 0,
"research_active": 0,
"machine_readable_active": 1,
"has_active_official": true,
"has_machine_readable_source": true
},
{
"system_id": "haproxy",
"display_name": "HAProxy",
"category": "servers",
"tier": "rolling-24m",
"source_total": 3,
"active_source_total": 1,
"retired_source_total": 2,
"official_active": 1,
"ecosystem_active": 0,
"research_active": 0,
"machine_readable_active": 1,
"has_active_official": true,
"has_machine_readable_source": true
},
{
"system_id": "jenkins",
"display_name": "Jenkins",
"category": "platforms",
"tier": "rolling-24m",
"source_total": 3,
"active_source_total": 2,
"retired_source_total": 1,
"official_active": 2,
"ecosystem_active": 0,
"research_active": 0,
"machine_readable_active": 1,
"has_active_official": true,
"has_machine_readable_source": true
},
{
"system_id": "joomla",
"display_name": "Joomla",
"category": "cms",
"tier": "history-full",
"source_total": 3,
"active_source_total": 2,
"retired_source_total": 1,
"official_active": 1,
"ecosystem_active": 1,
"research_active": 0,
"machine_readable_active": 1,
"has_active_official": true,
"has_machine_readable_source": true
},
{
"system_id": "kibana",
"display_name": "Kibana",
"category": "platforms",
"tier": "rolling-24m",
"source_total": 3,
"active_source_total": 2,
"retired_source_total": 1,
"official_active": 2,
"ecosystem_active": 0,
"research_active": 0,
"machine_readable_active": 1,
"has_active_official": true,
"has_machine_readable_source": true
},
{
"system_id": "koa",
"display_name": "Koa",
"category": "frameworks",
"tier": "rolling-24m",
"source_total": 2,
"active_source_total": 1,
"retired_source_total": 1,
"official_active": 1,
"ecosystem_active": 0,
"research_active": 0,
"machine_readable_active": 1,
"has_active_official": true,
"has_machine_readable_source": true
},
{
"system_id": "laravel",
"display_name": "Laravel",
"category": "frameworks",
"tier": "rolling-24m",
"source_total": 2,
"active_source_total": 1,
"retired_source_total": 1,
"official_active": 1,
"ecosystem_active": 0,
"research_active": 0,
"machine_readable_active": 1,
"has_active_official": true,
"has_machine_readable_source": true
},
{
"system_id": "magento-open-source",
"display_name": "Magento Open Source",
"category": "ecommerce",
"tier": "history-full",
"source_total": 4,
"active_source_total": 3,
"retired_source_total": 1,
"official_active": 2,
"ecosystem_active": 1,
"research_active": 0,
"machine_readable_active": 1,
"has_active_official": true,
"has_machine_readable_source": true
},
{
"system_id": "mattermost",
"display_name": "Mattermost",
"category": "platforms",
"tier": "rolling-24m",
"source_total": 4,
"active_source_total": 2,
"retired_source_total": 2,
"official_active": 1,
"ecosystem_active": 1,
"research_active": 0,
"machine_readable_active": 2,
"has_active_official": true,
"has_machine_readable_source": true
},
{
"system_id": "mediawiki",
"display_name": "MediaWiki",
"category": "cms",
"tier": "rolling-24m",
"source_total": 4,
"active_source_total": 2,
"retired_source_total": 2,
"official_active": 1,
"ecosystem_active": 1,
"research_active": 0,
"machine_readable_active": 2,
"has_active_official": true,
"has_machine_readable_source": true
},
{
"system_id": "medusa",
"display_name": "Medusa",
"category": "ecommerce",
"tier": "rolling-24m",
"source_total": 2,
"active_source_total": 2,
"retired_source_total": 0,
"official_active": 2,
"ecosystem_active": 0,
"research_active": 0,
"machine_readable_active": 1,
"has_active_official": true,
"has_machine_readable_source": true
},
{
"system_id": "moodle",
"display_name": "Moodle",
"category": "cms",
"tier": "rolling-24m",
"source_total": 3,
"active_source_total": 1,
"retired_source_total": 2,
"official_active": 0,
"ecosystem_active": 1,
"research_active": 0,
"machine_readable_active": 1,
"has_active_official": false,
"has_machine_readable_source": true
},
{
"system_id": "nestjs",
"display_name": "NestJS",
"category": "frameworks",
"tier": "rolling-24m",
"source_total": 3,
"active_source_total": 1,
"retired_source_total": 2,
"official_active": 1,
"ecosystem_active": 0,
"research_active": 0,
"machine_readable_active": 1,
"has_active_official": true,
"has_machine_readable_source": true
},
{
"system_id": "nextjs",
"display_name": "Next.js",
"category": "frameworks",
"tier": "history-full",
"source_total": 3,
"active_source_total": 2,
"retired_source_total": 1,
"official_active": 2,
"ecosystem_active": 0,
"research_active": 0,
"machine_readable_active": 1,
"has_active_official": true,
"has_machine_readable_source": true
},
{
"system_id": "nginx",
"display_name": "Nginx",
"category": "servers",
"tier": "history-full",
"source_total": 3,
"active_source_total": 2,
"retired_source_total": 1,
"official_active": 2,
"ecosystem_active": 0,
"research_active": 0,
"machine_readable_active": 1,
"has_active_official": true,
"has_machine_readable_source": true
},
{
"system_id": "nodejs",
"display_name": "Node.js",
"category": "frameworks",
"tier": "history-full",
"source_total": 2,
"active_source_total": 2,
"retired_source_total": 0,
"official_active": 2,
"ecosystem_active": 0,
"research_active": 0,
"machine_readable_active": 1,
"has_active_official": true,
"has_machine_readable_source": true
},
{
"system_id": "nuxt",
"display_name": "Nuxt",
"category": "frameworks",
"tier": "history-full",
"source_total": 3,
"active_source_total": 2,
"retired_source_total": 1,
"official_active": 2,
"ecosystem_active": 0,
"research_active": 0,
"machine_readable_active": 1,
"has_active_official": true,
"has_machine_readable_source": true
},
{
"system_id": "opencart",
"display_name": "OpenCart",
"category": "ecommerce",
"tier": "history-full",
"source_total": 3,
"active_source_total": 2,
"retired_source_total": 1,
"official_active": 1,
"ecosystem_active": 1,
"research_active": 0,
"machine_readable_active": 1,
"has_active_official": true,
"has_machine_readable_source": true
},
{
"system_id": "openmage",
"display_name": "OpenMage / Mage-OS",
"category": "ecommerce",
"tier": "rolling-24m",
"source_total": 3,
"active_source_total": 2,
"retired_source_total": 1,
"official_active": 1,
"ecosystem_active": 1,
"research_active": 0,
"machine_readable_active": 1,
"has_active_official": true,
"has_machine_readable_source": true
},
{
"system_id": "phpmyadmin",
"display_name": "phpMyAdmin",
"category": "platforms",
"tier": "rolling-24m",
"source_total": 3,
"active_source_total": 2,
"retired_source_total": 1,
"official_active": 1,
"ecosystem_active": 1,
"research_active": 0,
"machine_readable_active": 1,
"has_active_official": true,
"has_machine_readable_source": true
},
{
"system_id": "prestashop",
"display_name": "PrestaShop",
"category": "ecommerce",
"tier": "history-full",
"source_total": 5,
"active_source_total": 4,
"retired_source_total": 1,
"official_active": 2,
"ecosystem_active": 2,
"research_active": 0,
"machine_readable_active": 1,
"has_active_official": true,
"has_machine_readable_source": true
},
{
"system_id": "rails",
"display_name": "Ruby on Rails",
"category": "frameworks",
"tier": "rolling-24m",
"source_total": 3,
"active_source_total": 1,
"retired_source_total": 2,
"official_active": 1,
"ecosystem_active": 0,
"research_active": 0,
"machine_readable_active": 1,
"has_active_official": true,
"has_machine_readable_source": true
},
{
"system_id": "react",
"display_name": "React",
"category": "frameworks",
"tier": "history-full",
"source_total": 3,
"active_source_total": 2,
"retired_source_total": 1,
"official_active": 2,
"ecosystem_active": 0,
"research_active": 0,
"machine_readable_active": 1,
"has_active_official": true,
"has_machine_readable_source": true
},
{
"system_id": "redmine",
"display_name": "Redmine",
"category": "platforms",
"tier": "rolling-24m",
"source_total": 3,
"active_source_total": 2,
"retired_source_total": 1,
"official_active": 1,
"ecosystem_active": 1,
"research_active": 0,
"machine_readable_active": 1,
"has_active_official": true,
"has_machine_readable_source": true
},
{
"system_id": "saleor",
"display_name": "Saleor",
"category": "ecommerce",
"tier": "rolling-24m",
"source_total": 3,
"active_source_total": 2,
"retired_source_total": 1,
"official_active": 1,
"ecosystem_active": 1,
"research_active": 0,
"machine_readable_active": 1,
"has_active_official": true,
"has_machine_readable_source": true
},
{
"system_id": "shopware",
"display_name": "Shopware",
"category": "ecommerce",
"tier": "history-full",
"source_total": 3,
"active_source_total": 2,
"retired_source_total": 1,
"official_active": 1,
"ecosystem_active": 1,
"research_active": 0,
"machine_readable_active": 1,
"has_active_official": true,
"has_machine_readable_source": true
},
{
"system_id": "spring-boot",
"display_name": "Spring Boot",
"category": "frameworks",
"tier": "rolling-24m",
"source_total": 3,
"active_source_total": 2,
"retired_source_total": 1,
"official_active": 1,
"ecosystem_active": 1,
"research_active": 0,
"machine_readable_active": 1,
"has_active_official": true,
"has_machine_readable_source": true
},
{
"system_id": "spring-framework",
"display_name": "Spring Framework",
"category": "frameworks",
"tier": "rolling-24m",
"source_total": 3,
"active_source_total": 2,
"retired_source_total": 1,
"official_active": 1,
"ecosystem_active": 1,
"research_active": 0,
"machine_readable_active": 1,
"has_active_official": true,
"has_machine_readable_source": true
},
{
"system_id": "spring-security",
"display_name": "Spring Security",
"category": "frameworks",
"tier": "rolling-24m",
"source_total": 3,
"active_source_total": 2,
"retired_source_total": 1,
"official_active": 1,
"ecosystem_active": 1,
"research_active": 0,
"machine_readable_active": 1,
"has_active_official": true,
"has_machine_readable_source": true
},
{
"system_id": "strapi",
"display_name": "Strapi",
"category": "cms",
"tier": "rolling-24m",
"source_total": 2,
"active_source_total": 2,
"retired_source_total": 0,
"official_active": 2,
"ecosystem_active": 0,
"research_active": 0,
"machine_readable_active": 1,
"has_active_official": true,
"has_machine_readable_source": true
},
{
"system_id": "sveltekit",
"display_name": "SvelteKit",
"category": "frameworks",
"tier": "rolling-24m",
"source_total": 2,
"active_source_total": 1,
"retired_source_total": 1,
"official_active": 1,
"ecosystem_active": 0,
"research_active": 0,
"machine_readable_active": 1,
"has_active_official": true,
"has_machine_readable_source": true
},
{
"system_id": "symfony",
"display_name": "Symfony",
"category": "frameworks",
"tier": "rolling-24m",
"source_total": 2,
"active_source_total": 1,
"retired_source_total": 1,
"official_active": 1,
"ecosystem_active": 0,
"research_active": 0,
"machine_readable_active": 1,
"has_active_official": true,
"has_machine_readable_source": true
},
{
"system_id": "traefik",
"display_name": "Traefik",
"category": "servers",
"tier": "rolling-24m",
"source_total": 2,
"active_source_total": 2,
"retired_source_total": 0,
"official_active": 2,
"ecosystem_active": 0,
"research_active": 0,
"machine_readable_active": 1,
"has_active_official": true,
"has_machine_readable_source": true
},
{
"system_id": "undici",
"display_name": "Undici",
"category": "frameworks",
"tier": "rolling-24m",
"source_total": 3,
"active_source_total": 1,
"retired_source_total": 2,
"official_active": 1,
"ecosystem_active": 0,
"research_active": 0,
"machine_readable_active": 1,
"has_active_official": true,
"has_machine_readable_source": true
},
{
"system_id": "vite",
"display_name": "Vite",
"category": "frameworks",
"tier": "history-full",
"source_total": 3,
"active_source_total": 2,
"retired_source_total": 1,
"official_active": 2,
"ecosystem_active": 0,
"research_active": 0,
"machine_readable_active": 1,
"has_active_official": true,
"has_machine_readable_source": true
},
{
"system_id": "vue",
"display_name": "Vue",
"category": "frameworks",
"tier": "history-full",
"source_total": 3,
"active_source_total": 2,
"retired_source_total": 1,
"official_active": 2,
"ecosystem_active": 0,
"research_active": 0,
"machine_readable_active": 1,
"has_active_official": true,
"has_machine_readable_source": true
},
{
"system_id": "webpack",
"display_name": "webpack",
"category": "frameworks",
"tier": "rolling-24m",
"source_total": 3,
"active_source_total": 1,
"retired_source_total": 2,
"official_active": 1,
"ecosystem_active": 0,
"research_active": 0,
"machine_readable_active": 1,
"has_active_official": true,
"has_machine_readable_source": true
},
{
"system_id": "werkzeug",
"display_name": "Werkzeug",
"category": "frameworks",
"tier": "rolling-24m",
"source_total": 2,
"active_source_total": 1,
"retired_source_total": 1,
"official_active": 1,
"ecosystem_active": 0,
"research_active": 0,
"machine_readable_active": 1,
"has_active_official": true,
"has_machine_readable_source": true
},
{
"system_id": "woocommerce",
"display_name": "WooCommerce",
"category": "ecommerce",
"tier": "history-full",
"source_total": 6,
"active_source_total": 5,
"retired_source_total": 1,
"official_active": 2,
"ecosystem_active": 3,
"research_active": 0,
"machine_readable_active": 1,
"has_active_official": true,
"has_machine_readable_source": true
},
{
"system_id": "wordpress",
"display_name": "WordPress",
"category": "cms",
"tier": "history-full",
"source_total": 6,
"active_source_total": 5,
"retired_source_total": 1,
"official_active": 1,
"ecosystem_active": 3,
"research_active": 1,
"machine_readable_active": 1,
"has_active_official": true,
"has_machine_readable_source": true
}
],
"retired_sources": [
{
"system_id": "adminer",
"display_name": "Adminer",
"source_name": "NVD Adminer",
"bucket": "official_sources",
"kind": "nvd-search",
"retired_reason": "OSV Adminer provides a machine-readable Packagist-aligned source, removing the need for NVD public search.",
"replacement_sources": [
"OSV Adminer"
],
"url": ""
},
{
"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": "NVD Adobe Commerce",
"bucket": "official_sources",
"kind": "nvd-search",
"retired_reason": "Adobe Magento Security Index is now the active official machine-readable source, so NVD public search is no longer needed for daily collection.",
"replacement_sources": [
"Adobe Magento Security Index"
],
"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": "apache-httpd",
"display_name": "Apache HTTP Server",
"source_name": "NVD Apache HTTP Server",
"bucket": "official_sources",
"kind": "nvd-search",
"retired_reason": "Official Apache HTTPD advisories page plus CISA KEV are sufficient active sources for daily monitoring.",
"replacement_sources": [
"Apache HTTPD Security",
"CISA KEV Apache HTTPD"
],
"url": ""
},
{
"system_id": "apache-tomcat",
"display_name": "Apache Tomcat",
"source_name": "NVD Tomcat",
"bucket": "official_sources",
"kind": "nvd-search",
"retired_reason": "Official Tomcat advisories page plus CISA KEV are sufficient active sources for daily monitoring.",
"replacement_sources": [
"Apache Tomcat Security",
"CISA KEV Tomcat"
],
"url": ""
},
{
"system_id": "aspnet-core",
"display_name": "ASP.NET Core",
"source_name": "NVD ASP.NET Core",
"bucket": "official_sources",
"kind": "nvd-search",
"retired_reason": "OSV ASP.NET Core provides machine-readable NuGet-aligned coverage with lower latency than NVD public search.",
"replacement_sources": [
"OSV ASP.NET Core"
],
"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",
"Discourse Security 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": "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",
"OSV 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": "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",
"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": "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",
"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": "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": "gitlab-ce",
"display_name": "GitLab CE",
"source_name": "NVD GitLab",
"bucket": "official_sources",
"kind": "nvd-search",
"retired_reason": "GitLab Security Releases Atom provides an official machine-readable feed, so NVD public search is no longer required.",
"replacement_sources": [
"GitLab Security Releases",
"GitLab Security Releases Atom"
],
"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": "haproxy",
"display_name": "HAProxy",
"source_name": "NVD HAProxy",
"bucket": "official_sources",
"kind": "nvd-search",
"retired_reason": "HAProxy Blog Feed is an active official RSS source, so NVD public search is no longer required.",
"replacement_sources": [
"HAProxy Blog Feed"
],
"url": ""
},
{
"system_id": "jenkins",
"display_name": "Jenkins",
"source_name": "NVD Jenkins",
"bucket": "official_sources",
"kind": "nvd-search",
"retired_reason": "Jenkins Security Advisories RSS provides an official machine-readable feed, replacing NVD public search.",
"replacement_sources": [
"Jenkins Security Advisories",
"Jenkins Security Advisories RSS"
],
"url": ""
},
{
"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": "kibana",
"display_name": "Kibana",
"source_name": "NVD Kibana",
"bucket": "official_sources",
"kind": "nvd-search",
"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"
],
"url": ""
},
{
"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": "magento-open-source",
"display_name": "Magento Open Source",
"source_name": "NVD Magento",
"bucket": "official_sources",
"kind": "nvd-search",
"retired_reason": "OSV Magento Open Source plus Magento GitHub advisories replace NVD public search for machine-readable collection.",
"replacement_sources": [
"Magento GitHub Advisories",
"OSV Magento Open Source"
],
"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": "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",
"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": [
"MediaWiki Announce RSS",
"NVD MediaWiki"
],
"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",
"source_name": "Moodle Security News",
"bucket": "official_sources",
"kind": "html-links",
"retired_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.",
"replacement_sources": [
"NVD Moodle"
],
"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",
"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": "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",
"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": "nginx",
"display_name": "Nginx",
"source_name": "NVD NGINX",
"bucket": "official_sources",
"kind": "nvd-search",
"retired_reason": "Official NGINX advisories page and CISA KEV together provide the needed daily signal without NVD public-search latency.",
"replacement_sources": [
"NGINX Security Advisories",
"CISA KEV NGINX"
],
"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": "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",
"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": "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",
"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": "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",
"source_name": "GitHub Global Advisories",
"bucket": "official_sources",
"kind": "ghsa-global",
"retired_reason": "Unauthenticated GitHub advisory API is quota-limited; Spring official page and OSV remain the active replacements.",
"replacement_sources": [
"Spring Security Advisories",
"OSV Spring Boot"
],
"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 official page and OSV remain the active replacements.",
"replacement_sources": [
"Spring Security Advisories",
"OSV Spring Framework"
],
"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 page and OSV remain the active replacements.",
"replacement_sources": [
"Spring Security Advisories",
"OSV Spring Security"
],
"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": "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",
"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": "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",
"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": ""
},
{
"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": ""
}
],
"replacement_map": [
{
"system_id": "adminer",
"retired_source": "NVD Adminer",
"replacement_sources": [
"OSV Adminer"
]
},
{
"system_id": "adobe-commerce",
"retired_source": "Adobe Security Bulletins",
"replacement_sources": [
"Adobe Magento Security Index",
"NVD Adobe Commerce",
"GHSA Adobe Commerce"
]
},
{
"system_id": "adobe-commerce",
"retired_source": "GHSA Adobe Commerce",
"replacement_sources": [
"Adobe Magento Security Index",
"NVD Adobe Commerce"
]
},
{
"system_id": "adobe-commerce",
"retired_source": "NVD Adobe Commerce",
"replacement_sources": [
"Adobe Magento Security Index"
]
},
{
"system_id": "adobe-commerce",
"retired_source": "Sansec Research",
"replacement_sources": [
"GHSA Adobe Commerce",
"Adobe Magento Security Index"
]
},
{
"system_id": "angular",
"retired_source": "GitHub Global Advisories",
"replacement_sources": [
"OSV Angular"
]
},
{
"system_id": "apache-httpd",
"retired_source": "NVD Apache HTTP Server",
"replacement_sources": [
"Apache HTTPD Security",
"CISA KEV Apache HTTPD"
]
},
{
"system_id": "apache-tomcat",
"retired_source": "NVD Tomcat",
"replacement_sources": [
"Apache Tomcat Security",
"CISA KEV Tomcat"
]
},
{
"system_id": "aspnet-core",
"retired_source": "NVD ASP.NET Core",
"replacement_sources": [
"OSV ASP.NET Core"
]
},
{
"system_id": "astro",
"retired_source": "GitHub Global Advisories",
"replacement_sources": [
"OSV Astro"
]
},
{
"system_id": "discourse",
"retired_source": "Discourse Meta Security",
"replacement_sources": [
"Discourse Release Notes RSS",
"GitHub Discourse Advisories"
]
},
{
"system_id": "discourse",
"retired_source": "GitHub Discourse Advisories",
"replacement_sources": [
"Discourse Release Notes RSS",
"Discourse Security RSS"
]
},
{
"system_id": "django",
"retired_source": "Django Security RSS",
"replacement_sources": [
"Django Security Weblog",
"Django Security Releases Archive"
]
},
{
"system_id": "drupal",
"retired_source": "NVD Drupal",
"replacement_sources": [
"Drupal Security Advisories RSS",
"OSV Drupal"
]
},
{
"system_id": "esbuild",
"retired_source": "GitHub Global Advisories",
"replacement_sources": [
"OSV esbuild"
]
},
{
"system_id": "esbuild",
"retired_source": "NVD esbuild",
"replacement_sources": [
"OSV esbuild"
]
},
{
"system_id": "express",
"retired_source": "GitHub Global Advisories",
"replacement_sources": [
"OSV Express"
]
},
{
"system_id": "express",
"retired_source": "NVD Express.js",
"replacement_sources": [
"OSV Express"
]
},
{
"system_id": "fastify",
"retired_source": "GitHub Global Advisories",
"replacement_sources": [
"OSV Fastify"
]
},
{
"system_id": "flask",
"retired_source": "GitHub Global Advisories",
"replacement_sources": [
"OSV Flask"
]
},
{
"system_id": "ghost",
"retired_source": "NVD Ghost",
"replacement_sources": [
"Ghost GitHub Advisories",
"OSV Ghost"
]
},
{
"system_id": "gitlab-ce",
"retired_source": "NVD GitLab",
"replacement_sources": [
"GitLab Security Releases",
"GitLab Security Releases Atom"
]
},
{
"system_id": "hapi",
"retired_source": "GitHub Global Advisories",
"replacement_sources": [
"OSV Hapi"
]
},
{
"system_id": "haproxy",
"retired_source": "HAProxy Security Advisories",
"replacement_sources": [
"HAProxy Blog Feed"
]
},
{
"system_id": "haproxy",
"retired_source": "NVD HAProxy",
"replacement_sources": [
"HAProxy Blog Feed"
]
},
{
"system_id": "jenkins",
"retired_source": "NVD Jenkins",
"replacement_sources": [
"Jenkins Security Advisories",
"Jenkins Security Advisories RSS"
]
},
{
"system_id": "joomla",
"retired_source": "NVD Joomla",
"replacement_sources": [
"Joomla Security Centre",
"OSV Joomla"
]
},
{
"system_id": "kibana",
"retired_source": "NVD Kibana",
"replacement_sources": [
"Elastic Security Announcements",
"Elastic Security Announcements RSS"
]
},
{
"system_id": "koa",
"retired_source": "GitHub Global Advisories",
"replacement_sources": [
"OSV Koa"
]
},
{
"system_id": "laravel",
"retired_source": "GitHub Global Advisories",
"replacement_sources": [
"OSV Laravel"
]
},
{
"system_id": "magento-open-source",
"retired_source": "NVD Magento",
"replacement_sources": [
"Magento GitHub Advisories",
"OSV Magento Open Source"
]
},
{
"system_id": "mattermost",
"retired_source": "Mattermost Security Updates",
"replacement_sources": [
"NVD Mattermost"
]
},
{
"system_id": "mattermost",
"retired_source": "NVD Mattermost",
"replacement_sources": [
"Mattermost Security Updates JSON",
"OSV Mattermost"
]
},
{
"system_id": "mediawiki",
"retired_source": "MediaWiki Security Releases",
"replacement_sources": [
"MediaWiki Announce RSS",
"NVD MediaWiki"
]
},
{
"system_id": "mediawiki",
"retired_source": "NVD MediaWiki",
"replacement_sources": [
"MediaWiki Announce RSS",
"OSV MediaWiki"
]
},
{
"system_id": "moodle",
"retired_source": "Moodle Security News",
"replacement_sources": [
"NVD Moodle"
]
},
{
"system_id": "moodle",
"retired_source": "NVD Moodle",
"replacement_sources": [
"OSV Moodle"
]
},
{
"system_id": "nestjs",
"retired_source": "GitHub Global Advisories",
"replacement_sources": [
"OSV NestJS"
]
},
{
"system_id": "nestjs",
"retired_source": "NVD NestJS",
"replacement_sources": [
"OSV NestJS"
]
},
{
"system_id": "nextjs",
"retired_source": "GitHub Global Advisories",
"replacement_sources": [
"GitHub Next.js Advisories",
"OSV Next.js"
]
},
{
"system_id": "nginx",
"retired_source": "NVD NGINX",
"replacement_sources": [
"NGINX Security Advisories",
"CISA KEV NGINX"
]
},
{
"system_id": "nuxt",
"retired_source": "GitHub Global Advisories",
"replacement_sources": [
"Nuxt Security",
"OSV Nuxt"
]
},
{
"system_id": "opencart",
"retired_source": "NVD OpenCart",
"replacement_sources": [
"OpenCart Releases",
"OSV OpenCart"
]
},
{
"system_id": "openmage",
"retired_source": "NVD OpenMage",
"replacement_sources": [
"OpenMage GitHub Advisories",
"OSV OpenMage"
]
},
{
"system_id": "phpmyadmin",
"retired_source": "NVD phpMyAdmin",
"replacement_sources": [
"phpMyAdmin Security Page",
"OSV phpMyAdmin"
]
},
{
"system_id": "prestashop",
"retired_source": "NVD PrestaShop",
"replacement_sources": [
"PrestaShop Security Page",
"GitHub PrestaShop Advisories",
"OSV PrestaShop"
]
},
{
"system_id": "rails",
"retired_source": "GitHub Global Advisories",
"replacement_sources": [
"OSV Rails"
]
},
{
"system_id": "rails",
"retired_source": "NVD Ruby on Rails",
"replacement_sources": [
"OSV Rails"
]
},
{
"system_id": "react",
"retired_source": "GitHub Global Advisories",
"replacement_sources": [
"GitHub React Advisories",
"OSV React"
]
},
{
"system_id": "redmine",
"retired_source": "NVD Redmine",
"replacement_sources": [
"Redmine Security Advisories"
]
},
{
"system_id": "saleor",
"retired_source": "NVD Saleor",
"replacement_sources": [
"GitHub Saleor Advisories",
"OSV Saleor"
]
},
{
"system_id": "shopware",
"retired_source": "NVD Shopware",
"replacement_sources": [
"Shopware Security Advisories",
"OSV Shopware"
]
},
{
"system_id": "spring-boot",
"retired_source": "GitHub Global Advisories",
"replacement_sources": [
"Spring Security Advisories",
"OSV Spring Boot"
]
},
{
"system_id": "spring-framework",
"retired_source": "GitHub Global Advisories",
"replacement_sources": [
"Spring Security Advisories",
"OSV Spring Framework"
]
},
{
"system_id": "spring-security",
"retired_source": "GitHub Global Advisories",
"replacement_sources": [
"Spring Security Advisories",
"OSV Spring Security"
]
},
{
"system_id": "sveltekit",
"retired_source": "GitHub Global Advisories",
"replacement_sources": [
"OSV SvelteKit"
]
},
{
"system_id": "symfony",
"retired_source": "GitHub Global Advisories",
"replacement_sources": [
"OSV Symfony"
]
},
{
"system_id": "undici",
"retired_source": "GitHub Global Advisories",
"replacement_sources": [
"OSV Undici"
]
},
{
"system_id": "undici",
"retired_source": "NVD Undici",
"replacement_sources": [
"OSV Undici"
]
},
{
"system_id": "vite",
"retired_source": "GitHub Global Advisories",
"replacement_sources": [
"Vite Security",
"OSV Vite"
]
},
{
"system_id": "vue",
"retired_source": "GitHub Global Advisories",
"replacement_sources": [
"Vue Security",
"OSV Vue"
]
},
{
"system_id": "webpack",
"retired_source": "GitHub Global Advisories",
"replacement_sources": [
"OSV webpack"
]
},
{
"system_id": "webpack",
"retired_source": "NVD webpack",
"replacement_sources": [
"OSV webpack"
]
},
{
"system_id": "werkzeug",
"retired_source": "GitHub Global Advisories",
"replacement_sources": [
"OSV Werkzeug"
]
},
{
"system_id": "woocommerce",
"retired_source": "NVD WooCommerce",
"replacement_sources": [
"Woo Developer Advisories",
"GitHub WooCommerce Advisories",
"OSV WooCommerce"
]
},
{
"system_id": "wordpress",
"retired_source": "NVD WordPress",
"replacement_sources": [
"WordPress Security News RSS",
"Wordfence Vulnerability Database",
"WPScan Vulnerability Database"
]
}
]
},
"source_health": {
"generated_at": "2026-03-19T09:17:08+00:00",
"active_source_count": 113,
"green_source_count": 113,
"failure_count": 0,
"all_green": true,
"last_fully_green_run": "2026-03-19T09:17:08+00:00",
"retries_performed": 0,
"probes": [
{
"system_id": "adminer",
"source_name": "OSV Adminer",
"source_kind": "osv-batch",
"elapsed_seconds": 2.249,
"kind": "osv-batch",
"items_seen": 1
},
{
"system_id": "adobe-commerce",
"source_name": "Adobe Magento Security Index",
"source_kind": "vendor-index",
"elapsed_seconds": 0.906,
"kind": "vendor-index",
"items_seen": 46
},
{
"system_id": "angular",
"source_name": "OSV Angular",
"source_kind": "osv-batch",
"elapsed_seconds": 1.215,
"kind": "osv-batch",
"items_seen": 1
},
{
"system_id": "apache-httpd",
"source_name": "Apache HTTPD Security",
"source_kind": "html-links",
"elapsed_seconds": 2.765,
"kind": "html-links",
"items_seen": 182
},
{
"system_id": "apache-httpd",
"source_name": "CISA KEV Apache HTTPD",
"source_kind": "kev-json",
"elapsed_seconds": 3.122,
"kind": "kev-json",
"items_seen": 1545
},
{
"system_id": "apache-tomcat",
"source_name": "Apache Tomcat Security",
"source_kind": "html-links",
"elapsed_seconds": 2.772,
"kind": "html-links",
"items_seen": 270
},
{
"system_id": "apache-tomcat",
"source_name": "CISA KEV Tomcat",
"source_kind": "kev-json",
"elapsed_seconds": 3.12,
"kind": "kev-json",
"items_seen": 1545
},
{
"system_id": "aspnet-core",
"source_name": "OSV ASP.NET Core",
"source_kind": "osv-batch",
"elapsed_seconds": 1.703,
"kind": "osv-batch",
"items_seen": 1
},
{
"system_id": "astro",
"source_name": "OSV Astro",
"source_kind": "osv-batch",
"elapsed_seconds": 1.216,
"kind": "osv-batch",
"items_seen": 1
},
{
"system_id": "caddy",
"source_name": "GitHub Caddy Advisories",
"source_kind": "html-links",
"elapsed_seconds": 3.086,
"kind": "html-links",
"items_seen": 114
},
{
"system_id": "caddy",
"source_name": "OSV Caddy",
"source_kind": "osv-batch",
"elapsed_seconds": 2.227,
"kind": "osv-batch",
"items_seen": 1
},
{
"system_id": "directus",
"source_name": "Directus GitHub Advisories",
"source_kind": "html-links",
"elapsed_seconds": 1.208,
"kind": "html-links",
"items_seen": 127
},
{
"system_id": "directus",
"source_name": "OSV Directus",
"source_kind": "osv-batch",
"elapsed_seconds": 0.003,
"kind": "osv-batch",
"items_seen": 1
},
{
"system_id": "discourse",
"source_name": "Discourse Release Notes RSS",
"source_kind": "rss-feed",
"elapsed_seconds": 1.525,
"kind": "rss-feed",
"items_seen": 30
},
{
"system_id": "discourse",
"source_name": "Discourse Security RSS",
"source_kind": "rss-feed",
"elapsed_seconds": 0.717,
"kind": "rss-feed",
"items_seen": 3
},
{
"system_id": "discourse",
"source_name": "OSV Discourse",
"source_kind": "osv-batch",
"elapsed_seconds": 0.001,
"kind": "osv-batch",
"items_seen": 1
},
{
"system_id": "django",
"source_name": "Django Security Releases Archive",
"source_kind": "vendor-index",
"elapsed_seconds": 2.617,
"kind": "vendor-index",
"items_seen": 1276
},
{
"system_id": "django",
"source_name": "Django Security Weblog",
"source_kind": "vendor-index",
"elapsed_seconds": 2.285,
"kind": "vendor-index",
"items_seen": 332
},
{
"system_id": "django",
"source_name": "OSV Django",
"source_kind": "osv-batch",
"elapsed_seconds": 1.701,
"kind": "osv-batch",
"items_seen": 1
},
{
"system_id": "drupal",
"source_name": "Drupal Security Advisories RSS",
"source_kind": "rss-feed",
"elapsed_seconds": 0.724,
"kind": "rss-feed",
"items_seen": 20
},
{
"system_id": "drupal",
"source_name": "OSV Drupal",
"source_kind": "osv-batch",
"elapsed_seconds": 0.003,
"kind": "osv-batch",
"items_seen": 1
},
{
"system_id": "echo",
"source_name": "OSV Echo",
"source_kind": "osv-batch",
"elapsed_seconds": 1.703,
"kind": "osv-batch",
"items_seen": 1
},
{
"system_id": "esbuild",
"source_name": "OSV esbuild",
"source_kind": "osv-batch",
"elapsed_seconds": 1.367,
"kind": "osv-batch",
"items_seen": 1
},
{
"system_id": "express",
"source_name": "OSV Express",
"source_kind": "osv-batch",
"elapsed_seconds": 1.216,
"kind": "osv-batch",
"items_seen": 1
},
{
"system_id": "fastify",
"source_name": "OSV Fastify",
"source_kind": "osv-batch",
"elapsed_seconds": 1.217,
"kind": "osv-batch",
"items_seen": 1
},
{
"system_id": "flask",
"source_name": "OSV Flask",
"source_kind": "osv-batch",
"elapsed_seconds": 1.702,
"kind": "osv-batch",
"items_seen": 1
},
{
"system_id": "ghost",
"source_name": "Ghost GitHub Advisories",
"source_kind": "html-links",
"elapsed_seconds": 1.217,
"kind": "html-links",
"items_seen": 119
},
{
"system_id": "ghost",
"source_name": "OSV Ghost",
"source_kind": "osv-batch",
"elapsed_seconds": 0.003,
"kind": "osv-batch",
"items_seen": 1
},
{
"system_id": "gin",
"source_name": "OSV Gin",
"source_kind": "osv-batch",
"elapsed_seconds": 1.703,
"kind": "osv-batch",
"items_seen": 1
},
{
"system_id": "gitea",
"source_name": "GitHub Gitea Advisories",
"source_kind": "html-links",
"elapsed_seconds": 3.103,
"kind": "html-links",
"items_seen": 98
},
{
"system_id": "gitea",
"source_name": "OSV Gitea",
"source_kind": "osv-batch",
"elapsed_seconds": 2.259,
"kind": "osv-batch",
"items_seen": 1
},
{
"system_id": "gitlab-ce",
"source_name": "GitLab Advisory Database",
"source_kind": "html-links",
"elapsed_seconds": 3.272,
"kind": "html-links",
"items_seen": 5
},
{
"system_id": "gitlab-ce",
"source_name": "GitLab Security Releases",
"source_kind": "html-links",
"elapsed_seconds": 3.091,
"kind": "html-links",
"items_seen": 250
},
{
"system_id": "gitlab-ce",
"source_name": "GitLab Security Releases Atom",
"source_kind": "atom-feed",
"elapsed_seconds": 4.158,
"kind": "atom-feed",
"items_seen": 186
},
{
"system_id": "grafana",
"source_name": "CISA KEV Grafana",
"source_kind": "kev-json",
"elapsed_seconds": 3.513,
"kind": "kev-json",
"items_seen": 1545
},
{
"system_id": "grafana",
"source_name": "Grafana Security Advisories",
"source_kind": "html-links",
"elapsed_seconds": 3.852,
"kind": "html-links",
"items_seen": 159
},
{
"system_id": "hapi",
"source_name": "OSV Hapi",
"source_kind": "osv-batch",
"elapsed_seconds": 1.217,
"kind": "osv-batch",
"items_seen": 1
},
{
"system_id": "haproxy",
"source_name": "HAProxy Blog Feed",
"source_kind": "rss-feed",
"elapsed_seconds": 4.003,
"kind": "rss-feed",
"items_seen": 10
},
{
"system_id": "jenkins",
"source_name": "Jenkins Security Advisories",
"source_kind": "html-links",
"elapsed_seconds": 3.186,
"kind": "html-links",
"items_seen": 1194
},
{
"system_id": "jenkins",
"source_name": "Jenkins Security Advisories RSS",
"source_kind": "rss-feed",
"elapsed_seconds": 3.284,
"kind": "rss-feed",
"items_seen": 96
},
{
"system_id": "joomla",
"source_name": "Joomla Security Centre",
"source_kind": "html-links",
"elapsed_seconds": 1.204,
"kind": "html-links",
"items_seen": 139
},
{
"system_id": "joomla",
"source_name": "OSV Joomla",
"source_kind": "osv-batch",
"elapsed_seconds": 0.003,
"kind": "osv-batch",
"items_seen": 1
},
{
"system_id": "kibana",
"source_name": "Elastic Security Announcements",
"source_kind": "html-links",
"elapsed_seconds": 3.794,
"kind": "html-links",
"items_seen": 71
},
{
"system_id": "kibana",
"source_name": "Elastic Security Announcements RSS",
"source_kind": "rss-feed",
"elapsed_seconds": 3.703,
"kind": "rss-feed",
"items_seen": 25
},
{
"system_id": "koa",
"source_name": "OSV Koa",
"source_kind": "osv-batch",
"elapsed_seconds": 1.216,
"kind": "osv-batch",
"items_seen": 1
},
{
"system_id": "laravel",
"source_name": "OSV Laravel",
"source_kind": "osv-batch",
"elapsed_seconds": 1.526,
"kind": "osv-batch",
"items_seen": 1
},
{
"system_id": "magento-open-source",
"source_name": "Magento GitHub Advisories",
"source_kind": "html-links",
"elapsed_seconds": 1.195,
"kind": "html-links",
"items_seen": 99
},
{
"system_id": "magento-open-source",
"source_name": "OSV Magento Open Source",
"source_kind": "osv-batch",
"elapsed_seconds": 0.002,
"kind": "osv-batch",
"items_seen": 1
},
{
"system_id": "magento-open-source",
"source_name": "Sansec Research",
"source_kind": "html-links",
"elapsed_seconds": 1.22,
"kind": "html-links",
"items_seen": 134
},
{
"system_id": "mattermost",
"source_name": "Mattermost Security Updates JSON",
"source_kind": "json-feed",
"elapsed_seconds": 3.492,
"kind": "json-feed",
"items_seen": 594
},
{
"system_id": "mattermost",
"source_name": "OSV Mattermost",
"source_kind": "osv-batch",
"elapsed_seconds": 2.773,
"kind": "osv-batch",
"items_seen": 1
},
{
"system_id": "mediawiki",
"source_name": "MediaWiki Announce RSS",
"source_kind": "rss-feed",
"elapsed_seconds": 1.744,
"kind": "rss-feed",
"items_seen": 30
},
{
"system_id": "mediawiki",
"source_name": "OSV MediaWiki",
"source_kind": "osv-batch",
"elapsed_seconds": 0.002,
"kind": "osv-batch",
"items_seen": 1
},
{
"system_id": "medusa",
"source_name": "GitHub Medusa Advisories",
"source_kind": "html-links",
"elapsed_seconds": 2.053,
"kind": "html-links",
"items_seen": 102
},
{
"system_id": "medusa",
"source_name": "OSV Medusa",
"source_kind": "osv-batch",
"elapsed_seconds": 1.205,
"kind": "osv-batch",
"items_seen": 1
},
{
"system_id": "moodle",
"source_name": "OSV Moodle",
"source_kind": "osv-batch",
"elapsed_seconds": 0.003,
"kind": "osv-batch",
"items_seen": 1
},
{
"system_id": "nestjs",
"source_name": "OSV NestJS",
"source_kind": "osv-batch",
"elapsed_seconds": 1.216,
"kind": "osv-batch",
"items_seen": 1
},
{
"system_id": "nextjs",
"source_name": "GitHub Next.js Advisories",
"source_kind": "html-links",
"elapsed_seconds": 2.062,
"kind": "html-links",
"items_seen": 123
},
{
"system_id": "nextjs",
"source_name": "OSV Next.js",
"source_kind": "osv-batch",
"elapsed_seconds": 1.206,
"kind": "osv-batch",
"items_seen": 1
},
{
"system_id": "nginx",
"source_name": "CISA KEV NGINX",
"source_kind": "kev-json",
"elapsed_seconds": 2.979,
"kind": "kev-json",
"items_seen": 1545
},
{
"system_id": "nginx",
"source_name": "NGINX Security Advisories",
"source_kind": "html-links",
"elapsed_seconds": 2.565,
"kind": "html-links",
"items_seen": 138
},
{
"system_id": "nodejs",
"source_name": "CISA KEV Node.js",
"source_kind": "kev-json",
"elapsed_seconds": 2.335,
"kind": "kev-json",
"items_seen": 1545
},
{
"system_id": "nodejs",
"source_name": "Node.js Security Releases",
"source_kind": "html-links",
"elapsed_seconds": 2.258,
"kind": "html-links",
"items_seen": 74
},
{
"system_id": "nuxt",
"source_name": "Nuxt Security",
"source_kind": "html-links",
"elapsed_seconds": 2.236,
"kind": "html-links",
"items_seen": 118
},
{
"system_id": "nuxt",
"source_name": "OSV Nuxt",
"source_kind": "osv-batch",
"elapsed_seconds": 1.21,
"kind": "osv-batch",
"items_seen": 1
},
{
"system_id": "opencart",
"source_name": "OSV OpenCart",
"source_kind": "osv-batch",
"elapsed_seconds": 1.183,
"kind": "osv-batch",
"items_seen": 1
},
{
"system_id": "opencart",
"source_name": "OpenCart Releases",
"source_kind": "html-links",
"elapsed_seconds": 2.131,
"kind": "html-links",
"items_seen": 1500
},
{
"system_id": "openmage",
"source_name": "OSV OpenMage",
"source_kind": "osv-batch",
"elapsed_seconds": 0.002,
"kind": "osv-batch",
"items_seen": 1
},
{
"system_id": "openmage",
"source_name": "OpenMage GitHub Advisories",
"source_kind": "html-links",
"elapsed_seconds": 1.183,
"kind": "html-links",
"items_seen": 125
},
{
"system_id": "phpmyadmin",
"source_name": "OSV phpMyAdmin",
"source_kind": "osv-batch",
"elapsed_seconds": 2.248,
"kind": "osv-batch",
"items_seen": 1
},
{
"system_id": "phpmyadmin",
"source_name": "phpMyAdmin Security Page",
"source_kind": "html-links",
"elapsed_seconds": 2.967,
"kind": "html-links",
"items_seen": 262
},
{
"system_id": "prestashop",
"source_name": "Friends Of Presta Security",
"source_kind": "html-links",
"elapsed_seconds": 1.561,
"kind": "html-links",
"items_seen": 38
},
{
"system_id": "prestashop",
"source_name": "GitHub PrestaShop Advisories",
"source_kind": "html-links",
"elapsed_seconds": 1.701,
"kind": "html-links",
"items_seen": 127
},
{
"system_id": "prestashop",
"source_name": "OSV PrestaShop",
"source_kind": "osv-batch",
"elapsed_seconds": 0.861,
"kind": "osv-batch",
"items_seen": 1
},
{
"system_id": "prestashop",
"source_name": "PrestaShop Security Page",
"source_kind": "html-links",
"elapsed_seconds": 1.517,
"kind": "html-links",
"items_seen": 60
},
{
"system_id": "rails",
"source_name": "OSV Rails",
"source_kind": "osv-batch",
"elapsed_seconds": 1.702,
"kind": "osv-batch",
"items_seen": 1
},
{
"system_id": "react",
"source_name": "GitHub React Advisories",
"source_kind": "html-links",
"elapsed_seconds": 2.057,
"kind": "html-links",
"items_seen": 110
},
{
"system_id": "react",
"source_name": "OSV React",
"source_kind": "osv-batch",
"elapsed_seconds": 1.205,
"kind": "osv-batch",
"items_seen": 1
},
{
"system_id": "redmine",
"source_name": "OSV Redmine",
"source_kind": "osv-batch",
"elapsed_seconds": 2.948,
"kind": "osv-batch",
"items_seen": 1
},
{
"system_id": "redmine",
"source_name": "Redmine Security Advisories",
"source_kind": "html-links",
"elapsed_seconds": 4.655,
"kind": "html-links",
"items_seen": 371
},
{
"system_id": "saleor",
"source_name": "GitHub Saleor Advisories",
"source_kind": "html-links",
"elapsed_seconds": 2.23,
"kind": "html-links",
"items_seen": 120
},
{
"system_id": "saleor",
"source_name": "OSV Saleor",
"source_kind": "osv-batch",
"elapsed_seconds": 1.187,
"kind": "osv-batch",
"items_seen": 1
},
{
"system_id": "shopware",
"source_name": "OSV Shopware",
"source_kind": "osv-batch",
"elapsed_seconds": 0.987,
"kind": "osv-batch",
"items_seen": 1
},
{
"system_id": "shopware",
"source_name": "Shopware Security Advisories",
"source_kind": "html-links",
"elapsed_seconds": 2.226,
"kind": "html-links",
"items_seen": 129
},
{
"system_id": "spring-boot",
"source_name": "OSV Spring Boot",
"source_kind": "osv-batch",
"elapsed_seconds": 1.525,
"kind": "osv-batch",
"items_seen": 1
},
{
"system_id": "spring-boot",
"source_name": "Spring Security Advisories",
"source_kind": "html-links",
"elapsed_seconds": 2.615,
"kind": "html-links",
"items_seen": 118
},
{
"system_id": "spring-framework",
"source_name": "OSV Spring Framework",
"source_kind": "osv-batch",
"elapsed_seconds": 1.384,
"kind": "osv-batch",
"items_seen": 1
},
{
"system_id": "spring-framework",
"source_name": "Spring Security Advisories",
"source_kind": "html-links",
"elapsed_seconds": 2.573,
"kind": "html-links",
"items_seen": 118
},
{
"system_id": "spring-security",
"source_name": "OSV Spring Security",
"source_kind": "osv-batch",
"elapsed_seconds": 1.519,
"kind": "osv-batch",
"items_seen": 1
},
{
"system_id": "spring-security",
"source_name": "Spring Security Advisories",
"source_kind": "html-links",
"elapsed_seconds": 2.761,
"kind": "html-links",
"items_seen": 118
},
{
"system_id": "strapi",
"source_name": "OSV Strapi",
"source_kind": "osv-batch",
"elapsed_seconds": 0.003,
"kind": "osv-batch",
"items_seen": 1
},
{
"system_id": "strapi",
"source_name": "Strapi GitHub Advisories",
"source_kind": "html-links",
"elapsed_seconds": 1.197,
"kind": "html-links",
"items_seen": 124
},
{
"system_id": "sveltekit",
"source_name": "OSV SvelteKit",
"source_kind": "osv-batch",
"elapsed_seconds": 1.215,
"kind": "osv-batch",
"items_seen": 1
},
{
"system_id": "symfony",
"source_name": "OSV Symfony",
"source_kind": "osv-batch",
"elapsed_seconds": 1.527,
"kind": "osv-batch",
"items_seen": 1
},
{
"system_id": "traefik",
"source_name": "GitHub Traefik Advisories",
"source_kind": "html-links",
"elapsed_seconds": 3.102,
"kind": "html-links",
"items_seen": 124
},
{
"system_id": "traefik",
"source_name": "OSV Traefik",
"source_kind": "osv-batch",
"elapsed_seconds": 2.231,
"kind": "osv-batch",
"items_seen": 1
},
{
"system_id": "undici",
"source_name": "OSV Undici",
"source_kind": "osv-batch",
"elapsed_seconds": 1.366,
"kind": "osv-batch",
"items_seen": 1
},
{
"system_id": "vite",
"source_name": "OSV Vite",
"source_kind": "osv-batch",
"elapsed_seconds": 1.214,
"kind": "osv-batch",
"items_seen": 1
},
{
"system_id": "vite",
"source_name": "Vite Security",
"source_kind": "html-links",
"elapsed_seconds": 2.062,
"kind": "html-links",
"items_seen": 124
},
{
"system_id": "vue",
"source_name": "OSV Vue",
"source_kind": "osv-batch",
"elapsed_seconds": 1.209,
"kind": "osv-batch",
"items_seen": 1
},
{
"system_id": "vue",
"source_name": "Vue Security",
"source_kind": "html-links",
"elapsed_seconds": 2.245,
"kind": "html-links",
"items_seen": 111
},
{
"system_id": "webpack",
"source_name": "OSV webpack",
"source_kind": "osv-batch",
"elapsed_seconds": 1.367,
"kind": "osv-batch",
"items_seen": 1
},
{
"system_id": "werkzeug",
"source_name": "OSV Werkzeug",
"source_kind": "osv-batch",
"elapsed_seconds": 1.702,
"kind": "osv-batch",
"items_seen": 1
},
{
"system_id": "woocommerce",
"source_name": "GitHub WooCommerce Advisories",
"source_kind": "html-links",
"elapsed_seconds": 1.178,
"kind": "html-links",
"items_seen": 107
},
{
"system_id": "woocommerce",
"source_name": "OSV WooCommerce",
"source_kind": "osv-batch",
"elapsed_seconds": 0.003,
"kind": "osv-batch",
"items_seen": 1
},
{
"system_id": "woocommerce",
"source_name": "Patchstack Database",
"source_kind": "html-links",
"elapsed_seconds": 2.948,
"kind": "html-links",
"items_seen": 193
},
{
"system_id": "woocommerce",
"source_name": "Woo Developer Advisories",
"source_kind": "html-links",
"elapsed_seconds": 0.861,
"kind": "html-links",
"items_seen": 121
},
{
"system_id": "woocommerce",
"source_name": "Wordfence Vulnerability Database",
"source_kind": "html-links",
"elapsed_seconds": 1.382,
"kind": "html-links",
"items_seen": 0
},
{
"system_id": "wordpress",
"source_name": "Patchstack Database",
"source_kind": "html-links",
"elapsed_seconds": 2.754,
"kind": "html-links",
"items_seen": 193
},
{
"system_id": "wordpress",
"source_name": "PortSwigger Research",
"source_kind": "html-links",
"elapsed_seconds": 1.369,
"kind": "html-links",
"items_seen": 99
},
{
"system_id": "wordpress",
"source_name": "WPScan Vulnerability Database",
"source_kind": "html-links",
"elapsed_seconds": 1.19,
"kind": "html-links",
"items_seen": 74
},
{
"system_id": "wordpress",
"source_name": "WordPress Security News RSS",
"source_kind": "rss-feed",
"elapsed_seconds": 0.989,
"kind": "rss-feed",
"items_seen": 10
},
{
"system_id": "wordpress",
"source_name": "Wordfence Vulnerability Database",
"source_kind": "html-links",
"elapsed_seconds": 0.674,
"kind": "html-links",
"items_seen": 0
}
],
"failures": [],
"slow_sources": [
{
"system_id": "redmine",
"source_name": "Redmine Security Advisories",
"source_kind": "html-links",
"elapsed_seconds": 4.655,
"status": "ok"
},
{
"system_id": "gitlab-ce",
"source_name": "GitLab Security Releases Atom",
"source_kind": "atom-feed",
"elapsed_seconds": 4.158,
"status": "ok"
},
{
"system_id": "haproxy",
"source_name": "HAProxy Blog Feed",
"source_kind": "rss-feed",
"elapsed_seconds": 4.003,
"status": "ok"
},
{
"system_id": "grafana",
"source_name": "Grafana Security Advisories",
"source_kind": "html-links",
"elapsed_seconds": 3.852,
"status": "ok"
},
{
"system_id": "kibana",
"source_name": "Elastic Security Announcements",
"source_kind": "html-links",
"elapsed_seconds": 3.794,
"status": "ok"
},
{
"system_id": "kibana",
"source_name": "Elastic Security Announcements RSS",
"source_kind": "rss-feed",
"elapsed_seconds": 3.703,
"status": "ok"
},
{
"system_id": "grafana",
"source_name": "CISA KEV Grafana",
"source_kind": "kev-json",
"elapsed_seconds": 3.513,
"status": "ok"
},
{
"system_id": "mattermost",
"source_name": "Mattermost Security Updates JSON",
"source_kind": "json-feed",
"elapsed_seconds": 3.492,
"status": "ok"
},
{
"system_id": "jenkins",
"source_name": "Jenkins Security Advisories RSS",
"source_kind": "rss-feed",
"elapsed_seconds": 3.284,
"status": "ok"
},
{
"system_id": "gitlab-ce",
"source_name": "GitLab Advisory Database",
"source_kind": "html-links",
"elapsed_seconds": 3.272,
"status": "ok"
}
],
"systems": [
{
"system_id": "adminer",
"display_name": "Adminer",
"active_source_total": 1,
"green_source_total": 1,
"failure_count": 0
},
{
"system_id": "adobe-commerce",
"display_name": "Adobe Commerce",
"active_source_total": 1,
"green_source_total": 1,
"failure_count": 0
},
{
"system_id": "angular",
"display_name": "Angular",
"active_source_total": 1,
"green_source_total": 1,
"failure_count": 0
},
{
"system_id": "apache-httpd",
"display_name": "Apache HTTP Server",
"active_source_total": 2,
"green_source_total": 2,
"failure_count": 0
},
{
"system_id": "apache-tomcat",
"display_name": "Apache Tomcat",
"active_source_total": 2,
"green_source_total": 2,
"failure_count": 0
},
{
"system_id": "aspnet-core",
"display_name": "ASP.NET Core",
"active_source_total": 1,
"green_source_total": 1,
"failure_count": 0
},
{
"system_id": "astro",
"display_name": "Astro",
"active_source_total": 1,
"green_source_total": 1,
"failure_count": 0
},
{
"system_id": "caddy",
"display_name": "Caddy",
"active_source_total": 2,
"green_source_total": 2,
"failure_count": 0
},
{
"system_id": "directus",
"display_name": "Directus",
"active_source_total": 2,
"green_source_total": 2,
"failure_count": 0
},
{
"system_id": "discourse",
"display_name": "Discourse",
"active_source_total": 3,
"green_source_total": 3,
"failure_count": 0
},
{
"system_id": "django",
"display_name": "Django",
"active_source_total": 3,
"green_source_total": 3,
"failure_count": 0
},
{
"system_id": "drupal",
"display_name": "Drupal",
"active_source_total": 2,
"green_source_total": 2,
"failure_count": 0
},
{
"system_id": "echo",
"display_name": "Echo",
"active_source_total": 1,
"green_source_total": 1,
"failure_count": 0
},
{
"system_id": "esbuild",
"display_name": "esbuild",
"active_source_total": 1,
"green_source_total": 1,
"failure_count": 0
},
{
"system_id": "express",
"display_name": "Express",
"active_source_total": 1,
"green_source_total": 1,
"failure_count": 0
},
{
"system_id": "fastify",
"display_name": "Fastify",
"active_source_total": 1,
"green_source_total": 1,
"failure_count": 0
},
{
"system_id": "flask",
"display_name": "Flask",
"active_source_total": 1,
"green_source_total": 1,
"failure_count": 0
},
{
"system_id": "ghost",
"display_name": "Ghost",
"active_source_total": 2,
"green_source_total": 2,
"failure_count": 0
},
{
"system_id": "gin",
"display_name": "Gin",
"active_source_total": 1,
"green_source_total": 1,
"failure_count": 0
},
{
"system_id": "gitea",
"display_name": "Gitea",
"active_source_total": 2,
"green_source_total": 2,
"failure_count": 0
},
{
"system_id": "gitlab-ce",
"display_name": "GitLab CE",
"active_source_total": 3,
"green_source_total": 3,
"failure_count": 0
},
{
"system_id": "grafana",
"display_name": "Grafana",
"active_source_total": 2,
"green_source_total": 2,
"failure_count": 0
},
{
"system_id": "hapi",
"display_name": "Hapi",
"active_source_total": 1,
"green_source_total": 1,
"failure_count": 0
},
{
"system_id": "haproxy",
"display_name": "HAProxy",
"active_source_total": 1,
"green_source_total": 1,
"failure_count": 0
},
{
"system_id": "jenkins",
"display_name": "Jenkins",
"active_source_total": 2,
"green_source_total": 2,
"failure_count": 0
},
{
"system_id": "joomla",
"display_name": "Joomla",
"active_source_total": 2,
"green_source_total": 2,
"failure_count": 0
},
{
"system_id": "kibana",
"display_name": "Kibana",
"active_source_total": 2,
"green_source_total": 2,
"failure_count": 0
},
{
"system_id": "koa",
"display_name": "Koa",
"active_source_total": 1,
"green_source_total": 1,
"failure_count": 0
},
{
"system_id": "laravel",
"display_name": "Laravel",
"active_source_total": 1,
"green_source_total": 1,
"failure_count": 0
},
{
"system_id": "magento-open-source",
"display_name": "Magento Open Source",
"active_source_total": 3,
"green_source_total": 3,
"failure_count": 0
},
{
"system_id": "mattermost",
"display_name": "Mattermost",
"active_source_total": 2,
"green_source_total": 2,
"failure_count": 0
},
{
"system_id": "mediawiki",
"display_name": "MediaWiki",
"active_source_total": 2,
"green_source_total": 2,
"failure_count": 0
},
{
"system_id": "medusa",
"display_name": "Medusa",
"active_source_total": 2,
"green_source_total": 2,
"failure_count": 0
},
{
"system_id": "moodle",
"display_name": "Moodle",
"active_source_total": 1,
"green_source_total": 1,
"failure_count": 0
},
{
"system_id": "nestjs",
"display_name": "NestJS",
"active_source_total": 1,
"green_source_total": 1,
"failure_count": 0
},
{
"system_id": "nextjs",
"display_name": "Next.js",
"active_source_total": 2,
"green_source_total": 2,
"failure_count": 0
},
{
"system_id": "nginx",
"display_name": "Nginx",
"active_source_total": 2,
"green_source_total": 2,
"failure_count": 0
},
{
"system_id": "nodejs",
"display_name": "Node.js",
"active_source_total": 2,
"green_source_total": 2,
"failure_count": 0
},
{
"system_id": "nuxt",
"display_name": "Nuxt",
"active_source_total": 2,
"green_source_total": 2,
"failure_count": 0
},
{
"system_id": "opencart",
"display_name": "OpenCart",
"active_source_total": 2,
"green_source_total": 2,
"failure_count": 0
},
{
"system_id": "openmage",
"display_name": "OpenMage / Mage-OS",
"active_source_total": 2,
"green_source_total": 2,
"failure_count": 0
},
{
"system_id": "phpmyadmin",
"display_name": "phpMyAdmin",
"active_source_total": 2,
"green_source_total": 2,
"failure_count": 0
},
{
"system_id": "prestashop",
"display_name": "PrestaShop",
"active_source_total": 4,
"green_source_total": 4,
"failure_count": 0
},
{
"system_id": "rails",
"display_name": "Ruby on Rails",
"active_source_total": 1,
"green_source_total": 1,
"failure_count": 0
},
{
"system_id": "react",
"display_name": "React",
"active_source_total": 2,
"green_source_total": 2,
"failure_count": 0
},
{
"system_id": "redmine",
"display_name": "Redmine",
"active_source_total": 2,
"green_source_total": 2,
"failure_count": 0
},
{
"system_id": "saleor",
"display_name": "Saleor",
"active_source_total": 2,
"green_source_total": 2,
"failure_count": 0
},
{
"system_id": "shopware",
"display_name": "Shopware",
"active_source_total": 2,
"green_source_total": 2,
"failure_count": 0
},
{
"system_id": "spring-boot",
"display_name": "Spring Boot",
"active_source_total": 2,
"green_source_total": 2,
"failure_count": 0
},
{
"system_id": "spring-framework",
"display_name": "Spring Framework",
"active_source_total": 2,
"green_source_total": 2,
"failure_count": 0
},
{
"system_id": "spring-security",
"display_name": "Spring Security",
"active_source_total": 2,
"green_source_total": 2,
"failure_count": 0
},
{
"system_id": "strapi",
"display_name": "Strapi",
"active_source_total": 2,
"green_source_total": 2,
"failure_count": 0
},
{
"system_id": "sveltekit",
"display_name": "SvelteKit",
"active_source_total": 1,
"green_source_total": 1,
"failure_count": 0
},
{
"system_id": "symfony",
"display_name": "Symfony",
"active_source_total": 1,
"green_source_total": 1,
"failure_count": 0
},
{
"system_id": "traefik",
"display_name": "Traefik",
"active_source_total": 2,
"green_source_total": 2,
"failure_count": 0
},
{
"system_id": "undici",
"display_name": "Undici",
"active_source_total": 1,
"green_source_total": 1,
"failure_count": 0
},
{
"system_id": "vite",
"display_name": "Vite",
"active_source_total": 2,
"green_source_total": 2,
"failure_count": 0
},
{
"system_id": "vue",
"display_name": "Vue",
"active_source_total": 2,
"green_source_total": 2,
"failure_count": 0
},
{
"system_id": "webpack",
"display_name": "webpack",
"active_source_total": 1,
"green_source_total": 1,
"failure_count": 0
},
{
"system_id": "werkzeug",
"display_name": "Werkzeug",
"active_source_total": 1,
"green_source_total": 1,
"failure_count": 0
},
{
"system_id": "woocommerce",
"display_name": "WooCommerce",
"active_source_total": 5,
"green_source_total": 5,
"failure_count": 0
},
{
"system_id": "wordpress",
"display_name": "WordPress",
"active_source_total": 5,
"green_source_total": 5,
"failure_count": 0
}
]
},
"alerts": [
{
"alert_id": "django::OSV Django",
"system_id": "django",
"display_name": "Django",
"source_name": "OSV Django",
"source_kind": "osv-batch",
"status": "resolved",
"opened_at": "2026-03-19T02:27:12+00:00",
"updated_at": "2026-03-19T02:27:12+00:00",
"resolved_at": "2026-03-19T02:27:12+00:00",
"failure_streak": 1,
"last_category": "tls",
"last_failure": {
"system_id": "django",
"display_name": "Django",
"source_name": "OSV Django",
"source_kind": "osv-batch",
"source_bucket": "official_sources",
"category": "tls",
"exception": "SSLError",
"message": "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)')))",
"status_code": null,
"url": "",
"summary": "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)')))",
"elapsed_seconds": 25.112
}
},
{
"alert_id": "flask::OSV Flask",
"system_id": "flask",
"display_name": "Flask",
"source_name": "OSV Flask",
"source_kind": "osv-batch",
"status": "resolved",
"opened_at": "2026-03-19T02:27:12+00:00",
"updated_at": "2026-03-19T02:27:12+00:00",
"resolved_at": "2026-03-19T02:27:12+00:00",
"failure_streak": 1,
"last_category": "tls",
"last_failure": {
"system_id": "flask",
"display_name": "Flask",
"source_name": "OSV Flask",
"source_kind": "osv-batch",
"source_bucket": "official_sources",
"category": "tls",
"exception": "SSLError",
"message": "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)')))",
"status_code": null,
"url": "",
"summary": "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)')))",
"elapsed_seconds": 25.129
}
},
{
"alert_id": "spring-security::OSV Spring Security",
"system_id": "spring-security",
"display_name": "Spring Security",
"source_name": "OSV Spring Security",
"source_kind": "osv-batch",
"status": "resolved",
"opened_at": "2026-03-19T02:27:12+00:00",
"updated_at": "2026-03-19T02:27:12+00:00",
"resolved_at": "2026-03-19T02:27:12+00:00",
"failure_streak": 1,
"last_category": "tls",
"last_failure": {
"system_id": "spring-security",
"display_name": "Spring Security",
"source_name": "OSV Spring Security",
"source_kind": "osv-batch",
"source_bucket": "ecosystem_sources",
"category": "tls",
"exception": "SSLError",
"message": "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)')))",
"status_code": null,
"url": "",
"summary": "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)')))",
"elapsed_seconds": 25.247
}
},
{
"alert_id": "symfony::OSV Symfony",
"system_id": "symfony",
"display_name": "Symfony",
"source_name": "OSV Symfony",
"source_kind": "osv-batch",
"status": "resolved",
"opened_at": "2026-03-19T02:27:12+00:00",
"updated_at": "2026-03-19T02:27:12+00:00",
"resolved_at": "2026-03-19T02:27:12+00:00",
"failure_streak": 1,
"last_category": "tls",
"last_failure": {
"system_id": "symfony",
"display_name": "Symfony",
"source_name": "OSV Symfony",
"source_kind": "osv-batch",
"source_bucket": "official_sources",
"category": "tls",
"exception": "SSLError",
"message": "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)')))",
"status_code": null,
"url": "",
"summary": "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)')))",
"elapsed_seconds": 25.232
}
}
],
"monitor_summary": {
"generated_at": "2026-03-19T09:17:08+00:00",
"active_source_count": 113,
"green_source_count": 113,
"source_failure_count": 0,
"open_alert_count": 0,
"resolved_alert_count": 4,
"last_fully_green_run": "2026-03-19T09:17:08+00:00",
"source_catalog": {
"system_count": 62,
"source_count": 179,
"retired_source_count": 66
},
"ingest": {
"new_count": 0,
"updated_count": 0,
"failure_count": 0,
"systems_touched": []
},
"validation": {
"passed": true,
"error_count": 0,
"errors": []
}
}
}