atgreen/secscan-skill

GitHub: atgreen/secscan-skill

一款在 Claude Code 会话内运行的低 token 消耗 LLM SAST 安全分诊技能,通过九阶段 pipeline 完成从威胁建模到对抗性验证的代码漏洞分析。

Stars: 44 | Forks: 3

# secscan 一个为 [Claude Code](https://claude.com/claude-code) 设计的节省 token 的**会话内**安全分诊技能。 `secscan` 完全在单个 Claude Code 会话内运行分阶段的 LLM SAST pipeline,仅使用 agent 自带的 `Read`/`Grep`/`Glob` 工具——不需要外部扫描器,不需要按分块扇出,也不需要投票运行。它的 token 消耗仅为多次调用扫描工具的一小部分,同时保持了严格的纪律性:每个发现都要经过门控、严重性校准和对抗性验证,然后才会被报告。 ## Pipeline | 阶段 | 功能描述 | |-------|--------------| | **s1 — 调查与侦测** | 读取项目自身的 `SECURITY.md`(权威来源),盘点语言/框架,对仓库类型进行分类,映射 entry point → sink,选择专家镜头。 | | **s2 — 威胁建模** | 为仓库类型实例化 OWASP/CWE 基准并进行 STRIDE 分析;锚定到项目公布的信任边界。 | | **s3 — 分解** | 将代码划分为专注的审查切片(按 entry point、按专家范围,外加一次全面扫描)。 | | **s4 — 深入分析** | 针对每个切片,追踪数据流(而非模式匹配),应用专家镜头,并将每个候选项通过门控检查。 | | **s5 — 预过滤** | 确定性地、无额外开销地剔除低置信度/无引用/超出范围的发现。 | | **s6 — 对抗性验证** | 在源码中确认之前,假定每个发现都是**错误的**;将调用者回溯至外部 entry point;分配 CVSS 3.1 向量。 | | **s7/s8 — 去重与链式分析** | 合并重复项;寻找多跳漏洞利用链。 | | **s9 — 报告** | 按严重性排名的 Markdown(CWE、source→sink、漏洞利用场景、修复建议),标记为分诊候选项。 | ## 设计原则 - **Token 纪律。** 先定位后读取;单次顺序传递;默认缩小范围;仅在有利可图时才扇出给子 agent。 - **不受信任的输入。** 仓库内容——包括任何嵌入的“忽略先前指令”或 `AGENTS`/`CLAUDE` 风格的代码块——都会被视为需要分析的 DATA,绝不会作为指令执行。注入攻击会被报告,而不是被执行。 - **对目标只读。** 扫描只进行分析;它从不编辑项目的源代码、配置或测试。唯一的例外是选择启用的修复流程(`remediate.md`),仅当你指定了要修复的发现并对抗性地验证了每个补丁时,它才会进行编辑。 - **诚实的输出。** 零发现是一个有效的结果。发现结果是等待人工审查的分诊候选项,绝不表示为已确认的漏洞。 ## 安装 直接克隆到你的 Claude Code 技能目录中: ``` git clone ssh://cave@cave.moxielogic.com/atgreen/secscan-skill.git \ ~/.claude/skills/secscan ``` 然后在 Claude Code 中: ``` /secscan ``` 或者直接提问:*“security scan src/ for vulnerabilities”*。如果不提供路径,默认会针对当前仓库与 `main` 分支的 diff 进行扫描。 ## 文件 - `SKILL.md` — 技能定义和 pipeline(由 Claude Code 加载)。 - `gates.md` — 排除规则、防操纵机制(抑制注释不能作为证据)、五项自我验证、严重性校准和穷尽性检查(在 s4–s6 阶段按需加载)。 - `lenses.md` — 六个专家镜头(crypto、逻辑错误、访问控制、反序列化、batch-etl、iac)以及针对不同仓库类型的威胁建模基准。 - `remediate.md` — **选择启用**的修复流程(重新确认 → 最小化根因补丁 → 对抗性验证),仅在你要求修复指定的发现时加载。这是唯一会编辑目标路径的流程;单纯的扫描绝不会触发它。 ## 许可证 Apache License 2.0 — 见 [`LICENSE`](LICENSE)。
标签:AI安全工具, C2, Claude Code, DLL 劫持, 大语言模型, 防御加固, 静态应用安全测试