bawbel/ave-site

GitHub: bawbel/ave-site

AVE 漏洞枚举开放标准的官方网站,将从标准仓库生成的漏洞记录、Schema 和映射关系以可搜索的静态站点形式呈现。

Stars: 0 | Forks: 0

# ave-site [AVE (Agentic Vulnerability Enumeration)](https://github.com/bawbel/ave) 开放标准的网站。 **线上站点:** [ave.bawbel.io](https://ave.bawbel.io) ## 本仓库是什么 本仓库仅包含网站内容 —— 即 `ave.bawbel.io` 的 HTML、CSS、JS 和静态资源。它是 AVE 标准的消费者,而不是标准本身的一部分。 记录、schema、检测规则和 fixtures 位于 **[bawbel/ave](https://github.com/bawbel/ave)** 中。对 AVE 记录的更改会通过 GitHub Actions 自动触发本网站的重新构建和部署。 ## 页面 | 页面 | URL | 功能 | |---|---|---| | 首页 | `/` | 概述、统计数据以及指向所有部分的链接 | | Registry | `/registry.html` | 包含所有 AVE 记录的表格,支持搜索和过滤 | | Crosswalks | `/crosswalks.html` | 其他扫描器和框架如何映射到 AVE id | | 架构 | `/architecture.html` | AVE 记录的工作原理 —— 面向实施者 | | Schema | `/schema.html` | 每个字段、类型、必选/可选状态及其含义 | ## 本地开发 **前置条件:** Node.js 18+,并将 `bawbel/ave` 检出到同级目录中。 ``` parent/ ├── ave/ ← github.com/bawbel/ave └── ave-site/ ← github.com/bawbel/ave-site (this repo) ``` ``` git clone https://github.com/bawbel/ave git clone https://github.com/bawbel/ave-site cd ave-site npm install npm run build:local # reads ../ave/records → writes records.js # 本地 serve(任意 static server) npx serve . # 或者 python3 -m http.server 8080 ``` 打开 [http://localhost:8080](http://localhost:8080)。 ### 构建命令 | 命令 | 功能 | |---|---| | `npm run build:local` | 从 `../ave/records` 构建(用于本地开发) | | `npm run build` | 从默认路径构建(用于 CI) | | `npm run build:drafts` | 包含 `status: "draft"` 的记录 | | `npm run build:dry` | 验证记录但不写入 `records.js` | ### 传递自定义记录路径 ``` node scripts/build-records.js \ --records-dir /path/to/ave/records \ --schema /path/to/ave/schema/ave-record.schema.json \ --out records.js ``` ## 构建工作原理 `scripts/build-records.js` 从记录目录中读取每个 `AVE-YYYY-NNNNN.json` 文件,根据 AVE JSON schema 验证每个文件(需要 `ajv` 和 `ajv-formats`),排除草稿状态记录,按严重程度和 id 排序,并生成 `records.js` —— 这是网站加载的静态 JS 模块。 `records.js` 在本仓库中是 **被 gitignore 忽略的**。它在每次 CI 构建时,都会从 `bawbel/ave` 中的权威数据源全新生成。切勿手动编辑它。 ## 部署 本站点通过 `.github/workflows/deploy.yml` 部署到 [GitHub Pages](https://docs.github.com/en/pages)。 **触发条件:** - 本仓库中任何向 `main` 分支的推送 - 当 `bawbel/ave` 中的记录、schema 或规则发生更改时,由其发送的 `repository_dispatch` 事件(`ave-records-updated`) - 从 Actions 标签页进行手动触发 **配置跨仓库触发:** 1. 创建一个细粒度的 PAT,具有 `bawbel/ave-site` 的 Contents(读取)+ Actions(写入)权限 2. 将其作为 `AVE_SITE_DEPLOY_TOKEN` 添加到 `bawbel/ave` → Settings → Secrets 中 3. 将 `notify-ave-site.yml` 复制到 `bawbel/ave/.github/workflows/` 完成这些步骤后,将新的 AVE 记录推送到 `bawbel/ave` 即可在几分钟内自动重建并部署本站点。 **自定义域名:** 在 `bawbel/ave-site` 的 GitHub Pages 设置中将 `ave.bawbel.io` 配置为自定义域名。添加一条指向 `bawbel.github.io` 的 CNAME 记录。 ## 仓库结构 ``` ave-site/ ├── index.html Landing page ├── registry.html Searchable AVE registry ├── crosswalks.html Scanner and framework crosswalks ├── architecture.html Implementer guide ├── schema.html Schema v1.0.0 reference ├── styles.css Shared stylesheet ├── records.js GENERATED — do not edit (gitignored) ├── manifest.json PWA manifest ├── robots.txt ├── sitemap.xml ├── favicon.ico ├── ave-favicon.svg ├── apple-touch-icon.png ├── ave-favicon-192.png ├── ave-favicon-512.png ├── scripts/ │ └── build-records.js Generates records.js from bawbel/ave ├── notify-ave-site.yml Copy this to bawbel/ave/.github/workflows/ └── .github/ └── workflows/ └── deploy.yml Build + deploy to GitHub Pages ``` ## 相关项目 - **[bawbel/ave](https://github.com/bawbel/ave)** —— AVE 标准(记录、schema、规则) - **[bawbel/scanner](https://github.com/bawbel/scanner)** —— AVE 的参考实现 - **[bawbel.io](https://bawbel.io)** —— Bawbel ## License Apache 2.0 —— 与 AVE 标准本身使用相同的 license。
标签:GNU通用公共许可证, HTML/CSS, MITM代理, Node.js, 后端开发, 多模态安全, 数据可视化, 文档站点, 漏洞枚举标准, 静态网站