开源 AI Agent 智能合约审计工具发布
开发者发布 Rust 命令行工具 AI Agent Audit,基于大模型对 Solidity 仓库进行漏洞发现、去重、…
AI Agent Audit 是一个用 Rust 编写的命令行工具,主打「AI 辅助的 Solidity 智能合约安全审计」。它能在克隆 Solidity 或 EVM 仓库后,借助大模型发现可疑漏洞、对结果去重与验证、为高/中危发现生成可运行的 PoC(概念验证),并最终输出结构化的 Markdown 审计报告。项目仓库为 chain-shield/ai-agent-audit,目前处于公开测试阶段,作者在 Code4rena 审计竞赛中使用过该工具并取得一定成绩。
核心功能与工作流
工具的默认工作流主要包含以下环节:
- 克隆并构建 Foundry 或 Hardhat 仓库(默认输出到
~/Desktop/Audit)。 - 从 README 及配置入口生成审计范围与协议说明,落到
audit-docs/目录。 - 在静态分析可用时融合 Slither 的调用图与语义数据,并从 Solidity 源码构建继承关系与接口实现索引。
- 为每个在审计范围内的合约生成上下文代码块。
- 结合模式库、不变量提示与「角色驱动」的上下文,发现候选漏洞。
- 在产出报告前对发现进行验证与去重,本地状态保存在
.ai-agent-audit/下的 SQLite 中。 - 主流程默认输出一个可立即运行的
validation-three-shot任务,深度过滤、PoC 生成与验证、报告加固均在该验证流程中完成。
默认模型与多 Provider 支持
当前默认审计流水线使用 ChatGPT/Codex OAuth 接入 OpenAI,主审查流程运行在「gpt-5.5」上,去重辅助流程使用「gpt-5.4」(低推理档)。Codex 被官方推荐为默认路径,首次启动会按需弹出一次 ChatGPT 登录,后续复用缓存会话直到 token 过期。
- 也可通过
AI_AGENT_AUDIT_OPENAI_BACKEND=api切换到OPENAI_API_KEY直接调用,作为备用方案。 - 代理层仍支持
ANTHROPIC_API_KEY、GEMINI_API_KEY/GOOGLE_AI_API_KEY、DEEPSEEK_API_KEY,但默认审查路径并不依赖这些 Provider。 - 若希望将「发现阶段」切到 Gemini,同时把验证与报告留在 OpenAI/Codex,可在
src/config.rs中调整默认配置。
适用对象与边界
工具明确不是托管服务,也不是覆盖所有语言的通用 SAST 扫描器,更不能替代人工审计,主要面向:
- 智能合约审计员与安全研究员。
- 对 Solidity 代码库做内部审查的协议团队。
- 在允许将仓库与衍生上下文发送给外部模型提供方的前提下,试验 AI 辅助审计工作流的工程师。
由于运行时会将仓库源码、文档与衍生上下文发送至用户自行配置的第三方 LLM Provider,私有仓库需先设置 GITHUB_TOKEN。
快速上手
依赖项包括:Rust stable 工具链、Git、Slither、Foundry(forge)、Node.js 18+(含 npm/npx、Yarn、pnpm 或 Bun),可选 GITHUB_TOKEN 用于私有仓库。常见流程为:克隆仓库并进入目录、从 .env.example 复制出 .env、复制 examples/audit-config.example.yaml 为 audit-config.yaml、填入目标 Solidity 仓库地址与 code_folders,最后执行 cargo build --release 与 cargo run --release -- --config audit-config.yaml。如不想写 YAML,也可直接 cargo run --release -- <repo_url> --audit-type Client。
audit_type 支持 Code4rena、Code4renaBounty、ImmunefiBugBounty、Sherlock、Cantina 与 Client(内部/客户审计),不同取值会影响严重度处理与报告语言风格;其中 Code4renaBounty 仅将「当前可利用、附可运行 PoC」的 Critical/High 问题作为提交候选,ImmunefiBugBounty 则会从 Immunefi 项目页派生仓库/文档/审计范围并按 Immunefi 影响规则进行验证。
