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报告查看器, 智能合约审计, 逆向工具, 错误基检测, 静态代码分析