بنقرة واحدة
security-review-skill-creator
// 生成安全审计 skill。两种模式:(1) 项目模式——根据项目文档生成定制化审计 skill;(2) 通用模式——仅指定语言+框架,从参考资料库生成通用审计 skill。当用户想创建安全审计 skill、生成审计规则、或提到"生成安全审计skill"、"创建code review skill"、"生成 Java 审计 skill"时使用。
// 生成安全审计 skill。两种模式:(1) 项目模式——根据项目文档生成定制化审计 skill;(2) 通用模式——仅指定语言+框架,从参考资料库生成通用审计 skill。当用户想创建安全审计 skill、生成审计规则、或提到"生成安全审计skill"、"创建code review skill"、"生成 Java 审计 skill"时使用。
Dispatch an independent challenger agent to adversarially review a spec or implementation plan against the actual codebase. Catches hallucinated APIs, wrong field names, nonexistent files, and incorrect assumptions. Two modes: (1) spec review — verifies DB model fields, API paths, config attributes, file paths referenced in a design spec, (2) plan review — verifies imports, function signatures, constructor args, file paths in an implementation plan. Use after brainstorming produces a spec, or after writing-plans produces a plan, before execution. Triggers: "review the spec", "review the plan", "challenge this", "check for hallucinations", "design review", "spec review", "plan review", "/design-review".
Graph-driven project understanding using code-review-graph (CRG). Query architecture, modules, callers/callees, impact radius, hotspots, execution flows, and search nodes. Use when: (1) brainstorming and need to understand project structure, (2) writing plans and need impact analysis, (3) user says "understand this project", "how does this module work", "impact analysis", "/explore", (4) reviewing code changes and need blast radius. Requires .code-review-graph/graph.db — run /graph build first if missing.
Manage code knowledge graphs via code-review-graph (CRG). Build, update, and check status of project code graphs stored in .code-review-graph/graph.db. Use when: (1) user says "build graph", "update graph", "graph status", "/graph", (2) Harness init detects CRG, (3) preparing to use /explore commands. Gracefully degrades if CRG is not installed.
SCA 漏洞 AI 降噪与风险优先级评估。对 Grype/Snyk/Xray 等 SCA 工具的漏洞发现进行多维度风险评估,按 P0-P3 分级,过滤噪音(DoS、本地提权、低影响信息泄露),聚焦真正可利用的高风险漏洞。当用户需要对 SCA 扫描结果降噪、漏洞优先级排序、或供应链风险评估时使用。
审计 Docker/容器部署安全。检测 Dockerfile、docker-compose.yml、Kubernetes manifests 中的安全问题:特权容器、root 运行、敏感挂载、资源无限制、密钥泄露、Base Image 不合规、网络暴露等。当审计容器配置、Docker 安全、K8s 部署安全、或检查基础设施安全时使用。支持 Dockerfile、docker-compose.yml、Kubernetes YAML、Helm charts。
审计 Terraform / IaC 代码安全(AWS 基础设施)。检测硬编码凭据、过宽 Security Group(0.0.0.0/0)、IAM 权限过大(Action/Resource *)、S3 公开访问、RDS 未加密/公开、State 文件泄露、ECS/EKS 容器特权、CloudTrail/VPC FlowLog 缺失、不安全 Provider/Module 引用等。当审计 Terraform 代码、IaC 安全评审、AWS 云基础设施配置检查、GitOps 安全审计时使用。支持 HCL(.tf)、Terraform JSON、tfvars、Terragrunt(HCL) 代码。
| name | security-review-skill-creator |
| description | 生成安全审计 skill。两种模式:(1) 项目模式——根据项目文档生成定制化审计 skill;(2) 通用模式——仅指定语言+框架,从参考资料库生成通用审计 skill。当用户想创建安全审计 skill、生成审计规则、或提到"生成安全审计skill"、"创建code review skill"、"生成 Java 审计 skill"时使用。 |
生成安全审计 Skill,支持两种模式:
| 模式 | 输入 | 产出 | 适用场景 |
|---|---|---|---|
| 项目模式 | 项目文档(飞书/本地) | security-review-skill-for-{project} | 有设计文档、审计报告的特定项目 |
| 通用模式 | 语言 + 框架(如 "Java + Spring") | security-review-skill-for-{lang}-{framework} | 无项目文档,需要通用语言/框架审计能力 |
核心目标:
设计理念:生成的 skill 是一个 prompt-based 审计指南,指导 Claude 如何审计代码。不依赖外部工具,Claude 直接阅读代码并应用检查规则。
多语言/多服务项目增强(从 DEX 项目实践中提炼):
收到用户请求后,首先判定模式:
| 信号 | 模式 |
|---|---|
| 用户提供了项目文档(飞书链接/本地文件/项目描述) | 项目模式 |
| 用户只说 "生成 Java + Spring 审计 skill" / "Go 通用审计" | 通用模式 |
| 不确定 | 用 AskUserQuestion 询问:"有项目文档吗?还是生成通用语言审计 skill?" |
┌─────────────────────────────────────────────────────────────────┐
│ 项目模式 (Project Mode) │
├─────────────────────────────────────────────────────────────────┤
│ 1. 收集项目文档 (lark-reader / 本地文件) — 多遍提取 │
│ - 第一遍:架构 + 技术栈 │
│ - 第二遍:业务规则 + 公式 + 状态机 │
│ - 第三遍:已有审计报告 + 安全检查清单 + 攻击案例 │
│ ↓ │
│ 2. 提取安全关注点 │
│ - 技术栈 → 语言特定漏洞模式 │
│ - 业务流程 → 业务逻辑检查项 │
│ - 权限模型 → 越权检测规则 │
│ - 领域特定 → 公式/不变量/状态机 (DeFi/IoT/...) │
│ - 已有安全知识 → 审计发现/行业事故 │
│ ↓ │
│ 2.5 【强制】Read 参考资料 (reference_index.yaml) │
│ - 语言 → Read languages/*.md + checklists/*.md + adapters/ │
│ - 框架 → Read frameworks/*.md │
│ - 业务 → Read security/*.md (竞态/OAuth/GraphQL/DeFi/...) │
│ - 案例 → Read wooyun/ + cases/ │
│ - 核心 → Read core/ (污点分析/误报过滤) [始终加载] │
│ - 通用 → Read checklists/universal.md + coverage_matrix.md │
│ ⚠️ 禁止跳过!禁止仅凭自身知识替代参考文件内容! │
│ ↓ │
│ 2.6 验证覆盖度(对照 coverage_matrix.md) │
│ ↓ │
│ 3. 生成 security-review-skill-for-xxx │
│ - 通用漏洞检查 (从 languages/ + checklists/ 提取) │
│ - 深度漏洞模式 (从 languages/ + frameworks/ 提取) │
│ - 审计正则速查 (从 adapters/ + languages/ 提取) │
│ - 项目特定检查 (从文档提取,含公式/不变量/状态机) │
│ - 已有审计发现 + 行业攻击案例 │
│ - 误报过滤 + 污点分析 (从 core/ 提取) │
│ ↓ │
│ 4. 创建测试用例 + 评估 + 迭代改进 │
│ ↓ │
│ 5. 输出最终 skill (SKILL.md ~15-20KB + checks/ + known-issues/) │
└─────────────────────────────────────────────────────────────────┘
┌─────────────────────────────────────────────────────────────────┐
│ 通用模式 (Generic Mode) │
├─────────────────────────────────────────────────────────────────┤
│ 1. 解析用户指定的语言 + 框架 │
│ - 如 "Java + Spring" → lang=java, framework=spring │
│ - 如 "Go 通用" → lang=go, framework=无 │
│ ↓ │
│ 2. 【全量加载】Read 参考资料 (reference_index.yaml) │
│ - 语言 → Read languages/{lang}.md(含全部 specialized) │
│ + checklists/{lang}.md + adapters/{lang}.yaml │
│ - 框架 → Read frameworks/{framework}.md │
│ - 核心 → Read core/ [始终加载] │
│ - 通用 → Read checklists/universal.md + coverage_matrix.md │
│ - 案例 → Read wooyun/ 中与该语言高相关的类别 │
│ + cases/real_world_vulns.md │
│ ⚠️ 通用模式下 references 是唯一内容来源,更需完整加载! │
│ ↓ │
│ 3. 生成 security-review-skill-for-{lang}-{framework} │
│ - 通用漏洞检查 (从 references 全量提取,少裁剪) │
│ - 深度漏洞模式 (从 languages/ 完整提取 Sink 列表) │
│ - 审计正则速查 (从 adapters/ 完整提取) │
│ - 框架威胁面 (从 frameworks/ 完整提取) │
│ - 误报过滤 + 污点分析 (从 core/ 提取) │
│ - checks/ 按安全维度分组(D1注入/D2认证/...) │
│ - known-issues/ 填入语言+框架通用案例 │
│ ↓ │
│ 4. 创建测试用例 + 评估 + 迭代改进 │
│ ↓ │
│ 5. 输出最终 skill (SKILL.md ~15-20KB + checks/ + known-issues/) │
└─────────────────────────────────────────────────────────────────┘
生成的 security-review-skill 需要经过:
使用 agents/security_grader.md 进行评估:
| 维度 | 指标 | 说明 |
|---|---|---|
| 检出率 | Recall | 真实漏洞被检出的比例 |
| 精确率 | Precision | 报告中真实漏洞的比例 |
| 定位准确 | Location | 漏洞行号是否准确 |
{
"skill_name": "security-review-skill-for-xxx",
"evals": [
{
"id": 1,
"name": "sql-injection-basic",
"prompt": "审计这段代码的安全问题",
"files": ["test_cases/vuln_sql.py"],
"ground_truth": {
"vulnerabilities": [
{"type": "sql_injection", "location": "vuln_sql.py:15", "severity": "CRITICAL"}
],
"safe_patterns": [
{"location": "vuln_sql.py:30", "reason": "使用参数化查询"}
]
},
"expectations": [
"检测到 SQL 注入漏洞",
"正确定位到 vuln_sql.py:15",
"不将 vuln_sql.py:30 标记为漏洞"
]
}
]
}
生成的 skill 需要有准确的 description 以正确触发:
原则:
示例:
# 好
description: 审计 XXX 项目的代码安全,检测 SQL 注入、XSS、越权等漏洞。当需要审计 XXX 代码、进行安全评审、或检查 XXX 项目漏洞时使用。
# 差
description: 一个安全扫描工具
生成 skill 时可引用的深度参考资料(来自 code-audit 知识库):
| 类别 | 目录 | 文件数 | 用途 |
|---|---|---|---|
| 语言漏洞模式 | references/languages/ | 18 | 语言特定的 sink/source、深度漏洞模式(Java 含 7 个专题) |
| 框架安全指南 | references/frameworks/ | 14 | 框架特有威胁面、安全配置、检查清单 |
| 安全领域分析 | references/security/ | 24 | 竞态条件、业务逻辑、OAuth、GraphQL、LLM 等深度分析 |
| 审计检查清单 | references/checklists/ | 11 | D1-D10 维度检查项 + 判定规则 |
| Wooyun 真实案例 | references/wooyun/ | 9 | 88,636 个真实漏洞的统计和案例 |
| 核心审计模块 | references/core/ | 6 | 污点分析、误报过滤、绕过策略、敏感操作矩阵 |
| 语言适配器 | references/adapters/ | 5 | YAML 格式的语言特定配置 |
| 实战漏洞 | references/cases/ | 1 | 真实世界漏洞案例集 |
根据 references/reference_index.yaml 的六层映射自动选择:
languages/*.md + checklists/*.md + adapters/*.yamlframeworks/*.mdsecurity/*.md(支付→竞态+业务逻辑,OAuth→认证授权)core/taint_analysis.md + core/false_positive_filter.md + core/sensitive_operations_matrix.mdwooyun/*.mdchecklists/universal.md + checklists/coverage_matrix.md + cases/real_world_vulns.md选择示例(Java + Spring Boot + 支付系统):
languages/java.md + 7 个 Java 专题 + checklists/java.md + adapters/java.yamlframeworks/spring.md + frameworks/mybatis_security.mdsecurity/business_logic.md + security/race_conditions.md + security/authentication_authorization.mdcore/taint_analysis.md + core/false_positive_filter.md + core/sensitive_operations_matrix.mdwooyun/sql-injection.md + wooyun/logic-flaws.mdchecklists/universal.md + checklists/coverage_matrix.md + cases/real_world_vulns.md生成的 skill 总量按复杂度动态调整,SKILL.md 包含完整的通用漏洞检查和深度模式,checks/ 和 known-issues/ 承载补充检查:
| 项目类型 | SKILL.md | checks/ 合计 | known-issues/ 合计 | 总计 | 示例 |
|---|---|---|---|---|---|
| 简单(单语言、单服务) | 12-15KB | 5-15KB | 0-5KB | 20-30KB | Django Web 应用 |
| 中等(2-3 语言、微服务) | 15-20KB | 10-20KB | 3-8KB | 30-45KB | FastAPI + React + Redis |
| 复杂(多语言、跨链/多引擎) | 18-25KB | 15-25KB | 5-10KB | 40-60KB | DEX(Go + C++ + Rust + Java + 跨链桥) |
| 技术栈 | SKILL.md | checks/ 合计 | known-issues/ 合计 | 总计 | 示例 |
|---|---|---|---|---|---|
| 单语言 | 15-20KB | 8-15KB | 3-5KB | 25-35KB | Go 通用审计 |
| 语言+框架 | 18-25KB | 10-18KB | 3-6KB | 30-45KB | Java + Spring 审计 |
| 语言+多框架 | 20-28KB | 12-20KB | 4-8KB | 35-50KB | Java + Spring + MyBatis 审计 |
通用模式裁剪策略(与项目模式的核心区别):
| 来源 | 项目模式 | 通用模式 |
|---|---|---|
| 语言文件(20-40KB) | 重度裁剪:仅提取匹配框架章节,每种漏洞 1 个代码对 | 轻度裁剪:保留大部分 Sink 列表、漏洞类型、代码示例。仅跳过与其他语言交叉的重复内容 |
| 框架文件(15-30KB) | 威胁面概览 + 检查清单,跳过 CVE 深度 | 中度裁剪:保留威胁面 + 安全配置 + CVE 速查。框架是通用 skill 的核心价值 |
| 安全领域(18KB+) | 仅提取项目语言代码示例 | 按框架关联选择:Spring→认证授权+API安全,Express→XSS+CSRF 等 |
| Wooyun/案例 | 项目相关的 top 3-5 | 语言相关的 top 10:更多案例(通用 skill 的案例覆盖是价值点) |
| 核心文件 | ~1KB 决策框架 | 同项目模式 |
| 已有审计发现 | 完整保留 | 无(通用模式无项目发现) |
项目模式裁剪优先级:已有审计发现 > 公式/不变量 > 危险模式 > 安全模式 > 检测提示 > 攻击案例 > 修复建议
通用模式裁剪优先级:Sink/Source 列表 > 审计正则 > 框架威胁面 > 危险+安全代码对 > 案例 > 检测提示
生成的 skill 支持三种审计模式,触发时通过 AskUserQuestion 让用户选择:
| 模式 | 触发场景 | 扫描范围 |
|---|---|---|
| 全量审计 | "审计 x/bridge 模块" | 指定目录全部代码 |
| PR/分支审计 | "审计 feature-branch" / "审计 PR" | git diff 改动文件 + 调用链 |
| 最近变更审计 | "扫描最近 7 天变更" | git log --since 改动文件 + 调用链 |
PR/分支模式和最近变更模式会先执行 Step 0:
git diff --name-only 获取改动文件列表方法论 7 步(三种模式共用,diff/PR 模式仅缩小范围):
基于 references/general_vulns.md + references/languages/*.md + references/checklists/universal.md,必须覆盖 6 个子类:
基于 references/languages/ + references/frameworks/ + references/security/ 裁剪:
基于 references/core/:
映射审计目标→需要读取的 checks/ 文件,指导 Claude 按需加载模块检查
JSON schema 定义审计结果结构
从项目文档提取(参考 references/document_extraction.md):
当用户只指定语言+框架时,执行以下简化流程:
从用户输入中提取:
根据 references/reference_index.yaml,加载该语言+框架的全部参考文件:
L1 语言: Read languages/{lang}.md + 全部 specialized(如 Java 含 7 个专题)
+ checklists/{lang}.md + adapters/{lang}.yaml
L2 框架: Read frameworks/{framework}.md(每个框架都读)
L4 核心: Read core/taint_analysis.md + core/false_positive_filter.md
+ core/sensitive_operations_matrix.md
L5 案例: Read wooyun/ 中与该语言高频相关的类别(SQL注入/命令执行/文件上传等)
+ cases/real_world_vulns.md
L6 通用: Read checklists/universal.md + checklists/coverage_matrix.md
与项目模式的区别:
使用 templates/skill_main_template.md 生成 SKILL.md,但有以下差异:
| 区域 | 项目模式 | 通用模式 |
|---|---|---|
| 项目背景 | 具体项目描述 | "通用 {lang} + {framework} 安全审计" |
| 通用漏洞检查 | 裁剪到项目相关 | 完整覆盖 OWASP Top 10 全部类别 |
| 深度漏洞模式 | 裁剪 Sink 列表 | 完整 Sink/Source 列表 + 所有漏洞类型 |
| 审计正则 | 按项目语言选 | 完整提取 adapter 中的所有正则 |
| 框架威胁面 | 按项目框架选 | 完整提取框架文件内容 |
| checks/ | 按项目模块分 | 按安全维度分(见下方) |
| known-issues/ | 项目审计发现 | 语言+框架通用案例 |
通用模式 checks/ 分组规则(按安全维度而非项目模块):
checks/
├── injection-security.md # D1 注入类(SQL/命令/SSTI/XSS 等)深度检查
├── auth-security.md # D2/D3 认证授权(JWT/OAuth/RBAC/IDOR)深度检查
├── data-crypto-security.md # D7 数据保护 + 加密(弱算法/硬编码密钥/随机数)
├── file-network-security.md # D5/D6 文件操作 + 网络(路径遍历/SSRF/反序列化)
├── config-dependency.md # D8/D10 配置 + 供应链(调试模式/CORS/CVE 依赖)
└── business-logic.md # D9 业务逻辑(竞态/状态机/Mass Assignment)
每个 check 文件包含:
checklists/{lang}.md 对应 D 段落提取)通用模式 known-issues/ 内容:
known-issues/
├── common-vulnerabilities.md # 该语言+框架的高频漏洞案例(从 wooyun/ + cases/ 提取)
└── attack-patterns.md # 通用攻击模式速查 + 绕过技巧
同项目模式的 Step 3-5。
# 从飞书读取(可选:如需读取飞书文档,安装 lark-skills)
# (Optional: install lark-skills if you need to read Feishu documents)
node <lark-skills-dir>/bin/read-doc.mjs "https://xxx.larksuite.com/wiki/设计文档"
# 或直接提供本地文件
cat /path/to/design-doc.md
第一遍:架构和技术栈
第二遍:业务规则和公式(对领域特定项目尤其重要)
第三遍:已有安全知识(关键步骤!)
为什么重要:项目已有的安全分析是最高价值输入——比通用参考精准得多。 跳过这一步 = 遗漏项目最核心的安全知识。
提供文档内容后,我会:
security-review-skill-for-xxx此步骤不可跳过。 禁止仅凭自身知识填充通用漏洞检测内容——必须从参考文件中提取,确保覆盖完整。
根据 references/reference_index.yaml,按项目技术栈确定需要 Read 的文件列表,然后逐一 Read 并提取内容。
Step 2a: 确定文件列表
对照 reference_index.yaml 六层映射,列出所有需要加载的文件:
| 层 | 条件 | 文件 | 提取目标 |
|---|---|---|---|
| L1 语言 | 每种项目语言 | languages/{lang}.md + checklists/{lang}.md + adapters/{lang}.yaml(如有) | Sink/Source 列表、审计正则、通用漏洞模式、危险+安全代码对 |
| L2 框架 | 每个项目框架 | frameworks/{framework}.md | 框架威胁面、安全配置、框架特有漏洞 |
| L3 业务 | 匹配关键词 | security/*.md | 领域深度安全分析 |
| L4 核心 | 始终 | core/taint_analysis.md + core/false_positive_filter.md + core/sensitive_operations_matrix.md | 污点分析规则、误报过滤、敏感操作矩阵 |
| L5 案例 | 匹配漏洞类型 | wooyun/*.md | 真实攻击案例、绕过技巧 |
| L6 通用 | 始终 | checklists/universal.md + checklists/coverage_matrix.md + cases/real_world_vulns.md | 通用检查维度、覆盖度矩阵 |
Step 2b: 逐文件 Read 并提取
对列表中的每个文件执行 Read,提取以下内容到生成的 skill 中:
从 languages/{lang}.md 必须提取:
从 adapters/{lang}.yaml 或 languages/{lang}.md 的正则部分必须提取:
从 checklists/{lang}.md 必须提取:
从 frameworks/{framework}.md 必须提取:
从 security/*.md 必须提取:
从 core/*.md 必须提取:
从 checklists/universal.md + checklists/coverage_matrix.md 必须提取:
Step 2c: 验证覆盖度
生成 skill 前,对照检查:
[ ] 每种项目语言的 languages/ 文件已 Read?
[ ] 每种项目框架的 frameworks/ 文件已 Read?
[ ] 审计正则覆盖了所有语言的全部通用漏洞类型?
[ ] Sink/Source 列表是否完整(来自参考文件而非自行编写)?
[ ] 误报过滤规则是否来自 core/false_positive_filter.md?
[ ] 覆盖度矩阵是否对照了 checklists/coverage_matrix.md?
任何一项为否 → 回到 Step 2b 补读对应文件。
templates/skill_main_template.md):方法论 + 路由表templates/skill_check_template.md):按模块分组的检查文件templates/skill_known_issues_template.md):已知问题和攻击案例创建包含已知漏洞的测试代码:
使用 Security Grader(见 agents/security_grader.md)评估:
{
"security_metrics": {
"true_positives": 8,
"false_positives": 2,
"false_negatives": 1,
"precision": 0.80,
"recall": 0.89,
"f1_score": 0.84
}
}
根据评估结果:
如果存在领域安全框架,逐项对照检查覆盖度:
| 领域 | 参考框架 | 说明 |
|---|---|---|
| Web 应用 | OWASP ASVS | 应用安全验证标准 |
| DeFi/DEX | DEX scan prompts (skills/prompts/security/dex/) | 六维扫描框架 |
| 智能合约 | OWASP Smart Contract Top 10 | 链上合约安全 |
| API | OWASP API Security Top 10 | API 安全 |
对照方法:
使用内置的 Description 优化方法论(参考 skill-creator 原则):
优化原则:
验证方法:
应触发:
✓ "审计这个项目的代码安全"
✓ "检查 XXX 项目有没有漏洞"
✓ "code review XXX"
✓ "XXX 项目安全扫描"
不应触发:
✗ "帮我写一个 SQL 查询"(不是审计)
✗ "通用代码审查"(不是安全审计)
✗ "扫描 YYY 项目"(不是目标项目)
示例对比:
# 好
description: 审计 XXX 项目的代码安全,检测 SQL 注入、XSS、越权等漏洞。
当需要审计 XXX 代码、进行安全评审、或检查 XXX 项目漏洞时使用。
支持 Python/Java/Go 代码。
# 差
description: 一个安全扫描工具
security-review-skill-for-{project}/
├── SKILL.md # 入口(方法论 + 通用检查 + 路由表)~15-20KB
├── checks/ # 模块检查文件(按项目模块分组,按需读取)
│ ├── <module>-security.md # 每个 1-5KB
│ └── ...
├── known-issues/ # 已知问题(对照时读取)
│ ├── prior-findings.md # 项目已发现漏洞
│ ├── industry-attacks.md # 行业攻击案例
│ └── attack-patterns.md # 速查表 + 绕过技巧
└── evals/ # 可选:测试用例
├── evals.json
└── test_cases/
security-review-skill-for-{lang}-{framework}/
├── SKILL.md # 入口(方法论 + 完整通用检查 + 路由表)~15-25KB
├── checks/ # 安全维度检查文件(按 D 维度分组,按需读取)
│ ├── injection-security.md # D1 注入深度检查
│ ├── auth-security.md # D2/D3 认证授权深度检查
│ ├── data-crypto-security.md # D7 数据保护 + 加密
│ ├── file-network-security.md# D5/D6 文件 + 网络
│ ├── config-dependency.md # D8/D10 配置 + 供应链
│ └── business-logic.md # D9 业务逻辑
├── known-issues/ # 通用案例(对照时读取)
│ ├── common-vulnerabilities.md # 语言+框架高频漏洞案例
│ └── attack-patterns.md # 攻击模式速查 + 绕过技巧
└── evals/ # 可选:测试用例
├── evals.json
└── test_cases/
Tier 1 — SKILL.md(每次审计都加载):
Tier 2 — checks/(按需读取):
Tier 3 — known-issues/(对照参考时读取):
SKILL.md 中必须包含路由表,格式示例:
## 审计路由
根据审计目标,**必须**先 Read 对应检查文件再开始审计:
| 审计目标 | 读取文件 |
|---------|---------|
| vault / 资金安全 | checks/vault-security.md |
| bridge / 跨链 | checks/bridge-security.md |
| 全量审计 | 按优先级依次读取所有 checks/ |
已知问题对照:Read known-issues/prior-findings.md
将项目特定检查(special_check)分组到 checks/ 文件时:
vault-security.md、bridge-security.md| 组件 | 路径 | 说明 |
|---|---|---|
| 入口模板 | templates/skill_main_template.md | 生成 SKILL.md(方法论 + 路由表) |
| 检查文件模板 | templates/skill_check_template.md | 生成 checks/*.md |
| 已知问题模板 | templates/skill_known_issues_template.md | 生成 known-issues/*.md |
| 旧版模板 | templates/skill_template_legacy.md | 旧版单文件模板(备用) |
| 组件 | 路径 | 说明 |
|---|---|---|
| 审计方法论 | references/architecture_patterns.md | 渐进分析、数据流、跨文件、误报消除 |
| 文档提取指南 | references/document_extraction.md | 如何从项目文档提取安全信息 |
| 通用漏洞库 | references/general_vulns.md | OWASP + 业务逻辑 + 语言特定模式(概览层) |
| Security Grader | agents/security_grader.md | 评估 skill 的检出效果 |
| 参考索引 | references/reference_index.yaml | 六层选择映射(语言→框架→业务→核心→案例→通用) |
| 语言漏洞模式 | references/languages/ (18 files) | 深度语言漏洞模式(Java 含 7 专题、反序列化等) |
| 框架安全指南 | references/frameworks/ (14 files) | Spring/Django/Flask/Express 等框架特有安全问题 |
| 安全领域分析 | references/security/ (24 files) | 竞态、业务逻辑、OAuth、GraphQL、LLM 等 |
| 审计检查清单 | references/checklists/ (11 files) | D1-D10 维度检查 + 判定规则 + 通用覆盖矩阵 |
| Wooyun 案例 | references/wooyun/ (9 files) | 88,636 个真实漏洞的统计、攻击模式和案例 |
| 核心审计模块 | references/core/ (6 files) | 污点分析、误报过滤、绕过策略、敏感操作矩阵 |
| 语言适配器 | references/adapters/ (5 files) | YAML 格式的语言特定检查配置 |
| 实战漏洞 | references/cases/ (1 file) | 真实世界漏洞案例集 |