Baneado98/contract-auditor
GitHub: Baneado98/contract-auditor
一个智能合约安全快速扫描工具,结合链上状态查询与源代码启发式分析,帮助用户在授权或转账前快速识别 rug、honeypot 及中心化风险。
Stars: 0 | Forks: 0
# contract-auditor 🛡️
**在您授权或发送资金之前,快速扫描智能合约以排查 rug / honeypot / 集中化风险。**
`contract-auditor` 是一个 [MCP](https://modelcontextprotocol.io) 服务器**兼**按次付费的 [x402](https://x402.org) HTTP API。只需提供一个已部署的合约 `address + chain`(或原始 Solidity 源代码),它就会返回一个 **SAFE / CAUTION / HIGH-RISK**(安全/谨慎/高风险)的结论,并附带经过解释的风险评分。
它结合了 AI 代理无法在聊天中自行获取的三项信息:
1. 来自 [Sourcify](https://sourcify.dev) 的**已验证源代码**(免密钥、支持多链)——或者其*缺失*状态(一个强烈的危险信号)。
2. 通过公共 RPC 获取的**实时链上状态**——到底有没有代码?它是否是一个**可升级的 proxy**(所有者可以替换代码)?**所有者**是谁,是单一的 EOA、multisig,还是已经**放弃所有权 (renounced)**?
3. 针对合约获取或冻结您资金的真实手段进行的**启发式 Solidity 扫描**。
## 它能检测出的风险
| | |
|---|---|
| 🔁 **可升级的 proxy** | EIP-1967 / 1167 / beacon —— 所有者可以替换已审计的代码 |
| 👑 **所有者权限** | 铸造、暂停、黑名单、所有者可调的费用/税率、最大交易限制、交易开关、提取/清扫 |
| 💀 **危险原语** | `selfdestruct`、`delegatecall`、`tx.origin` 授权、任意外部调用、内联汇编 |
| 🍯 **Honeypot 信号** | 无法卖出模式:黑名单 + 无上限税率 + 交易开关 + 钱包/交易额度限制 |
| 🔓 **所有者状态** | 实时链上状态:已放弃所有权 (renounced)、单一 EOA(单密钥),还是 multisig/timelock? |
| ❓ **未验证** | Sourcify 上没有已验证的源代码 = 您无法看清您所信任的内容 |
## 作为 MCP 服务器使用(免费)
```
{
"mcpServers": {
"contract-auditor": { "command": "npx", "args": ["-y", "contract-auditor-mcp"] }
}
}
```
工具:**`audit_contract`** —— 参数:`address`、`chain`(别名或 chainId)、`source`(可选的原始 Solidity)、`deep`(布尔值)。
或者通过 HTTP 在 `POST /mcp` 处连接。
## 免费 HTTP API
```
GET https://contract-auditor-ivory.vercel.app/audit?address=0xdAC17F958D2ee523a2206206994597C13D831ec7&chain=ethereum
GET https://contract-auditor-ivory.vercel.app/audit?address=0x...&chain=base
```
支持的链:`ethereum`、`base`、`optimism`、`arbitrum`、`polygon`、`bsc`、`avalanche`、`gnosis`、`celo`(或数字 chainId)。免费层级的速率限制为每个 IP 每小时 30 次请求。
## 按次付费 (x402)
`/pro/audit` 路由受 [x402](https://x402.org) 限制。您的代理每次调用会自动支付 **$0.25 USDC** —— 无需注册,无需 API 密钥 —— 直接在链上结算(Base 上的 USDC)至运营商钱包。
```
GET /pro/audit?address=0x...&chain=ethereum # 402 → pay → result
```
## 工作原理(坦诚说明局限性)
- 源代码通过 `(chainId, address)` 从 **Sourcify** 获取。如果某个合约仅在原生区块链浏览器上进行了验证,而没有同步到 Sourcify,它会在此处显示为*未验证* —— 请直接传入 `source` 进行扫描。
- 链上检查使用**公共 RPC**(尽力而为的社区端点)。如果某条链的 RPC 暂时中断,审计将降级为仅基于源代码的结论。
- Solidity 扫描是**静态模式/启发式分析**,包含注释剥离和所有者门控上下文。它针对常见的成熟模式进行了优化以降低误报率,但它**不是**符号执行或形式化验证工具。
## 许可证
MIT
标签:MCP服务, Web3安全, 区块链, 智能合约审计, 自动化攻击, 风险扫描