一句话介绍
Code Audit 是一个为 Claude Code 打造的专业白盒代码安全审计技能,覆盖 9 种语言、14 种框架、55+ 漏洞类型,开箱即用。
为什么做这个项目?
做安全审计的人都知道,代码审计是一件极度依赖经验和耐心的工作。一个中型 Java 项目动辄几百个文件,要从中找到 SQL 注入、反序列化、IDOR、业务逻辑缺陷……不仅要 Grep 危险函数,还要追踪数据流,更要发现那些"本该存在却不存在"的安全控制。
大模型擅长理解代码语义,但直接让它做安全审计,结果往往是:大量幻觉、大量误报、遗漏真正的高危漏洞。
Code Audit Skill 就是为了解决这个问题 — 把专业的安全审计方法论"注入"到 Claude Code 中,让它像一个经验丰富的安全工程师一样系统性地工作。
核心能力一览
覆盖广度
| 维度 | 详情 |
| 语言 | Java, Python, Go, PHP, JavaScript/Node.js, C/C++, .NET/C#, Ruby, Rust |
| 框架 | Spring Boot, Django, Flask, FastAPI, Express, Koa, Gin, Laravel, Rails, ASP.NET Core, NestJS, Fastify, Rust Web, MyBatis |
| 漏洞类型 | 55+ 种,覆盖 SQL注入、XSS、RCE、反序列化、SSRF、SSTI、XXE、IDOR、竞态条件、业务逻辑缺陷等 |
| 检测项 | 143 项强制检测,按 10 个安全维度 (D1-D10) 组织 |
三种扫描模式
| 模式 | 适用场景 | 范围 |
| Quick | CI/CD 集成、小型项目 | 高危漏洞、敏感信息、依赖 CVE |
| Standard | 日常审计 | OWASP Top 10、认证授权、加密 |
| Deep | 重要项目、渗透测试前准备 | 全覆盖、攻击链、业务逻辑、多轮迭代 |
技术亮点
1. 双轨审计模型 — 不同漏洞用不同策略
这是 Code Audit 的核心设计理念。不同类型的漏洞需要根本不同的检测方法:
Sink-driven(汇聚点驱动)
- • 适用于:注入 (D1)、反序列化 (D4)、文件操作 (D5)、SSRF (D6)
- • 方法:Grep 危险函数 → 追踪数据流 → 验证无防护
- • 发现目标:存在的危险代码
Control-driven(控制驱动)
- • 适用于:授权 (D3)、业务逻辑 (D9)
- • 方法:枚举端点 → 验证安全控制是否存在 → 缺失 = 漏洞
- • 发现目标:缺失的安全控制
这一点至关重要 — 授权缺失、IDOR 等漏洞的本质是"代码不存在",你无法用 Grep 搜到"不存在的代码"。传统的 SAST 工具在这个维度上几乎无能为力,而 LLM 的语义理解能力恰好可以发挥优势。
2. 多 Agent 并行架构
面对大型代码库,单线程审计效率太低。Code Audit 采用多 Agent 并行方案:
Agent 1: 注入漏洞 (D1) [sink-driven]
Agent 2: 认证+授权+业务逻辑 (D2+D3+D9) [control-driven]
Agent 3: 文件操作+SSRF (D5+D6) [sink-driven]
Agent 4: 反序列化 (D4) [sink-driven]
Agent 5: 配置+加密+供应链 (D7+D8+D10) [config-driven]实测 874+ Java 文件的 Spring Boot 项目,约 15 分钟完成深度审计。
3. 防幻觉机制 — 宁可漏报,不可误报
LLM 做安全审计最大的问题是幻觉。Code Audit 设计了严格的防幻觉规则:
- • 文件路径必须通过 Glob/Read 验证后才能报告
- • 代码片段必须来自 Read 工具的实际输出
- • 禁止基于"典型项目结构"猜测
- • 知识库中的示例代码 ≠ 目标项目的代码
核心原则:宁可漏报,不可误报。质量优于数量。
4. WooYun 真实案例库
集成了 WooYun 平台 88,636 个真实漏洞案例(2010-2016),提供:
- • 统计驱动的参数优先级(哪些参数名最常出现在漏洞中)
- • 绕过技术库(WAF 绕过、过滤器绕过等实战技巧)
- • 逻辑漏洞模式(密码重置、支付、权限等典型场景)
- • 真实案例参考(每种漏洞类型都有来自真实环境的案例)
5. 攻击链构建
不只是孤立地报告单个漏洞,而是自动将多个发现串联为可利用的攻击路径:
信息泄露 → 获取管理员凭证 → 认证绕过 → 文件上传 → RCE组合后的影响远大于单个漏洞的简单叠加。
使用方法
安装
# 复制到 Claude Code skills 目录
cp -r code-audit ~/.claude/skills/# 或直接从 GitHub 克隆
cd ~/.claude/skills
git clone https://github.com/3stoneBrother/code-audit.git
使用
在 Claude Code 中直接对话即可:
你:/code-audit deep /path/to/projectClaude:[MODE] deep
[RECON] 874 文件, Spring Boot 1.5 + Shiro 1.6 + JPA + Freemarker
[PLAN] 5 个 Agent, D1-D10 覆盖, 预估 125 turns
... (确认后开始审计) ...
[REPORT] 10 Critical, 14 High, 12 Medium, 4 Low
也可以用自然语言:
"审计这个项目"
"检查代码安全"
"找出安全漏洞"10 个安全维度全覆盖
| 维度 | 名称 | 覆盖内容 |
| D1 | 注入 | SQL / Cmd / LDAP / SSTI / SpEL / JNDI |
| D2 | 认证 | Token / Session / JWT / Filter 链 |
| D3 | 授权 | CRUD 权限一致性、IDOR、水平越权 |
| D4 | 反序列化 | Java / Python / PHP Gadget 链 |
| D5 | 文件操作 | 上传 / 下载 / 路径遍历 |
| D6 | SSRF | URL 注入、协议限制绕过 |
| D7 | 加密 | 密钥管理、加密模式、KDF |
| D8 | 配置 | Actuator、CORS、错误信息暴露 |
| D9 | 业务逻辑 | 竞态条件、Mass Assignment、状态机、多租户隔离 |
| D10 | 供应链 | 依赖 CVE、版本检查 |
项目结构
code-audit/
├── SKILL.md # 技能入口(执行控制器)
├── agent.md # Agent 工作流(状态机 + 双轨模型)
├── README.md / README_CN.md # 文档
└── references/ # 96 个知识模块
├── core/ (16) # 核心方法论
├── checklists/ (11) # D1-D10 覆盖矩阵 + 9 语言检查清单
├── languages/ (18) # 语言漏洞模式
├── security/ (21) # 安全域模块
├── frameworks/ (14) # 框架专项模块
├── adapters/ (5) # 语言适配器
├── wooyun/ (9) # WooYun 真实案例库
├── cases/ (1) # 真实漏洞案例
└── reporting/ (1) # 报告模板适合谁用?
- • 安全工程师:日常代码审计的效率倍增器
- • 渗透测试人员:渗透前的白盒代码分析
- • 开发团队 Lead:上线前的安全 Review
- • 安全研究员:漏洞挖掘和模式研究
本文为 独立观点,未经授权禁止转载。
如需授权、对文章有疑问或需删除稿件,请联系 FreeBuf
客服小蜜蜂(微信:freebee1024)


