Web3安全新前沿:智能合约审计的AI代理生态
我一直在推迟撰写关于智能合约漏洞检测AI工具的回顾。但一年前,这看起来还像是一堆互不相关的实验——孤立的代理、随机的提示词、将ChatGPT与Solidity集成的尝试——而如今,一个涵盖工具、方法论和基准测试的完整生态系统正在形成。发展的速度促使我必须盘点当前状况并系统化现有成果,因为这个领域正在快速演进并积聚势头。
主流审计平台的AI集成
所有流行的智能合约审计平台都已经拥有了自己的AI审计工具:
Sherlock AI审计
- GitHub集成
- 实时跟踪提交和拉取请求
- 规范化代码,构建依赖关系和逻辑流模型
- 结合静态分析、Sherlock审计师使用的启发式规则,以及基于数千个真实漏洞训练的机器学习模型
- 按严重程度(高/中/低)标记漏洞
- 提供链接、问题描述、建议,甚至用于验证修复的单元测试
- 显示漏洞修复进度
- 允许在修复后重新运行分析
- 模型基于新数据和用户反馈持续训练
Nethermind AuditAgent
- 使用大语言模型进行代码分析
- 传统方法(静态+动态分析)
- 检测已知漏洞(重入、溢出、访问控制等)
- 分析代码库、合约结构和交互
- 检查Gas优化和最佳实践合规性
- 支持CI/CD流水线,可在每次提交时运行审计
- 支持GitHub和私有仓库
- 生成PDF报告
- 部署后监控
- 基于AI的修复建议
SavantChat
- 自动化智能合约检查
- Gas优化建议
- 最佳实践合规性检查
- GitHub和CI/CD集成
- 教程建议和解释
- 分析、报告和风险动态监控
此外,还有AuditWizard、AlmanaxAI、ChainGPT等工具,都在朝着结合LLM和静态分析的方向发展。
开源社区驱动的审计代理
GitHub上社区成员开始分享自己的审计代理指令集:
.context
一组指令和提示词,将通用AI代理(如GitHub Copilot、Claude、ChatGPT等)转变为专门的智能合约审计工具。
- 直接加载到项目工作区
- 定义代理分析代码的规则
- 将结果结构化为审计报告、POC利用代码、UML图、分类等
ai-smart-contract-auditor
基于检索增强生成架构构建的Solidity智能合约分析AI工具。
- 快速检查简单漏洞(如tx.origin、过时编译器)
- 对函数逻辑、交互和依赖进行深度AI验证
- 每个函数单独分析,提高建议准确性
- 对每个函数,AI从向量索引中提取相关数据
- 这些数据与代码一同提交给LLM,生成专家审计师风格的报告
- 知识库:ConsenSys智能合约最佳实践、Solidity安全考量、SWC注册表
finite-monkey-engine
专注于区块链和系统软件代码安全审计的AI引擎,结合了多个LLM、RAG和静态分析。专长:Solidity / Rust / C/C++ / Move(使用tree-sitter)。
x-engine
面向Move合约(Sui/Aptos)的开源AI代码审查项目,目标是在早期阶段快速报告漏洞和Gas优化问题。
Hound —— 用AI代理 hunting 代码安全漏洞
Hound模型通过生成描述函数与数据流之间关系的方面图,模拟人类审计师的认知过程。基于这些图,代理推理程序行为并逐步优化其假设。这标志着AI向理解代码而非仅仅寻找模式迈出了一步。
作者演示了一个真实漏洞(Rustic Server中的路径遍历),并通过curl的概念验证进行了确认。这证明了Hound能真正发现漏洞,而非"幻觉"生成。
特别值得关注的是信念精化机制——代理的"信念"和置信度系统,类似贝叶斯推理——以及多个代理并行工作的理念(如Sonnet+Opus和Grok+GPT-5),实时共享共同的图和假设。
此外还有SCsVulSegLytix、Quimera、FTSmartAudit等众多项目,均朝着多代理架构和RAG审计方向发展。
漏洞数据集与基准
这些数据库被用作训练和评估LLM审计师的真实漏洞来源:
- SCWE - OWASP智能合约弱点枚举
- awesome-smart-contract-datasets
- scabench
- Solodit漏洞数据库
- Kaggle智能合约漏洞数据集
- scbench
- scout-substrate-dataset-code
- SmartBugs精选数据集
- DeFiHackLabs
主要类别包括:SWC注册表、DeFi安全事件、非标准逻辑和经济类错误。
工具对比评估
在真实的Sherlock竞赛(yBOLD、Crestal、CAP)中,对部分解决方案进行了对比评估。在所有工具中,AlmanaxAI、AuditAgent(Nethermind)和SavantChat在处理和生成报告方面表现突出:
- AuditAgent:整体召回率最佳,但误报较多
- SavantChat:在Crestal竞赛中召回率高,能生成深度PoC,但存在重复/冗余问题(误报在增长)
- AlmanaxAI:发现较少,但在Crestal上有一个确认的真阳性,整体覆盖率有限
总体来看,这些工具在漏洞属于局部性和通用性(状态机/认证)时表现更好,在经济/会计/跨合约不变量(Yearn/CAP)等领域表现明显较差。
评估者建议:需要明确期望目标——
- 需要高召回率(真阳性)→ 会有大量噪音
- 需要清晰的报告 → 召回率会降低,会漏掉漏洞
核心结论:将AI工具用作初步筛选/CI过滤器,同时手动检查业务逻辑和经济模型。
深度技术文章解析
AI驱动的智能合约开发:从ChatGPT到生产环境
核心观点不是"让ChatGPT写合约",而是将整个开发生命周期围绕AI构建——从架构到审计再到监控。关键在于有意识地使用LLM,以比以往更快地编写安全、优化的合约——将ChatGPT从代码生成器转变为与人类协作的合著者、测试者和审计师。
如何训练LLM发现Solidity智能合约漏洞
文章详细解释了公共LLM适用于开源代码的解释和粗略检查,但审计私有仓库需要自定义代理,这受限于数据集质量和计算资源。作者详细描述了从漏洞数据库问题到硬件配置的内部细节,并强调需要容忍噪音和过度警告,以避免遗漏真实漏洞。
AI辅助安全审计:实用指南与真实案例
突出展示了AI审计的局限性,并以Oak Security为例说明企业如何实施此类审计。AI主要聚焦四个领域:
- 代码与架构理解:LLM帮助快速理解复杂协议、追踪合约间关联、可视化数据流、简化大型代码库分析
- 漏洞检测:AI工具提供已知模式的快速扫描,能在新提交中发现漏洞,但需人工验证,无法处理新型攻击
- 假设检验与推理:ChatGPT、Perplexity和Cursor帮助审计师推理潜在攻击向量,分析调用链和系统行为
- 报告与文档准备:LLM用于编写结构化、一致的问题描述
同时强调保密性至关重要:公共模型不能用于分析私有代码,解决方案包括本地模型(Llama、Mistral)、自托管基础设施、NDA下的微调,或私有云实例(不收集数据)。
AI驱动的安全分析:智能合约漏洞检测的革命
强调在CI/CD中为每个PR集成AI扫描的优势:即时反馈典型模式、带建议的报告、拉取请求中的自动化评论。但同时需要为误报/漏报做好准备,模型本身存在被绕过的脆弱性,质量依赖数据集,代码隐私和云基础设施信任问题也不容忽视。
构建不确定性架构:基于LLM的软件现代指南
文章清晰阐述了LLM架构的重要性,应该分为三个层次:
- 提示层:语言作为接口和逻辑管理的新切入点
- 代理层:模块化、隔离的"专家",确保扩展性和安全性
- 编排层:管理流程、状态、RAG和业务逻辑
只有正确配置所有三层,才能构建稳定系统并达到理想效果。
总结与展望
AI审计正在渗透日常工作和安全基础设施,已集成到CI/CD和审查流程中,成为大型审计团队的标准工具。尽管许多怀疑论者认为AI仍落后于人工代码审查,但现在开始将其整合到工作流程中是值得的,逐步为加速例行程序建立坚实基础。
你可以选择现成方案,也可以构建自己的"审计师" —— 所有基础要素已经就位:
- 开源漏洞数据集(SmartBugs、SWC-Bench、DeFiHackLabs)
- 公共框架(Hound、ai-smart-contract-auditor、.context)
- 开源权重模型(LLaMA、Mistral、DeepSeek)
最低起步方案:
- 选择LLM并启用RAG模块以检索SWC注册表
- 训练代理解析代码、分组函数并生成报告
- 在开源基准上测试结果,与真实审计师发现对比
重要的是记住:AI并非要取代我们的工作,而是成为需要根据我们的安全分析方法进行调整的工具。
CSD0tFqvECLokhw9aBeRqgDFKA/SkkMfags7uQz3X5eLWjTugrlQpnP5bzzCCAcXCAFrpyEk2w1qCSw33INjSFd3Mc31YgFQ7Y2SF8I5fOCUusqF3Z7cItmkZOmafsL/EfwJiGVQe+Mr/DHo1pyAmEyMTEt7WieeNfkt3n98ErE=