文章总结: Certi-Audit-Agent是一款多链智能合约安全审计工具,结合静态分析与LLM语义理解,支持EVM、Solana和Sui架构。它通过混合引擎输出结构化审计报告,示例显示能有效检测重入漏洞等风险并给出修复建议。项目开源,适合区块链安全审计场景。 综合评分: 70 文章分类: 区块链安全,安全工具,代码审计,漏洞分析,应用安全
Certi-Audit-Agent:多链智能合约混合区块链安全审计工具
原创
0x八月 0x八月
0x八月
2026年3月23日 14:21 陕西
Certi-Audit-Agent:多链智能合约混合区块链安全审计工具
⚠️
请勿利用文章内的相关技术从事非法渗透测试,由于传播、利用此文所提供的信息而造成的任何直接或者间接的后果及损失,均由使用者本人负责,作者不为此承担任何责任。工具和内容均来自网络,仅做学习和记录使用,安全性自测,如有侵权请联系删除。
⚠️注意:现在只对常读和星标的公众号才展示大图推送,建议大家把”0x八月“设为星标⭐️”否则可能就看不到了啦,点击下方卡片关注我哦!
💡项目地址在文章底部哦!
📖 项目/工具简介
Certi-Audit-Agent是多链智能合约安全审计平台,采用混合引擎结合静态分析与LLM语义理解,支持EVM、Solana及Sui架构。
🚀 一句话优势
静态+LLM混合分析,策略模式实现多链统一审计框架。
📋 核心能力速览
| 功能 | 说明 | | — | — | | 多链支持 | EVM(Solidity)、Solana(Rust)、Sui(Move) | | 混合分析 | Slither/Soteria静态分析+GPT-4o/Gemini语义推理 | | 自动工厂 | 基于文件后缀智能识别项目类型 | | RAG知识库 | 结合最佳实践输出业务上下文修复建议 | | 工程化设计 | Pydantic校验与错误降级处理 |
📸 输出示例
python main.py target_contracts/evm/VulnerableToken.sol
🚀 启动 Certi-Audit Agent...
📂 目标文件: target_contracts/evm/VulnerableToken.sol
🔧 审计模式: EVM
🏭 Factory: 根据模型名 'gemini-2.5-flash' 加载 -> create_gemini_service
🏭 Factory: 根据项目类型 'EVM' 加载 -> SlitherAnalyzer
🔍 [System] 正在运行静态分析 (模式: EVM)...
✅ [System] 静态分析完成。
(摘要: ### 🔍 Slither 静态分析报告 (EVM): 1. [High] **reentrancy...)
🧠 [AI] 正在调用 gemini-2.5-flash 进行语义分析...
======================================================================
✅ 审计报告生成完成
======================================================================
**摘要:** 本次审计发现 `VulnerableToken` 合约存在一个高危的重入漏洞,主要原因是其 `withdraw` 函数未能遵循 Checks-Effects-Interactions (CEI) 安全模式。此外,合约使用了范围较广的 Solidity 编译器版本,存在低级调用,以及一个命名规范问题。作为语义补充,合约还缺少一个紧急暂停机制,这对于金融类合约而言是一个重要的安全最佳实践。
🔴 [漏洞 1] 重入漏洞 (Reentrancy) (High)
📍 位置: Line 17
📝 描述: 在 `withdraw` 函数中,外部调用 `msg.sender.call{value: _amount}("")` 发生在状态变量 `balances[msg.sender]` 更新之前。这违反了 Checks-Effects-Interactions (CEI) 模式。恶意合约可以利用此漏洞,在第一次提款的 Ether 到账后,立即再次调用 `withdraw` 函数,此时 `balances[msg.sender]` 尚未减少,导致攻击者可以多次提款,耗尽合约资金。
🛠️ 建议: 严格遵循 Checks-Effects-Interactions (CEI) 模式。在进行任何外部调用之前,先更新合约的状态变量。或者,使用 ReentrancyGuard 模式来防止重入。
------------------------------
🔴 [漏洞 2] Solidity 编译器版本过旧/范围过广 (Informational)
📍 位置: Line 2
📝 描述: 合约使用了 `^0.8.0` 的编译器版本约束。这意味着合约可能使用任何 `0.8.x` 版本的编译器进行编译。某些旧的 `0.8.x` 版本已知存在编译器错误,可能导致意外行为或安全漏洞。建议锁定到一个特定的、经过充分测试的最新稳定版本。
🛠️ 建议: 将 Solidity 编译器版本锁定到一个特定的、最新的稳定版本,例如 `0.8.20` 或更高版本,以避免潜在的编译器错误。
------------------------------
🔴 [漏洞 3] 缺少紧急暂停机制 (Medium)
📍 位置: Line 17
📝 描述: 合约缺乏一个紧急暂停机制,无法在发现漏洞或遭受攻击时暂停关键操作(如提款)。这可能导致在紧急情况下无法阻止资金流失,造成不可逆的损失。
🛠️ 建议: 引入一个 `paused` 状态变量和一个仅限所有者调用的 `togglePause` 函数。在敏感函数(如 `withdraw`)中添加 `require(!paused, "Contract is paused")` 检查,以便在必要时暂停合约功能。
------------------------------
🔴 [漏洞 4] 低级调用 (Low-Level Call) (Informational)
📍 位置: Line 22
📝 描述: 在 `withdraw` 函数中使用了 `msg.sender.call{value: _amount}("")` 这种低级调用。低级调用虽然灵活,但绕过了 Solidity 的一些类型安全检查,如果使用不当,可能引入额外的复杂性和风险。在本合约中,它直接导致了重入漏洞。
🛠️ 建议: 确保所有低级调用都经过严格的安全审查,并遵循 Checks-Effects-Interactions (CEI) 模式。对于简单的 Ether 转移,如果 gas 限制允许,可以考虑使用 `transfer()` 或 `send()`,它们提供了内置的重入保护(尽管有固定的 gas 限制)。
------------------------------
🔴 [漏洞 5] 命名规范违规 (Naming Convention Violation) (Informational)
📍 位置: Line 17
📝 描述: 在 `withdraw` 函数中,参数 `_amount` 的命名不符合 Solidity 推荐的 `mixedCase` 命名规范。虽然使用下划线前缀表示参数很常见,但 Slither 建议参数也应遵循 `mixedCase`。
🛠️ 建议: 将参数 `_amount` 重命名为 `amount`,以符合 Solidity 的命名规范。
✨ 核心亮点
1. 混合分析引擎
Certi-Audit-Agent 采用双层架构:静态分析层调用Slither/Soteria提取确定性漏洞,语义分析层利用LLM结合RAG知识库输出具备业务上下文的修复建议,将冷冰冰的报错转化为人类可读的结构化报告。
2. 策略模式解耦
通过抽象工厂模式与依赖注入,实现核心逻辑与底层工具链解耦。添加Sui支持无需修改核心代码,仅需实现SuiAnalyzer适配器并注册到工厂,符合开闭原则。
3. 自动化类型识别
基于文件后缀(.sol/.rs/.move)智能识别项目类型,自动装配对应分析器策略,无需手动指定链类型,降低多链审计操作复杂度。
🛠️ 技术优势
| 技术/特性 | 说明 | 优势 | | — | — | — | | 策略模式 | 抽象分析仪接口 | 多链扩展无需修改核心 | | Pydantic Schema | 严格数据校验 | 类型安全与错误降级 | | RAG知识库 | 最佳实践文本嵌入 | 修复建议具备业务上下文 | | 依赖注入 | 自动装配LLM与分析器 | 配置驱动,灵活切换 | | 环境隔离 | .env配置管理 | API密钥与项目类型分离 |
📖 使用指南
① 准备工作:安装Python 3.10+与对应链工具链(solc-select用于EVM,Rust工具链与Soteria用于Solana),配置*.env*文件设置LLM API密钥。
② 核心操作:执行python main.py contracts/VulnerableToken.sol,系统自动识别.sol后缀加载SlitherAnalyzer,或识别*.rs*加载SoteriaAnalyzer。
③ 结果查看:查看混合分析生成的结构化报告,包含漏洞位置、业务上下文描述与可直接使用的修复代码片段。
📖 项目地址
https://github.com/pluckhuang/certi-audit-agent
💻 技术交流与学习
如果师傅们想要第一时间获取到最新的威胁情报,可以添加下面我创建的钉钉漏洞威胁情报群,便于师傅们可以及时获取最新的IOC。
如果师傅们想要获取网络安全相关知识内容,可以添加下面我创建的网络安全全栈知识库,便于师傅们的学习和使用: 覆盖渗透、安服、运营、代码审计、内网、移动、应急、工控、AI/LLM、数据、业务、情报、黑灰产、SRC、溯源、钓鱼、区块链等 方向,内容还在持续整理中……。
| |
|
| — | — |
|
|
|
推荐阅读
✦ ✦ ✦
| 渗透测试人员必备武器库:子域名爆破、漏洞扫描、内网渗透、工控安全工具全收录 | | — | | AI驱动的自动化红队编排框架(AutoRedTeam-Orchestrator)跨平台支持,集成 130+ 安全工具与 2000+ Payload | | JS逆向必备:这款插件能Bypass Debugger、Hook CryptoJS、抓取路由 | | 上传代码即审计:AI 驱动的自动化漏洞挖掘与 POC 验证平台 | | AI 原生安全测试平台(CyberStrikeAI) | | 多Agent智能协作+40+工具调用:基于大模型的端到端自动化漏洞挖掘与验证系统 | | 基于DeepSeek的代码审计工具 (Ai-SAST-tool.xjar) | | 基于AI的自主渗透测试平台 |
✦ ✦ ✦
点分享
点收藏
点在看
点点赞
免责声明:
本文所载程序、技术方法仅面向合法合规的安全研究与教学场景,旨在提升网络安全防护能力,具有明确的技术研究属性。
任何单位或个人未经授权,将本文内容用于攻击、破坏等非法用途的,由此引发的全部法律责任、民事赔偿及连带责任,均由行为人独立承担,本站不承担任何连带责任。
本站内容均为技术交流与知识分享目的发布,若存在版权侵权或其他异议,请通过邮件联系处理,具体联系方式可点击页面上方的联系我。
本文转载自:0x八月 0x八月 0x八月《Certi-Audit-Agent:多链智能合约混合区块链安全审计工具》
版权声明
本站仅做备份收录,仅供研究与教学参考之用。
读者将信息用于其他用途的,全部法律及连带责任由读者自行承担,本站不承担任何责任。










评论