Pelz01/audit-agent

GitHub: Pelz01/audit-agent

一款自主智能合约安全代理,自动发现 GitHub 上的 Solidity 仓库,使用 Slither 扫描漏洞,通过 AI 生成可读报告并提交 GitHub Issue,最终铸造链上 ERC-8004 审计凭证。

Stars: 0 | Forks: 0

# AuditAgent 🤖 自主智能合约安全扫描器,用于搜寻未经审计的 Solidity 仓库,使用 Slither 进行扫描,通过 Pollinations AI 解读发现的问题,提交 GitHub Issues,并铸造链上 ERC-8004 凭证。 ## 功能 - **自动发现**:在 GitHub 上查找未经审计的 Solidity 仓库 - **Slither 扫描**:来自 Trail of Bits 的静态分析 - **AI 解读**:Pollinations AI (`qwen-coder`) 生成人类可读的报告 - **Issue 提交**:自动在 GitHub 上提交安全问题 - **链上凭证**:通过 Synthesis API 在 Base 上铸造 ERC-8004 代币 - **仪表盘**:实时统计和审计历史 ## 架构 ``` audit-agent/ ├── agent/ # Autonomous agent modules │ ├── discovery.py # GitHub API search │ ├── scanner.py # Slither integration │ ├── interpreter.py # Pollinations analysis │ ├── reporter.py # GitHub Issues │ ├── receipt.py # ERC-8004 minting │ └── main.py # Orchestrator ├── api/ # FastAPI backend │ ├── server.py # REST API │ ├── models.py # Pydantic models │ └── storage.py # JSON persistence ├── frontend/ # Dashboard │ └── index.html # Single-page UI └── audits/ # Audit records (JSON) ``` ## 环境变量 | 变量 | 必填 | 描述 | |----------|----------|-------------| | `GITHUB_TOKEN` | 是 | 具有 `repo` 权限范围的 GitHub PAT | | `POLLINATIONS_API_KEY` | 是 | Pollinations AI API 密钥 | | `SYNTHESIS_API_KEY` | 是 | 用于 ERC-8004 的 Synthesis API 密钥 | | `PORT` | 否 | 服务器端口(默认:8000)| | `RUN_API` | 否 | 设置为 `true` 以启动 API 服务器 | | `AUDIT_INTERVAL_HOURS` | 否 | 审计间隔小时数(默认:6)| | `AUDIT_MAX_RESULTS` | 否 | 每个周期的最大仓库数(默认:10)| | `AUDIT_ISSUE_THRESHOLD` | 否 | 提交 Issue 的严重+高危阈值(默认:1)| | `AUDIT_DAEMON` | 否 | 持续运行(默认:true)| ## 设置 ``` # 克隆并安装 git clone https://github.com/Pelz01/audit-agent.git cd audit-agent pip install -r requirements.txt # 设置环境变量 export GITHUB_TOKEN=ghp_xxx export POLLINATIONS_API_KEY=pollinations-xxx export SYNTHESIS_API_KEY=sk-synth-xxx # 仅运行 agent python -m agent.main # 仅运行 API server python -m api.server # 运行两者 (Railway) export RUN_API=true python -m agent.main ``` ## API 端点 | 端点 | 描述 | |----------|-------------| | `GET /` | 前端仪表盘 | | `GET /audits` | 分页审计列表 | | `GET /audits/{id}` | 单个审计详情 | | `GET /stats` | 聚合统计 | | `GET /health` | Agent 健康状态 | ## 演示脚本(2 分钟) 1. **展示仪表盘** — 访问已部署的 URL,展示审计历史 2. **触发实时审计** — 在测试仓库上运行 `python -m agent.main` 3. **展示 Slither 运行** — 包含发现结果的终端输出 4. **展示 AI 报告** — 生成的安全分析 5. **展示 GitHub Issue** — 指向已提交 Issue 的链接 6. **展示链上凭证** — BaseScan 交易链接 ## 部署 1. 将 GitHub 仓库连接到 Railway 2. 在 Railway 仪表盘中设置环境变量 3. 部署 — Procfile 启动 uvicorn 服务器 4. 访问 `https://your-app.railway.app` ## 安全防护措施 - 仅限公共仓库 - 仅限活跃仓库(90 天内有提交) - 频率限制:每天最多 10 次审计 - 在 Issue 中明确标识 Agent 身份 - 无钱包/金融交互 - 除提交 Issue 外均为只读 ## 技术栈 - **Agent**:Python 3.11+ - **扫描器**:Slither (Trail of Bits) - **AI**:Pollinations AI (`qwen-coder`) - **链上**:ERC-8004 / Synthesis API (Base) - **后端**:FastAPI + Uvicorn - **存储**:JSON 文件(无数据库) - **前端**:纯 HTML/CSS/JS - **部署**:Railway ## 许可证 MIT
标签:AI代码解释, AV绕过, Base链, DeFi安全, DevSecOps, DLL 劫持, ERC-8004, FastAPI, GitHub自动管理, Homebrew安装, Python, Slither, Solidity, Web3安全, 上游代理, 云安全监控, 人工智能, 以太坊, 区块链, 大语言模型, 对称加密, 无后门, 智能合约安全, 用户模式Hook绕过, 自动化审计, 自动化运维, 自治代理, 逆向工具, 链上凭证, 静态分析