$npx -y skills add xwtro0tk1t-cloud/harness --skill security-review-skill-creator生成安全审计 skill。两种模式:(1) 项目模式——根据项目文档生成定制化审计 skill;(2) 通用模式——仅指定语言+框架,从参考资料库生成通用审计 skill。当用户想创建安全审计 skill、生成审计规则、或提到"生成安全审计skill"、"创建code review skill"、"生成 Java 审计 skill"时使用。
| 1 | # Security Review Skill Creator |
| 2 | |
| 3 | 生成安全审计 Skill,支持两种模式: |
| 4 | |
| 5 | | 模式 | 输入 | 产出 | 适用场景 | |
| 6 | |------|------|------|---------| |
| 7 | | **项目模式** | 项目文档(飞书/本地) | `security-review-skill-for-{project}` | 有设计文档、审计报告的特定项目 | |
| 8 | | **通用模式** | 语言 + 框架(如 "Java + Spring") | `security-review-skill-for-{lang}-{framework}` | 无项目文档,需要通用语言/框架审计能力 | |
| 9 | |
| 10 | **核心目标**: |
| 11 | 1. **继承 skill-creator 方法论**:Draft → Test → Grade → Improve |
| 12 | 2. **安全审计专业性**:从文档/参考资料提取安全关注点,生成检查规则 |
| 13 | |
| 14 | **设计理念**:生成的 skill 是一个 **prompt-based 审计指南**,指导 Claude 如何审计代码。不依赖外部工具,Claude 直接阅读代码并应用检查规则。 |
| 15 | |
| 16 | **多语言/多服务项目增强**(从 DEX 项目实践中提炼): |
| 17 | 1. **语言智能路由**:正则扫描和 checks 加载按代码语言自动路由,审计 Java 代码不执行 Go 正则 |
| 18 | 2. **跨服务攻击链分析**:单模块 MEDIUM 漏洞 + 跨服务组合 = CRITICAL,必须分析服务间信任边界 |
| 19 | 3. **信任边界矩阵**:列出所有服务间数据流方向和验证要求,确保每个边界都被审计覆盖 |
| 20 | |
| 21 | ## 工作流程 |
| 22 | |
| 23 | ### 模式判定 |
| 24 | |
| 25 | 收到用户请求后,**首先判定模式**: |
| 26 | |
| 27 | | 信号 | 模式 | |
| 28 | |------|------| |
| 29 | | 用户提供了项目文档(飞书链接/本地文件/项目描述) | **项目模式** | |
| 30 | | 用户只说 "生成 Java + Spring 审计 skill" / "Go 通用审计" | **通用模式** | |
| 31 | | 不确定 | 用 AskUserQuestion 询问:"有项目文档吗?还是生成通用语言审计 skill?" | |
| 32 | |
| 33 | ### 项目模式流程 |
| 34 | |
| 35 | ``` |
| 36 | ┌─────────────────────────────────────────────────────────────────┐ |
| 37 | │ 项目模式 (Project Mode) │ |
| 38 | ├─────────────────────────────────────────────────────────────────┤ |
| 39 | │ 1. 收集项目文档 (lark-reader / 本地文件) — 多遍提取 │ |
| 40 | │ - 第一遍:架构 + 技术栈 │ |
| 41 | │ - 第二遍:业务规则 + 公式 + 状态机 │ |
| 42 | │ - 第三遍:已有审计报告 + 安全检查清单 + 攻击案例 │ |
| 43 | │ ↓ │ |
| 44 | │ 2. 提取安全关注点 │ |
| 45 | │ - 技术栈 → 语言特定漏洞模式 │ |
| 46 | │ - 业务流程 → 业务逻辑检查项 │ |
| 47 | │ - 权限模型 → 越权检测规则 │ |
| 48 | │ - 领域特定 → 公式/不变量/状态机 (DeFi/IoT/...) │ |
| 49 | │ - 已有安全知识 → 审计发现/行业事故 │ |
| 50 | │ ↓ │ |
| 51 | │ 2.5 【强制】Read 参考资料 (reference_index.yaml) │ |
| 52 | │ - 语言 → Read languages/*.md + checklists/*.md + adapters/ │ |
| 53 | │ - 框架 → Read frameworks/*.md │ |
| 54 | │ - 业务 → Read security/*.md (竞态/OAuth/GraphQL/DeFi/...) │ |
| 55 | │ - 案例 → Read wooyun/ + cases/ │ |
| 56 | │ - 核心 → Read core/ (污点分析/误报过滤) [始终加载] │ |
| 57 | │ - 通用 → Read checklists/universal.md + coverage_matrix.md │ |
| 58 | │ ⚠️ 禁止跳过!禁止仅凭自身知识替代参考文件内容! │ |
| 59 | │ ↓ │ |
| 60 | │ 2.6 验证覆盖度(对照 coverage_matrix.md) │ |
| 61 | │ ↓ │ |
| 62 | │ 3. 生成 security-review-skill-for-xxx │ |
| 63 | │ - 通用漏洞检查 (从 languages/ + checklists/ 提取) │ |
| 64 | │ - 深度漏洞模式 (从 languages/ + frameworks/ 提取) │ |
| 65 | │ - 审计正则速查 (从 adapters/ + languages/ 提取) │ |
| 66 | │ - 项目特定检查 (从文档提取,含公式/不变量/状态机) │ |
| 67 | │ - 已有审计发现 + 行业攻击案例 │ |
| 68 | │ - 误报过滤 + 污点分析 (从 core/ 提取) │ |
| 69 | │ ↓ │ |
| 70 | │ 4. 创建测试用例 + 评估 + 迭代改进 │ |
| 71 | │ ↓ │ |
| 72 | │ 5. 输出最终 skill (SKILL.md ~15-20KB + checks/ + known-issues/) │ |
| 73 | └─────────────────────────────────────────────────────────────────┘ |
| 74 | ``` |
| 75 | |
| 76 | ### 通用模式流程 |
| 77 | |
| 78 | ``` |
| 79 | ┌─────────────────────────────────────────────────────────────────┐ |
| 80 | │ 通用模式 (Generic Mode) │ |
| 81 | ├─────────────────────────────────────────────────────────────────┤ |
| 82 | │ 1. 解析用户指定的语言 + 框架 │ |
| 83 | │ - 如 "Java + Spring" → lang=java, framework=spring │ |
| 84 | │ - 如 "Go 通用" → lang=go, framework=无 │ |
| 85 | │ ↓ │ |
| 86 | │ 2. 【全量加载】Read 参考资料 (reference_index.yaml) │ |
| 87 | │ - 语言 → Read languages/{lang}.md(含全部 specialized) │ |
| 88 | │ + checklists/{lang}.md + adapters/{lang}.yaml │ |
| 89 | │ - 框架 → Read frameworks/{framework}.md │ |
| 90 | │ - 核心 → Read core/ [始终加载] │ |
| 91 | │ - 通用 → Read checklists/universal.md + coverage_matrix.md │ |
| 92 | │ - 案例 → Read wooyun/ 中与该语言高相关的类别 │ |
| 93 | │ + cases/real_world_vulns.md │ |
| 94 | │ ⚠️ 通用模式下 references 是唯一内容来源,更需完整加载! │ |
| 95 | │ ↓ │ |
| 96 | │ 3. 生成 security-review-skill-for-{lang}-{framework} │ |
| 97 | │ - 通用漏洞检查 (从 references 全量提取,少裁剪) │ |
| 98 | │ - 深度漏洞模式 (从 languages/ 完整提取 Sink 列表) │ |
| 99 | │ - 审计正则速查 (从 adapters/ 完整提取) │ |
| 100 | │ - 框架威胁面 (从 frameworks/ 完整提取) │ |
| 101 | │ - 误报过滤 + 污点分析 (从 core/ 提取) |