文件
websafe-kb/08-threat-intel/generated/dashboard/docs/coverage-matrix.html

160 行
13 KiB
HTML

<!doctype html>
<html lang="zh-CN">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>覆盖矩阵镜像</title>
<style>
:root {
--bg: #08111f;
--panel: rgba(9, 18, 32, 0.9);
--border: rgba(137, 171, 214, 0.2);
--text: #f7fafc;
--muted: #9fb3ca;
--accent: #5eead4;
}
* { box-sizing: border-box; }
body {
margin: 0;
min-height: 100vh;
font-family: "IBM Plex Sans", "Segoe UI", sans-serif;
color: var(--text);
background:
radial-gradient(circle at top left, rgba(94, 234, 212, 0.12), transparent 26%),
linear-gradient(160deg, #050c16 0%, #091526 50%, #10233d 100%);
}
main {
max-width: 1080px;
margin: 0 auto;
padding: 32px 20px 40px;
}
.panel {
background: var(--panel);
border: 1px solid var(--border);
border-radius: 20px;
padding: 24px;
box-shadow: 0 24px 80px rgba(1, 7, 20, 0.45);
}
.actions {
display: flex;
flex-wrap: wrap;
gap: 12px;
margin-bottom: 18px;
}
.chip {
display: inline-flex;
align-items: center;
gap: 8px;
border-radius: 999px;
border: 1px solid var(--border);
padding: 10px 14px;
color: var(--text);
background: rgba(255,255,255,0.05);
text-decoration: none;
}
.chip:hover { border-color: rgba(94, 234, 212, 0.42); }
h1 {
margin: 0 0 12px;
font-family: "IBM Plex Serif", Georgia, serif;
font-size: clamp(1.8rem, 4vw, 3rem);
line-height: 1.08;
}
.meta {
color: var(--muted);
margin-bottom: 18px;
}
pre {
margin: 0;
padding: 20px;
overflow: auto;
border-radius: 16px;
border: 1px solid rgba(137, 171, 214, 0.12);
background: rgba(2, 8, 22, 0.84);
color: #d6e5f5;
font-family: "IBM Plex Mono", "SFMono-Regular", monospace;
font-size: 0.92rem;
line-height: 1.6;
white-space: pre-wrap;
}
</style>
</head>
<body>
<main>
<div class="panel">
<div class="actions">
<a class="chip" href="/overview/index.html">返回工作台</a>
</div>
<h1>覆盖矩阵镜像</h1>
<div class="meta">工作台内置镜像页:当前覆盖矩阵生成结果。</div>
<pre># 覆盖矩阵
| 系统 | 分类 | 覆盖策略 | 历史全量 | 近两年全量 | 全量 registry | 重点案例 Markdown | secure-code 关联 | 自动同步状态 | 本地实证状态 | 浏览器证据 | run bundle | triage | 最近更新 |
|------|------|----------|----------|------------|--------------|--------------------|------------------|--------------|--------------|------------|-----------|--------|----------|
| Adminer | `platforms` | `rolling-24m` | `-` | `yes` | `2` | `0` | `2` | `seeded` | `real:0/synthetic:0/blocked:0` | `0` | `0` | `0` | `2026-02-28T00:18:44.953` |
| Adobe Commerce | `ecommerce` | `history-full` | `yes` | `yes` | `81` | `0` | `4` | `seeded` | `real:0/synthetic:0/blocked:0` | `0` | `0` | `0` | `2025-10-23T14:51:16.013` |
| Angular | `frameworks` | `rolling-24m` | `-` | `yes` | `2` | `2` | `3` | `seeded` | `real:0/synthetic:0/blocked:0` | `0` | `0` | `0` | `2026-03-17T01:31:35.828211Z` |
| Apache HTTP Server | `servers` | `history-full` | `yes` | `yes` | `135` | `0` | `3` | `seeded` | `real:0/synthetic:0/blocked:0` | `0` | `0` | `0` | `2025-05-22` |
| Apache Tomcat | `servers` | `history-full` | `yes` | `yes` | `136` | `0` | `3` | `seeded` | `real:0/synthetic:0/blocked:0` | `0` | `0` | `0` | `2025-04-22` |
| ASP.NET Core | `frameworks` | `rolling-24m` | `-` | `yes` | `3` | `0` | `3` | `seeded` | `real:0/synthetic:0/blocked:0` | `0` | `0` | `0` | `2026-03-11T13:53:20.707` |
| Astro | `frameworks` | `rolling-24m` | `-` | `yes` | `15` | `15` | `2` | `seeded` | `real:0/synthetic:0/blocked:0` | `0` | `0` | `0` | `2026-03-26T19:01:26.420643Z` |
| Caddy | `servers` | `rolling-24m` | `-` | `yes` | `29` | `0` | `2` | `seeded` | `real:0/synthetic:0/blocked:0` | `0` | `0` | `0` | `2026-03-23T04:52:47.870034Z` |
| Directus | `cms` | `rolling-24m` | `-` | `yes` | `29` | `0` | `3` | `seeded` | `real:0/synthetic:0/blocked:0` | `0` | `0` | `0` | `` |
| Discourse | `cms` | `rolling-24m` | `-` | `yes` | `31` | `0` | `3` | `seeded` | `real:0/synthetic:0/blocked:0` | `0` | `0` | `31` | `Wed, 28 May 2025 05:22:52 +0000` |
| Django | `frameworks` | `rolling-24m` | `-` | `yes` | `82` | `5` | `3` | `seeded` | `real:0/synthetic:0/blocked:0` | `0` | `0` | `0` | `2026-03-13T21:56:20.301637Z` |
| Drupal | `cms` | `history-full` | `yes` | `yes` | `70` | `0` | `4` | `seeded` | `real:0/synthetic:0/blocked:0` | `0` | `0` | `0` | `Wed, 20 Sep 2023 16:23:05 +0000` |
| Echo | `frameworks` | `rolling-24m` | `-` | `yes` | `2` | `2` | `2` | `seeded` | `real:0/synthetic:0/blocked:0` | `0` | `0` | `0` | `2024-05-20T16:03:47Z` |
| esbuild | `frameworks` | `rolling-24m` | `-` | `yes` | `1` | `1` | `2` | `seeded` | `real:0/synthetic:0/blocked:0` | `0` | `0` | `0` | `2026-02-04T02:50:58.022803Z` |
| Express | `frameworks` | `rolling-24m` | `-` | `yes` | `1` | `0` | `3` | `seeded` | `real:0/synthetic:0/blocked:0` | `0` | `0` | `1` | `2026-03-17T19:40:55.690` |
| Fastify | `frameworks` | `rolling-24m` | `-` | `yes` | `2` | `2` | `3` | `seeded` | `real:0/synthetic:0/blocked:0` | `0` | `0` | `0` | `2026-03-25T19:48:38.788319Z` |
| Flask | `frameworks` | `rolling-24m` | `-` | `yes` | `1` | `1` | `3` | `seeded` | `real:0/synthetic:0/blocked:0` | `0` | `0` | `0` | `2026-02-23T23:43:45.778179Z` |
| Ghost | `cms` | `history-full` | `yes` | `yes` | `23` | `0` | `3` | `seeded` | `real:0/synthetic:0/blocked:0` | `0` | `0` | `0` | `` |
| Gin | `frameworks` | `rolling-24m` | `-` | `yes` | `1` | `1` | `2` | `seeded` | `real:0/synthetic:0/blocked:0` | `0` | `0` | `0` | `2026-03-14T10:41:18.820930Z` |
| Gitea | `platforms` | `rolling-24m` | `-` | `yes` | `13` | `0` | `3` | `seeded` | `real:0/synthetic:0/blocked:0` | `0` | `0` | `0` | `` |
| GitLab CE | `platforms` | `rolling-24m` | `-` | `yes` | `56` | `0` | `3` | `seeded` | `real:0/synthetic:0/blocked:0` | `0` | `0` | `1` | `2026-03-25T00:00:00+00:00` |
| Grafana | `platforms` | `rolling-24m` | `-` | `yes` | `60` | `0` | `3` | `seeded` | `real:0/synthetic:0/blocked:0` | `0` | `0` | `0` | `` |
| Hapi | `frameworks` | `history-full` | `yes` | `yes` | `1` | `1` | `2` | `seeded` | `real:0/synthetic:0/blocked:0` | `0` | `0` | `0` | `2020-08-31T19:00:56Z` |
| HAProxy | `servers` | `rolling-24m` | `-` | `yes` | `7` | `0` | `2` | `seeded` | `real:0/synthetic:0/blocked:0` | `0` | `0` | `1` | `Wed, 25 Feb 2026 14:00:00 +0000` |
| Jenkins | `platforms` | `rolling-24m` | `-` | `yes` | `60` | `0` | `3` | `seeded` | `real:0/synthetic:0/blocked:0` | `0` | `0` | `0` | `` |
| Joomla | `cms` | `history-full` | `yes` | `yes` | `100` | `0` | `4` | `seeded` | `real:0/synthetic:0/blocked:0` | `0` | `0` | `0` | `2025-04-03T01:03:51.193` |
| Kibana | `platforms` | `rolling-24m` | `-` | `yes` | `47` | `0` | `3` | `seeded` | `real:0/synthetic:0/blocked:0` | `0` | `0` | `6` | `Thu, 19 Mar 2026 16:59:58 +0000` |
| Koa | `frameworks` | `rolling-24m` | `-` | `yes` | `1` | `1` | `2` | `seeded` | `real:0/synthetic:0/blocked:0` | `0` | `0` | `0` | `2026-02-26T23:36:36.294040Z` |
| Laravel | `frameworks` | `rolling-24m` | `-` | `yes` | `2` | `2` | `3` | `seeded` | `real:0/synthetic:0/blocked:0` | `0` | `0` | `0` | `2026-03-13T22:15:34.333730Z` |
| Magento Open Source | `ecommerce` | `history-full` | `yes` | `yes` | `89` | `0` | `3` | `seeded` | `real:0/synthetic:0/blocked:0` | `0` | `0` | `0` | `2025-04-20T01:37:25.860` |
| Mattermost | `platforms` | `rolling-24m` | `-` | `yes` | `40` | `40` | `3` | `seeded` | `real:0/synthetic:0/blocked:0` | `0` | `0` | `0` | `Fix Release Date` |
| MediaWiki | `cms` | `rolling-24m` | `-` | `yes` | `73` | `0` | `3` | `seeded` | `real:0/synthetic:0/blocked:0` | `0` | `0` | `73` | `Wed, 22 Oct 2025 21:44:43 +0000` |
| Medusa | `ecommerce` | `rolling-24m` | `-` | `yes` | `15` | `0` | `2` | `seeded` | `real:0/synthetic:0/blocked:0` | `0` | `0` | `15` | `` |
| Moodle | `cms` | `rolling-24m` | `-` | `yes` | `40` | `0` | `3` | `seeded` | `real:0/synthetic:0/blocked:0` | `0` | `0` | `40` | `2025-04-09T00:30:58.490` |
| NestJS | `frameworks` | `rolling-24m` | `-` | `yes` | `2` | `0` | `3` | `seeded` | `real:0/synthetic:0/blocked:0` | `0` | `0` | `2` | `2026-03-02T20:30:10.923` |
| Next.js | `frameworks` | `history-full` | `yes` | `yes` | `66` | `41` | `3` | `seeded` | `real:26/synthetic:0/blocked:0` | `21` | `26` | `25` | `2026-04-01T17:31:03.347234Z` |
| Nginx | `servers` | `history-full` | `yes` | `yes` | `110` | `0` | `3` | `seeded` | `real:0/synthetic:0/blocked:0` | `0` | `0` | `110` | `2025-08-12T17:24:44.367` |
| Node.js | `frameworks` | `history-full` | `yes` | `yes` | `8` | `0` | `3` | `seeded` | `real:0/synthetic:0/blocked:0` | `0` | `0` | `8` | `2025-01-21` |
| Nuxt | `frameworks` | `history-full` | `yes` | `yes` | `28` | `5` | `3` | `seeded` | `real:0/synthetic:0/blocked:0` | `0` | `0` | `23` | `2025-09-18T13:04:21Z` |
| OpenCart | `ecommerce` | `history-full` | `yes` | `yes` | `100` | `0` | `3` | `seeded` | `real:0/synthetic:0/blocked:0` | `0` | `0` | `100` | `2025-05-15T19:15:54.980` |
| OpenMage / Mage-OS | `ecommerce` | `rolling-24m` | `-` | `yes` | `27` | `0` | `2` | `seeded` | `real:0/synthetic:0/blocked:0` | `0` | `0` | `27` | `` |
| phpMyAdmin | `platforms` | `rolling-24m` | `-` | `yes` | `50` | `0` | `3` | `seeded` | `real:0/synthetic:0/blocked:0` | `0` | `0` | `50` | `` |
| PrestaShop | `ecommerce` | `history-full` | `yes` | `yes` | `114` | `2` | `3` | `seeded` | `real:0/synthetic:0/blocked:0` | `0` | `0` | `112` | `2026-03-30T12:26:07.105030Z` |
| Ruby on Rails | `frameworks` | `rolling-24m` | `-` | `yes` | `42` | `10` | `3` | `seeded` | `real:0/synthetic:0/blocked:0` | `0` | `0` | `32` | `2025-05-01T18:49:06.777708Z` |
| React | `frameworks` | `history-full` | `yes` | `yes` | `21` | `3` | `3` | `seeded` | `real:0/synthetic:0/blocked:0` | `0` | `0` | `18` | `2023-11-08T04:00:21.209483Z` |
| Redmine | `platforms` | `rolling-24m` | `-` | `yes` | `50` | `0` | `3` | `seeded` | `real:0/synthetic:0/blocked:0` | `0` | `0` | `50` | `` |
| Saleor | `ecommerce` | `rolling-24m` | `-` | `yes` | `24` | `0` | `2` | `seeded` | `real:0/synthetic:0/blocked:0` | `0` | `0` | `24` | `` |
| 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` | `4` | `1` | `3` | `seeded` | `real:0/synthetic:0/blocked:0` | `0` | `0` | `3` | `2026-03-25T19:59:15.827722Z` |
| 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` | `48` | `0` | `2` | `seeded` | `real:0/synthetic:0/blocked:0` | `0` | `0` | `27` | `2026-03-29T15:49:22.073498Z` |
| Undici | `frameworks` | `rolling-24m` | `-` | `yes` | `16` | `15` | `2` | `seeded` | `real:7/synthetic:0/blocked:0` | `0` | `7` | `1` | `2026-03-18T23:58:57.714731Z` |
| Vite | `frameworks` | `history-full` | `yes` | `yes` | `42` | `16` | `3` | `seeded` | `real:12/synthetic:0/blocked:0` | `12` | `12` | `26` | `2026-02-04T04:37:24.129476Z` |
| Vue | `frameworks` | `history-full` | `yes` | `yes` | `15` | `1` | `3` | `seeded` | `real:0/synthetic:0/blocked:0` | `0` | `0` | `14` | `2024-10-24T19:12:14.925352Z` |
| webpack | `frameworks` | `rolling-24m` | `-` | `yes` | `1` | `0` | `2` | `seeded` | `real:0/synthetic:0/blocked:0` | `0` | `0` | `1` | `2026-02-27T17:21:22.370` |
| Werkzeug | `frameworks` | `rolling-24m` | `-` | `yes` | `1` | `1` | `2` | `seeded` | `real:0/synthetic:0/blocked:0` | `0` | `0` | `0` | `2026-02-23T23:43:27.690386Z` |
| WooCommerce | `ecommerce` | `history-full` | `yes` | `yes` | `111` | `0` | `3` | `seeded` | `real:0/synthetic:0/blocked:0` | `0` | `0` | `111` | `2025-04-20T01:37:25.860` |
| WordPress | `cms` | `history-full` | `yes` | `yes` | `140` | `0` | `4` | `seeded` | `real:0/synthetic:0/blocked:0` | `0` | `0` | `140` | `2025-04-09T00:30:58.490` |
</pre>
</div>
</main>
</body>
</html>