文件
websafe-kb/08-threat-intel/generated/dashboard/data/completeness.json

863 行
24 KiB
JSON

{
"generated_at": "2026-03-20T00:56:32+00:00",
"advisory_total": 89,
"registry_advisory_total": 2399,
"scope": "latest-run-backed-advisories",
"latest_statuses": {
"verified-real": 89
},
"historical_statuses": {
"verified-real": 136,
"blocked-artifact": 3,
"triage-manual": 1
},
"verified_real": 89,
"verified_synthetic": 0,
"blocked": 0,
"manual": 0,
"verified_ratio": 100.0,
"complete": true,
"systems": [
{
"system_id": "gitea",
"display_name": "Gitea",
"total": 37,
"verified_real": 37,
"verified_synthetic": 0,
"blocked": 0,
"manual": 0,
"families": [
{
"family": "authz-bypass",
"total": 3,
"verified_real": 3,
"verified_synthetic": 0,
"blocked": 0,
"manual": 0
},
{
"family": "file-upload",
"total": 2,
"verified_real": 2,
"verified_synthetic": 0,
"blocked": 0,
"manual": 0
},
{
"family": "proxy-boundary",
"total": 26,
"verified_real": 26,
"verified_synthetic": 0,
"blocked": 0,
"manual": 0
},
{
"family": "ssrf",
"total": 1,
"verified_real": 1,
"verified_synthetic": 0,
"blocked": 0,
"manual": 0
},
{
"family": "xss",
"total": 5,
"verified_real": 5,
"verified_synthetic": 0,
"blocked": 0,
"manual": 0
}
]
},
{
"system_id": "nextjs",
"display_name": "Next.js",
"total": 26,
"verified_real": 26,
"verified_synthetic": 0,
"blocked": 0,
"manual": 0,
"families": [
{
"family": "authz-bypass",
"total": 2,
"verified_real": 2,
"verified_synthetic": 0,
"blocked": 0,
"manual": 0
},
{
"family": "deserialization",
"total": 1,
"verified_real": 1,
"verified_synthetic": 0,
"blocked": 0,
"manual": 0
},
{
"family": "proxy-boundary",
"total": 19,
"verified_real": 19,
"verified_synthetic": 0,
"blocked": 0,
"manual": 0
},
{
"family": "ssrf",
"total": 2,
"verified_real": 2,
"verified_synthetic": 0,
"blocked": 0,
"manual": 0
},
{
"family": "xss",
"total": 2,
"verified_real": 2,
"verified_synthetic": 0,
"blocked": 0,
"manual": 0
}
]
},
{
"system_id": "undici",
"display_name": "Undici",
"total": 14,
"verified_real": 14,
"verified_synthetic": 0,
"blocked": 0,
"manual": 0,
"families": [
{
"family": "ssrf",
"total": 14,
"verified_real": 14,
"verified_synthetic": 0,
"blocked": 0,
"manual": 0
}
]
},
{
"system_id": "vite",
"display_name": "Vite",
"total": 12,
"verified_real": 12,
"verified_synthetic": 0,
"blocked": 0,
"manual": 0,
"families": [
{
"family": "proxy-boundary",
"total": 11,
"verified_real": 11,
"verified_synthetic": 0,
"blocked": 0,
"manual": 0
},
{
"family": "xss",
"total": 1,
"verified_real": 1,
"verified_synthetic": 0,
"blocked": 0,
"manual": 0
}
]
}
],
"ingest_health": {
"failure_count": 0,
"failures": []
},
"source_health": {
"active_source_count": 101,
"green_source_count": 101,
"failure_count": 0,
"last_fully_green_run": "2026-03-20T00:56:25+00:00",
"open_alert_count": 0,
"resolved_alert_count": 4
},
"entity_coverage": {
"generated_at": "2026-03-20T00:56:31+00:00",
"cataloged_entity_total": 97,
"candidate_entity_total": 17,
"history_full_complete_count": 40,
"latest_green_count": 97,
"workflow_complete_count": 97,
"version_mapped_count": 49,
"official_source_covered_count": 97,
"plugin_history_full_count": 4,
"systems": [
{
"system_id": "adminer",
"display_name": "Adminer",
"cataloged_entity_total": 1,
"candidate_entity_total": 0,
"workflow_complete_count": 1,
"version_mapped_count": 0,
"official_source_covered_count": 1,
"plugin_total": 0
},
{
"system_id": "adobe-commerce",
"display_name": "Adobe Commerce",
"cataloged_entity_total": 1,
"candidate_entity_total": 0,
"workflow_complete_count": 1,
"version_mapped_count": 0,
"official_source_covered_count": 1,
"plugin_total": 0
},
{
"system_id": "angular",
"display_name": "Angular",
"cataloged_entity_total": 2,
"candidate_entity_total": 0,
"workflow_complete_count": 2,
"version_mapped_count": 2,
"official_source_covered_count": 2,
"plugin_total": 0
},
{
"system_id": "apache-httpd",
"display_name": "Apache HTTP Server",
"cataloged_entity_total": 1,
"candidate_entity_total": 0,
"workflow_complete_count": 1,
"version_mapped_count": 0,
"official_source_covered_count": 1,
"plugin_total": 0
},
{
"system_id": "apache-tomcat",
"display_name": "Apache Tomcat",
"cataloged_entity_total": 1,
"candidate_entity_total": 0,
"workflow_complete_count": 1,
"version_mapped_count": 0,
"official_source_covered_count": 1,
"plugin_total": 0
},
{
"system_id": "aspnet-core",
"display_name": "ASP.NET Core",
"cataloged_entity_total": 1,
"candidate_entity_total": 0,
"workflow_complete_count": 1,
"version_mapped_count": 0,
"official_source_covered_count": 1,
"plugin_total": 0
},
{
"system_id": "astro",
"display_name": "Astro",
"cataloged_entity_total": 3,
"candidate_entity_total": 0,
"workflow_complete_count": 3,
"version_mapped_count": 3,
"official_source_covered_count": 3,
"plugin_total": 1
},
{
"system_id": "caddy",
"display_name": "Caddy",
"cataloged_entity_total": 3,
"candidate_entity_total": 0,
"workflow_complete_count": 3,
"version_mapped_count": 2,
"official_source_covered_count": 3,
"plugin_total": 1
},
{
"system_id": "directus",
"display_name": "Directus",
"cataloged_entity_total": 1,
"candidate_entity_total": 1,
"workflow_complete_count": 1,
"version_mapped_count": 0,
"official_source_covered_count": 1,
"plugin_total": 0
},
{
"system_id": "discourse",
"display_name": "Discourse",
"cataloged_entity_total": 1,
"candidate_entity_total": 0,
"workflow_complete_count": 1,
"version_mapped_count": 0,
"official_source_covered_count": 1,
"plugin_total": 0
},
{
"system_id": "django",
"display_name": "Django",
"cataloged_entity_total": 2,
"candidate_entity_total": 0,
"workflow_complete_count": 2,
"version_mapped_count": 1,
"official_source_covered_count": 2,
"plugin_total": 0
},
{
"system_id": "drupal",
"display_name": "Drupal",
"cataloged_entity_total": 1,
"candidate_entity_total": 0,
"workflow_complete_count": 1,
"version_mapped_count": 0,
"official_source_covered_count": 1,
"plugin_total": 0
},
{
"system_id": "echo",
"display_name": "Echo",
"cataloged_entity_total": 2,
"candidate_entity_total": 0,
"workflow_complete_count": 2,
"version_mapped_count": 2,
"official_source_covered_count": 2,
"plugin_total": 0
},
{
"system_id": "esbuild",
"display_name": "esbuild",
"cataloged_entity_total": 2,
"candidate_entity_total": 0,
"workflow_complete_count": 2,
"version_mapped_count": 2,
"official_source_covered_count": 2,
"plugin_total": 0
},
{
"system_id": "express",
"display_name": "Express",
"cataloged_entity_total": 1,
"candidate_entity_total": 0,
"workflow_complete_count": 1,
"version_mapped_count": 0,
"official_source_covered_count": 1,
"plugin_total": 0
},
{
"system_id": "fastify",
"display_name": "Fastify",
"cataloged_entity_total": 2,
"candidate_entity_total": 0,
"workflow_complete_count": 2,
"version_mapped_count": 2,
"official_source_covered_count": 2,
"plugin_total": 0
},
{
"system_id": "flask",
"display_name": "Flask",
"cataloged_entity_total": 2,
"candidate_entity_total": 0,
"workflow_complete_count": 2,
"version_mapped_count": 2,
"official_source_covered_count": 2,
"plugin_total": 0
},
{
"system_id": "ghost",
"display_name": "Ghost",
"cataloged_entity_total": 1,
"candidate_entity_total": 1,
"workflow_complete_count": 1,
"version_mapped_count": 0,
"official_source_covered_count": 1,
"plugin_total": 0
},
{
"system_id": "gin",
"display_name": "Gin",
"cataloged_entity_total": 2,
"candidate_entity_total": 0,
"workflow_complete_count": 2,
"version_mapped_count": 2,
"official_source_covered_count": 2,
"plugin_total": 0
},
{
"system_id": "gitea",
"display_name": "Gitea",
"cataloged_entity_total": 1,
"candidate_entity_total": 1,
"workflow_complete_count": 1,
"version_mapped_count": 0,
"official_source_covered_count": 1,
"plugin_total": 0
},
{
"system_id": "gitlab-ce",
"display_name": "GitLab CE",
"cataloged_entity_total": 1,
"candidate_entity_total": 0,
"workflow_complete_count": 1,
"version_mapped_count": 0,
"official_source_covered_count": 1,
"plugin_total": 0
},
{
"system_id": "grafana",
"display_name": "Grafana",
"cataloged_entity_total": 1,
"candidate_entity_total": 0,
"workflow_complete_count": 1,
"version_mapped_count": 0,
"official_source_covered_count": 1,
"plugin_total": 0
},
{
"system_id": "hapi",
"display_name": "Hapi",
"cataloged_entity_total": 2,
"candidate_entity_total": 0,
"workflow_complete_count": 2,
"version_mapped_count": 2,
"official_source_covered_count": 2,
"plugin_total": 0
},
{
"system_id": "haproxy",
"display_name": "HAProxy",
"cataloged_entity_total": 1,
"candidate_entity_total": 0,
"workflow_complete_count": 1,
"version_mapped_count": 0,
"official_source_covered_count": 1,
"plugin_total": 0
},
{
"system_id": "jenkins",
"display_name": "Jenkins",
"cataloged_entity_total": 1,
"candidate_entity_total": 0,
"workflow_complete_count": 1,
"version_mapped_count": 0,
"official_source_covered_count": 1,
"plugin_total": 0
},
{
"system_id": "joomla",
"display_name": "Joomla",
"cataloged_entity_total": 1,
"candidate_entity_total": 0,
"workflow_complete_count": 1,
"version_mapped_count": 0,
"official_source_covered_count": 1,
"plugin_total": 0
},
{
"system_id": "kibana",
"display_name": "Kibana",
"cataloged_entity_total": 1,
"candidate_entity_total": 0,
"workflow_complete_count": 1,
"version_mapped_count": 0,
"official_source_covered_count": 1,
"plugin_total": 0
},
{
"system_id": "koa",
"display_name": "Koa",
"cataloged_entity_total": 2,
"candidate_entity_total": 0,
"workflow_complete_count": 2,
"version_mapped_count": 2,
"official_source_covered_count": 2,
"plugin_total": 0
},
{
"system_id": "laravel",
"display_name": "Laravel",
"cataloged_entity_total": 2,
"candidate_entity_total": 0,
"workflow_complete_count": 2,
"version_mapped_count": 2,
"official_source_covered_count": 2,
"plugin_total": 0
},
{
"system_id": "magento-open-source",
"display_name": "Magento Open Source",
"cataloged_entity_total": 1,
"candidate_entity_total": 1,
"workflow_complete_count": 1,
"version_mapped_count": 0,
"official_source_covered_count": 1,
"plugin_total": 0
},
{
"system_id": "mattermost",
"display_name": "Mattermost",
"cataloged_entity_total": 5,
"candidate_entity_total": 0,
"workflow_complete_count": 5,
"version_mapped_count": 5,
"official_source_covered_count": 5,
"plugin_total": 1
},
{
"system_id": "mediawiki",
"display_name": "MediaWiki",
"cataloged_entity_total": 1,
"candidate_entity_total": 0,
"workflow_complete_count": 1,
"version_mapped_count": 0,
"official_source_covered_count": 1,
"plugin_total": 0
},
{
"system_id": "medusa",
"display_name": "Medusa",
"cataloged_entity_total": 1,
"candidate_entity_total": 1,
"workflow_complete_count": 1,
"version_mapped_count": 0,
"official_source_covered_count": 1,
"plugin_total": 0
},
{
"system_id": "moodle",
"display_name": "Moodle",
"cataloged_entity_total": 1,
"candidate_entity_total": 0,
"workflow_complete_count": 1,
"version_mapped_count": 0,
"official_source_covered_count": 1,
"plugin_total": 0
},
{
"system_id": "nestjs",
"display_name": "NestJS",
"cataloged_entity_total": 1,
"candidate_entity_total": 0,
"workflow_complete_count": 1,
"version_mapped_count": 0,
"official_source_covered_count": 1,
"plugin_total": 0
},
{
"system_id": "nextjs",
"display_name": "Next.js",
"cataloged_entity_total": 2,
"candidate_entity_total": 1,
"workflow_complete_count": 2,
"version_mapped_count": 1,
"official_source_covered_count": 2,
"plugin_total": 0
},
{
"system_id": "nginx",
"display_name": "Nginx",
"cataloged_entity_total": 1,
"candidate_entity_total": 0,
"workflow_complete_count": 1,
"version_mapped_count": 0,
"official_source_covered_count": 1,
"plugin_total": 0
},
{
"system_id": "nodejs",
"display_name": "Node.js",
"cataloged_entity_total": 1,
"candidate_entity_total": 0,
"workflow_complete_count": 1,
"version_mapped_count": 0,
"official_source_covered_count": 1,
"plugin_total": 0
},
{
"system_id": "nuxt",
"display_name": "Nuxt",
"cataloged_entity_total": 2,
"candidate_entity_total": 1,
"workflow_complete_count": 2,
"version_mapped_count": 1,
"official_source_covered_count": 2,
"plugin_total": 0
},
{
"system_id": "opencart",
"display_name": "OpenCart",
"cataloged_entity_total": 1,
"candidate_entity_total": 1,
"workflow_complete_count": 1,
"version_mapped_count": 0,
"official_source_covered_count": 1,
"plugin_total": 0
},
{
"system_id": "openmage",
"display_name": "OpenMage / Mage-OS",
"cataloged_entity_total": 1,
"candidate_entity_total": 1,
"workflow_complete_count": 1,
"version_mapped_count": 0,
"official_source_covered_count": 1,
"plugin_total": 0
},
{
"system_id": "phpmyadmin",
"display_name": "phpMyAdmin",
"cataloged_entity_total": 1,
"candidate_entity_total": 0,
"workflow_complete_count": 1,
"version_mapped_count": 0,
"official_source_covered_count": 1,
"plugin_total": 0
},
{
"system_id": "prestashop",
"display_name": "PrestaShop",
"cataloged_entity_total": 1,
"candidate_entity_total": 1,
"workflow_complete_count": 1,
"version_mapped_count": 0,
"official_source_covered_count": 1,
"plugin_total": 0
},
{
"system_id": "rails",
"display_name": "Ruby on Rails",
"cataloged_entity_total": 2,
"candidate_entity_total": 0,
"workflow_complete_count": 2,
"version_mapped_count": 1,
"official_source_covered_count": 2,
"plugin_total": 0
},
{
"system_id": "react",
"display_name": "React",
"cataloged_entity_total": 3,
"candidate_entity_total": 1,
"workflow_complete_count": 3,
"version_mapped_count": 2,
"official_source_covered_count": 3,
"plugin_total": 0
},
{
"system_id": "redmine",
"display_name": "Redmine",
"cataloged_entity_total": 1,
"candidate_entity_total": 0,
"workflow_complete_count": 1,
"version_mapped_count": 0,
"official_source_covered_count": 1,
"plugin_total": 0
},
{
"system_id": "saleor",
"display_name": "Saleor",
"cataloged_entity_total": 1,
"candidate_entity_total": 1,
"workflow_complete_count": 1,
"version_mapped_count": 0,
"official_source_covered_count": 1,
"plugin_total": 0
},
{
"system_id": "shopware",
"display_name": "Shopware",
"cataloged_entity_total": 1,
"candidate_entity_total": 1,
"workflow_complete_count": 1,
"version_mapped_count": 0,
"official_source_covered_count": 1,
"plugin_total": 0
},
{
"system_id": "spring-boot",
"display_name": "Spring Boot",
"cataloged_entity_total": 2,
"candidate_entity_total": 0,
"workflow_complete_count": 2,
"version_mapped_count": 1,
"official_source_covered_count": 2,
"plugin_total": 0
},
{
"system_id": "spring-framework",
"display_name": "Spring Framework",
"cataloged_entity_total": 1,
"candidate_entity_total": 0,
"workflow_complete_count": 1,
"version_mapped_count": 0,
"official_source_covered_count": 1,
"plugin_total": 0
},
{
"system_id": "spring-security",
"display_name": "Spring Security",
"cataloged_entity_total": 1,
"candidate_entity_total": 0,
"workflow_complete_count": 1,
"version_mapped_count": 0,
"official_source_covered_count": 1,
"plugin_total": 0
},
{
"system_id": "strapi",
"display_name": "Strapi",
"cataloged_entity_total": 1,
"candidate_entity_total": 1,
"workflow_complete_count": 1,
"version_mapped_count": 0,
"official_source_covered_count": 1,
"plugin_total": 0
},
{
"system_id": "sveltekit",
"display_name": "SvelteKit",
"cataloged_entity_total": 2,
"candidate_entity_total": 0,
"workflow_complete_count": 2,
"version_mapped_count": 2,
"official_source_covered_count": 2,
"plugin_total": 0
},
{
"system_id": "symfony",
"display_name": "Symfony",
"cataloged_entity_total": 2,
"candidate_entity_total": 0,
"workflow_complete_count": 2,
"version_mapped_count": 2,
"official_source_covered_count": 2,
"plugin_total": 0
},
{
"system_id": "traefik",
"display_name": "Traefik",
"cataloged_entity_total": 2,
"candidate_entity_total": 0,
"workflow_complete_count": 2,
"version_mapped_count": 1,
"official_source_covered_count": 2,
"plugin_total": 0
},
{
"system_id": "undici",
"display_name": "Undici",
"cataloged_entity_total": 3,
"candidate_entity_total": 0,
"workflow_complete_count": 3,
"version_mapped_count": 2,
"official_source_covered_count": 3,
"plugin_total": 1
},
{
"system_id": "vite",
"display_name": "Vite",
"cataloged_entity_total": 5,
"candidate_entity_total": 1,
"workflow_complete_count": 5,
"version_mapped_count": 4,
"official_source_covered_count": 5,
"plugin_total": 3
},
{
"system_id": "vue",
"display_name": "Vue",
"cataloged_entity_total": 2,
"candidate_entity_total": 1,
"workflow_complete_count": 2,
"version_mapped_count": 1,
"official_source_covered_count": 2,
"plugin_total": 0
},
{
"system_id": "webpack",
"display_name": "webpack",
"cataloged_entity_total": 1,
"candidate_entity_total": 0,
"workflow_complete_count": 1,
"version_mapped_count": 0,
"official_source_covered_count": 1,
"plugin_total": 0
},
{
"system_id": "werkzeug",
"display_name": "Werkzeug",
"cataloged_entity_total": 2,
"candidate_entity_total": 0,
"workflow_complete_count": 2,
"version_mapped_count": 2,
"official_source_covered_count": 2,
"plugin_total": 0
},
{
"system_id": "woocommerce",
"display_name": "WooCommerce",
"cataloged_entity_total": 1,
"candidate_entity_total": 1,
"workflow_complete_count": 1,
"version_mapped_count": 0,
"official_source_covered_count": 1,
"plugin_total": 0
},
{
"system_id": "wordpress",
"display_name": "WordPress",
"cataloged_entity_total": 1,
"candidate_entity_total": 0,
"workflow_complete_count": 1,
"version_mapped_count": 0,
"official_source_covered_count": 1,
"plugin_total": 0
}
],
"queues": {
"discovery_queue": 17,
"history_queue": 15,
"latest_queue": 0,
"workflow_queue": 2176
}
},
"monitor_summary": {
"generated_at": "2026-03-20T00:56:25+00:00",
"active_source_count": 101,
"green_source_count": 101,
"source_failure_count": 0,
"open_alert_count": 0,
"resolved_alert_count": 4,
"last_fully_green_run": "2026-03-20T00:56:25+00:00",
"source_catalog": {
"system_count": 62,
"source_count": 179,
"retired_source_count": 78
},
"ingest": {
"new_count": 0,
"updated_count": 0,
"failure_count": 0,
"systems_touched": []
},
"validation": {
"passed": true,
"error_count": 0,
"errors": []
},
"entity_coverage": {
"cataloged_entity_total": 97,
"candidate_entity_total": 17,
"history_full_complete_count": 40,
"workflow_complete_count": 97,
"version_mapped_count": 49,
"official_source_covered_count": 97
}
},
"historical_blockers": [
"Docker daemon unavailable caused provision-compose-environment blocked-artifact.",
"Family profiles previously used note-only attack runners and dry-run placeholders.",
"Baseline and browser steps were skipped when environment readiness was not enforced.",
"Latest completeness now uses one advisory -> latest run semantics instead of historical run piles.",
"Source health now counts only status=active sources; retired sources are audited separately with replacement links.",
"Entity coverage now separates cataloged entities from discovery backlog so infinite internet scope no longer pollutes completion numbers."
]
}