awuawu315/SmartAudit-Agent

GitHub: awuawu315/SmartAudit-Agent

一个基于 Agent 的 DeFi 智能合约安全审计工具,能够自动定位风险并生成可直接验证的 Foundry PoC。

Stars: 0 | Forks: 0

# SmartAudit-Agent SmartAudit-Agent 是一个小巧且适配 GitHub 的 Agent 项目,专注于 **Solidity / DeFi 安全风险定位与 Foundry PoC 生成**。 它专为演示场景而设计,适用于需要展示具体的 AI/Agent 构建产物,而不仅仅是普通聊天机器人的情况。其工作流程如下: 1. 扫描 Solidity 合约。 2. 定位危险函数及证据代码行。 3. 生成 Markdown 安全报告。 4. 生成 Foundry PoC 测试模板。 5. (可选)运行 `forge test` 并利用执行反馈来优化 PoC。 6. (可选)使用 OpenAI API 密钥生成 AI 增强的验证计划。 ## 为什么这是一个优秀的 Agent 项目 这不仅仅是一个文本摘要工具。它拥有一个面向具体执行的操作循环: ``` Solidity source code ↓ Risk localization detectors ↓ Structured findings ↓ Foundry PoC template generation ↓ forge test execution feedback ↓ Manual or AI-assisted refinement ``` 这非常适合作为区块链安全或 DeFi 安全的作品集展示,因为其输出是可验证的:报告、代码、终端日志以及测试截图都可以作为证据上传。 ## 项目结构 ``` smartaudit-agent/ ├── README.md ├── requirements.txt ├── pyproject.toml ├── .env.example ├── src/ │ └── smartaudit_agent/ │ ├── cli.py │ ├── scanner.py │ ├── poc_generator.py │ ├── foundry.py │ ├── report.py │ ├── llm.py │ └── models.py ├── examples/ │ └── vulnerable_bank/ │ ├── foundry.toml │ ├── src/VulnerableBank.sol │ └── test/VulnerableBank.t.sol └── outputs/ ``` ## 安装说明 ### 选项 1:作为本地 Python 包安装 ``` cd smartaudit-agent python -m venv .venv source .venv/bin/activate # Windows: .venv\Scripts\activate pip install -e . ``` ### 选项 2:直接使用 requirements 安装 ``` cd smartaudit-agent pip install -r requirements.txt python -m smartaudit_agent.cli --help ``` ## 快速开始 扫描内含的漏洞演示合约: ``` smartaudit scan examples/vulnerable_bank/src \ --out outputs/report.md \ --json-out outputs/report.json \ --pocs outputs/pocs ``` 预期输出: ``` outputs/report.md outputs/report.json outputs/pocs/*.t.sol ``` 你还可以渲染 JSON 报告: ``` smartaudit show outputs/report.json ``` ## 可选:运行 Foundry 验证 如果你已安装 Foundry: ``` cd examples/vulnerable_bank forge test -vv ``` 或者使用 CLI 包装器: ``` smartaudit validate examples/vulnerable_bank -vv ``` 内含的演示合约包含一个重入类型的漏洞和一个 `tx.origin` 授权问题。该测试文件演示了如何将基于执行的 PoC 作为证明,而不仅仅是生成文本警告。 ## 可选:AI 增强的验证计划 扫描器在没有 API 密钥的情况下也可正常工作。如果你希望使用可选的 AI 计划: ``` cp .env.example .env # 在 .env 中填入 OPENAI_API_KEY smartaudit scan examples/vulnerable_bank/src --ai ``` 这会创建: ``` outputs/report_ai_plan.md ``` AI 层被有意设计为可选的,以便该代码库仍能在教室、实验室或离线环境中运行。 ## 当前包含的检测器 | 检测器 | 用途 | |---|---| | `REENTRANCY_CEI_VIOLATION` | 检测在内部账本更新之前的外部价值转移 | | `LOW_LEVEL_CALL` | 检测低级别的 `.call` 调用 | | `TX_ORIGIN_AUTH` | 检测基于 `tx.origin` 的授权 | | `DELEGATECALL_SURFACE` | 检测低级别的 delegatecall 调用 | | `ORACLE_DEPENDENCY` | 检测依赖价格/预言机的金融逻辑 | | `EMERGENCY_WITHDRAW_ACCOUNTING` | 标记紧急提取路径,以进行坏账/账本审查 | | `MINT_BORROW_GUARD` | 标记可能需要显式守卫的铸币/借款类函数 | | `SELFDESTRUCT_USAGE` | 标记 selfdestruct 的使用 | ## 建议的 GitHub 描述 ## 针对 Xiaomi MiMo 表单建议的项目声明 我构建了 **SmartAudit-Agent**,这是一个面向 Agent 的 DeFi 智能合约安全验证原型。它能够读取 Solidity 合约,识别高风险代码模式(如易受重入攻击的价值转移、`tx.origin` 授权、依赖预言机的金融逻辑以及紧急提取账本路径),随后生成结构化的安全报告和 Foundry PoC 测试模板。与普通的漏洞摘要工具不同,该系统强调可执行验证:每一项发现都映射到一个具体的 PoC 方向,并且生成的测试可以通过 Foundry 运行,从而让编译器/运行时的反馈指导下一步的修复操作。当前的原型包含一个带有漏洞的演示合约、CLI 扫描器、Markdown/JSON 报告、PoC 生成以及可选的 AI 增强验证规划。 ## 路线图 - 添加 Slither JSON 导入。 - 添加 Foundry trace 解析。 - 添加不变量测试 (invariant-test) 生成。 - 添加针对抵押品、清算和预言机操纵的特定 DeFi 模块。 - 添加多合约上下文构建。
标签:CISA项目, DeFi安全, DLL 劫持, DNS解析, Foundry, OpenAI, Petitpotam, PoC生成, Python, Solidity, Web3安全, 代理应用, 代码安全分析, 内存规避, 区块链安全, 大语言模型, 安全报告生成, 对称加密, 开源项目, 无后门, 智能合约审计, 智能合约风险定位, 概念验证, 自动化审计, 逆向工具, 风险检测