LalaWu001/YerbaMate
GitHub: LalaWu001/YerbaMate
一款基于 Electron 的本地化 AI 驱动 Solidity 智能合约审计工作台,通过多 Agent 编排、静态分析和工具链集成,自动生成结构化审计报告与风险验证建议。
Stars: 0 | Forks: 0
# ContractSentinel Desktop
ContractSentinel Desktop 是一个桌面端智能合约审计工作台,专为自建审计 agent 设计。它遵循 DeepAgents 风格的任务规划、子 agent、工具链、文件 artifacts 和 memory 等理念,但运行时在本地实现,无需 LangChain 或 LangGraph。
当前的 V6 级别 demo 可以运行完整的本地审计 pipeline,在 SQLite 中持久化审计历史,保存结构化的 artifacts,生成 Markdown 和 HTML 报告,并可选择通过 OpenAI 兼容的 API 路由每个独立的 Agent。
## 运行
桌面模式:
```
npm run electron:dev
```
前端预览:
```
npm run dev
```
CLI 模式:
```
python main.py audit .\examples\SimpleVault
python main.py audit .\examples\SimpleVault --json
```
## 构建
构建前端:
```
npm run build
```
构建 Electron 应用:
```
npm run electron:build
```
## 当前范围
- Electron + React + TypeScript 桌面工作台。
- 本地 Solidity 项目路径输入。
- 单 agent AI 路由:每个 Agent 都可以独立启用 AI、选择 provider/model、控制源码共享,并回退到脚本。
- Solidity 文件发现和轻量级解析。
- 大型项目索引,包含依赖/测试/生成文件的分类、排除目录处理、源码根目录检测、import 图谱、继承图谱、selector 提示和扫描警告。
- 协议分类:Vault、Lending、AMM、Token、NFT、Governance 或 Unknown。
- 针对常见 DeFi 协议的业务规则和交易流模板。
- 静态代码事实提取,涵盖外部调用、特权函数、危险模式和状态更新提示。
- 可选的本地工具探测,用于检查 Slither、Foundry、solc 和 Echidna 的可用性。
- 默认启用通过外部命令运行器执行 Slither 和 Foundry。缺少工具或不兼容的项目将被跳过,不会中断审计。
- 基于规则和可选的 AI 增强风险假设。
- 验证结果分类和生成的 Foundry 测试模板。
- SQLite 持久化,用于保存审计运行、Agent 运行、发现结果、模型调用和跨会话的 case memory。
- `audits\` 下的 workspace artifacts。
- Markdown 和 HTML 审计报告生成。
## 下一次迭代
- 添加 Slither 集成以获取更丰富的静态事实。
- 执行生成的 Foundry 测试,而不仅仅是生成模板。
- 加密存储的 API 密钥。
- 添加 PDF 导出。
- 添加更丰富的 case memory 检索和相似度评分。
标签:AI代理, Electron桌面应用, Petitpotam, Solidity, Web3安全, Web报告查看器, 智能合约审计, 逆向工具, 错误基检测, 静态代码分析