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安全, 代理应用, 代码安全分析, 内存规避, 区块链安全, 大语言模型, 安全报告生成, 对称加密, 开源项目, 无后门, 智能合约审计, 智能合约风险定位, 概念验证, 自动化审计, 逆向工具, 风险检测