windshock/oh-my-secuaudit

GitHub: windshock/oh-my-secuaudit

一个面向 Claude/Codex 的安全技能集合,解决安全评估证据的结构化、标准化工序问题。

Stars: 2 | Forks: 0

# oh-my-secuaudit Claude Code 和 Codex 工作流程的安全技能集合。 ## 布局 - `skills/static/sec-audit-static`:静态安全审计工作流(SAST/SCA/密钥/报告) - `skills/static/sec-cluster`:安全代码聚类工作流(基于 v4 数据流) - `skills/runtime/sec-audit-dast`:运行时/API 评估工作流(DAST/ASM) - `skills/external/external-software-analysis`:第三方软件/二进制分析工作流 - `skills/architect/security-architecture-review`:安全架构评审工作流 - `skills/methodology/security-testing-as-code`:评估即项目工作流(PoC、证据、交接) ## 能力矩阵 | 技能 | 核心问题 | 典型输入 | 主要输出 | 消费者 | |---|---|---|---|---| | `sec-audit-static` | 源代码和依赖项中存在哪些漏洞? | 源代码仓库 | 发现的 JSON、任务/最终报告 JSON、Markdown 报告、`reporting_summary` | `security-architecture-review` | | `sec-cluster` | 哪些代码路径共享相同的安全评审策略? | 源代码仓库 + 静态分析结果 | CLUSTERS.md、Semgrep 规则、REVIEW_CHECKLIST.md | `sec-audit-static`、`security-architecture-review` | | `sec-audit-dast` | 运行时或暴露面存在哪些可利用项? | 域名/IP/端点/ASM 导出 | SARIF/CSV 发现、发现 JSON、`reporting_summary` | `security-architecture-review` | | `external-software-analysis` | 第三方二进制/包存在哪些风险? | JAR/AAR/SO/外部包 | Markdown 报告、发现 JSON、架构交接 Markdown、`reporting_summary` | `security-architecture-review` | | `security-architecture-review` | 所有发现如何影响信任边界和关键流程? | 静态/DAST/外部输出 + 仓库证据 | `security-architecture-review.md` + `security-product-requirements.md`(跟踪型待办事项与生命周期差异) | 最终制品 | | `security-testing-as-code` | 如何使评估结果可复现且可继承? | 评估发现 + PoC 代码 | 项目结构(artifacts/poc/、artifacts/runtime/、handoff-plan.md) | 任意生产技能 | ## 端到端关系图谱 ``` flowchart LR subgraph L0["Layer 0: Threat Context (Manual, Non-Automated)"] T["External threat research (advisories, KEV/CVE trends, abuse intel)"] end subgraph L1["Layer 1: Producer Runs"] S["sec-audit-static"] CL["sec-cluster"] D["sec-audit-dast"] E["external-software-analysis"] end subgraph LM["Layer M: Methodology"] STAC["security-testing-as-code"] end subgraph L2["Layer 2: Contract Normalization"] N["Normalize findings: finding_id, severity, provenance, impacted_flow"] end subgraph L3["Layer 3: Architecture Synthesis"] R["security-architecture-review"] end subgraph L4["Layer 4: Outputs and Lifecycle"] O["security-architecture-review.md"] P["security-product-requirements.md (SPR backlog + delta)"] FB["Feedback scope: missing evidence, boundary gaps, flow-specific follow-up"] end S -->|required| N CL -.->|clustering context| S CL -.->|cluster-to-scenario mapping| R D -->|required| N E -->|required| N E -.->|optional enrichment| EH["external-analysis-architecture-handoff.md"] T -.->|manual threat context| R STAC -.->|project structure & PoC packaging| S STAC -.->|project structure & evidence packaging| D N -->|required| R EH -.->|optional enrichment| R R -->|required| O R <--> |continuous requirement lifecycle| P O -->|gap-based follow-up| FB P -->|SPR-driven priorities| FB FB -.->|targeted re-scan| S FB -.->|targeted re-scan| D FB -.->|targeted re-analysis| E FB -.->|new threat questions| T classDef static fill:#e8f5e9,stroke:#2e7d32,color:#1b5e20; classDef runtime fill:#fff3e0,stroke:#ef6c00,color:#e65100; classDef external fill:#e3f2fd,stroke:#1565c0,color:#0d47a1; classDef threat fill:#ffebee,stroke:#c62828,color:#b71c1c; classDef review fill:#fff8e1,stroke:#f9a825,color:#e65100; classDef contract fill:#eceff1,stroke:#455a64,color:#263238; classDef artifact fill:#f5f5f5,stroke:#616161,color:#212121; classDef feedback fill:#e0f2f1,stroke:#00695c,color:#004d40; classDef cluster fill:#f3e5f5,stroke:#7b1fa2,color:#4a148c; classDef methodology fill:#e8eaf6,stroke:#283593,color:#1a237e; class T threat; class S static; class CL cluster; class D runtime; class E,EH external; class N contract; class R review; class O,P artifact; class FB feedback; class STAC methodology; ``` 图例: - 绿色:静态生产者流程 - 紫色:聚类(代码模式分组) - 橙色:运行时生产者流程 - 蓝色:外部生产者流程 - 红色:外部威胁上下文(手动/非自动输入) - 蓝靛色:方法论(评估即代码) - 黄色:架构综合 - 灰色:合同标准化与制品 - 青色:反馈闭环至生产者 - 实线箭头:必需交接 - 虚线箭头:可选增强或迭代反馈 - 双箭头:持续生命周期同步 ## 交接契约(为何重要) - `security-architecture-review` 不是另一个扫描器。 - 它是综合层,负责合并异构证据并做出判定: - 哪些风险已由架构确认 - 哪些仅属于外部/运行时 - 哪些仍为 `not-confirmed` - 跨技能标准化依赖以下字段: - `finding_id`(或 `id`) - `severity` - `provenance`(`binary-confirmed|source-confirmed|runtime-confirmed|not-confirmed`) - `impacted_flow`(例如 `F1`、`F2`) ## 架构评审的最小制品集 | 源技能 | 合成所需 | 推荐补充 | |---|---|---| | `sec-audit-static` | 包含必需字段的发现 JSON、`reporting_summary` | Markdown 报告与污点/源-汇注释 | | `sec-audit-dast` | 包含必需字段的发现 JSON 或标准化运行时发现、`reporting_summary` | SARIF 与可复现探测元数据 | | `external-software-analysis` | 包含必需字段的发现 JSON | `external-analysis-architecture-handoff.md` | | 外部威胁研究(手动) | 非必需 | 来自安全公告/情报的威胁主题映射到攻击场景 | ## 架构到产品的桥梁 - `security-architecture-review` 将高/危急风险与未解决的缺口转化为 `SPR-*` 需求。 - 每个 `SPR-*` 必须包含负责人、目标里程碑、状态与可测试的验收标准。 - 需求状态在每次架构评审时更新并附带差异: - `added`、`updated`、`closed`、`deferred`、`accepted-risk` ## 应运行哪些技能 | 场景 | 运行顺序 | |---|---| | 源代码仓库审计 | `sec-audit-static` -> `security-architecture-review` | | 外部端点/运行时评估 | `sec-audit-dast` -> `security-architecture-review` | | 第三方二进制/包风险 | `external-software-analysis` -> `security-architecture-review` | | 完整融合评估 | `sec-audit-static` + `sec-audit-dast` + `external-software-analysis` -> `security-architecture-review` | ## 推荐编排 1. 在可能的情况下并行运行生产技能(静态、运行时、外部)。 2. 使用通用合同(`finding_id`、`severity`、`provenance`、`impacted_flow`)标准化发现。 3. 添加手动外部威胁研究主题并映射到候选攻击场景。 4. 运行 `security-architecture-review` 将发现映射到 DFD 节点、信任边界与攻击场景。 5. 生成来自架构缺口的反馈计划(缺失证据、未解决的边界、不确定流程、新威胁问题)。 6. 针对反馈计划中的范围重新运行生产技能,随后重新运行架构评审。 7. 仅在存在新直接证据时升级 `provenance`。 ## 闭环模型(生产者 <-> 架构) 1. 生产者发现候选项并进行初始确认。 2. 架构评审综合系统级风险并识别确认缺口。 3. 缺口转化为有针对性的生产者操作(新规则、新探测、更深入的源码/二进制追踪)。 4. 生产者返回精炼后的证据。 5. 架构评审更新 DFD/攻击流程与置信度。 6. 重复直至主要缺口关闭。 ## 最终报告前的质量门禁 1. 每个导入的发现都必须包含 `provenance` 和 `impacted_flow`。 2. 外部运行时跃点组件(例如 RP 中继、移动 SDK)必须在 DFD 节点/边/边界映射中显式出现。 3. 攻击流程场景需回溯到场景 ID 与导入的发现 ID。 4. `Confidence & Gaps` 需清晰列出未解决的确认项。 ## 开发者工作流 - 本地验证运行:`just check`(或 `python3 scripts/validate_skills_repo.py`) - CI 在 `push`/`pull_request` 到 `main` 时执行相同的合同验证。 - 快速工作树检查:`just status` 发布流程: - 请参阅 [`.github/RELEASE_GUIDE.md`](.github/RELEASE_GUIDE.md) 获取版本控制/打标签步骤。 ## 项目文档 - 发行说明:`RELEASE_NOTES.md` - 后续计划:`ROADMAP.md` ## 环境搭建 ### Claude Code 每个技能的 `SKILL.md` 可直接作为 Claude Code 指令文件使用。要使用某项技能: 1. **直接引用**:请 Claude Code 读取并遵循特定 `SKILL.md`: 读取 skills/static/sec-audit-static/SKILL.md 并运行该静态审计剧本。 2. **项目命令**:将技能目录符号链接或复制到项目的 `.claude/commands/` 以便通过斜杠命令访问: ```bash mkdir -p .claude/commands ln -s "$(pwd)/skills/static/sec-audit-static/SKILL.md" .claude/commands/sec-audit-static.md ``` 3. **CLAUDE.md 集成**:从项目的 `CLAUDE.md` 引用技能: 要进行安全审计,请参考 /path/to/oh-my-secuaudit/skills/static/sec-audit-static/SKILL.md 中的工作流。 ### Codex 每个技能目录均包含 `agents/openai`,供 Codex 原生发现使用。将技能目录复制或符号链接到 `~/.codex/skills/local/`。 ## 相关阅读 来自 [Code Before Breach](https://windshock.github.io/en/) 的博客文章: | 技能 | 文章 | 相关性 | |---|---|---| | `security-testing-as-code` | [Security Diagnostics Reports Die Upon Publication](https://windshock.github.io/en/post/2026-03-17-security-testing-as-code/) | 直接来源——评估即项目的核心论述 | | `sec-cluster` | [Structure Builders Will Outlast Vulnerability Finders](https://windshock.github.io/en/post/2026-04-02-security-from-sense-to-structure/) | 以系统化结构取代零散发现 | ## 附注 - 每个技能目录均包含其自身的 `SKILL.md`、引用、模式与脚本。 - 技能按领域划分,位于 `skills/static`、`skills/runtime`、`skills/external`、`skills/architect` 与 `skills/methodology` 下。
标签:Claude Code, Codex, DAST, SAST, SEO: 代码安全, SEO: 安全审计工具, SEO: 评估即代码, SOC工具, 二进制分析, 云安全运维, 代码分析, 代码聚类, 信任边界, 凭证管理, 动态应用安全测试, 安全工作流, 安全技能集合, 恶意软件分析, 持续安全, 架构审查, 漏洞发现, 盲注攻击, 秘密检测, 系统运维工具, 评估即代码, 静态应用安全测试