dutchaiagency/contractscan-api
GitHub: dutchaiagency/contractscan-api
一款免费开源的智能合约风险扫描 API,覆盖 6 条 EVM 链,可检测 rug pull、蜜罐等 11 种常见漏洞模式,适合快速初筛合约安全性。
Stars: 0 | Forks: 0
# ContractScan API
**[在线体验 — 在浏览器中运行!](https://dutchaiagency.github.io/contractscan-api/)** | **6 条链** | **免费基础扫描** | **$2 深度分析**
## 新特性:客户端扫描器
[Web 扫描器](https://dutchaiagency.github.io/contractscan-api/)现在**100% 在你的浏览器中运行** —— 无需后端支持。它直接连接到公开的 RPC 以分析合约。无需注册,不受我们的速率限制,完全免费。
## 检测内容
| 类别 | 基础(免费) | 深度($2 USDC) |
|----------|:---:|:---:|
| 代理/可升级合约 | x | x |
| 所有者权限及放弃 | x | x |
| Token 元数据(名称、代号、供应量) | x | x |
| 字节码风险标记(铸币、暂停、黑名单、费用) | x | x |
| 风险评分(0-100) | x | x |
| 已验证源代码分析(Sourcify) | | x |
| 重入漏洞 | | x |
| 隐藏的所有者函数 | | x |
| 未检查的外部调用 | | x |
| 蜜罐模式 | | x |
| 共 11 种漏洞模式 | | x |
## 快速开始
```
# 安装
pip install web3
# 运行
python services/x402-api/server.py
# => http://localhost:4020
```
## API 使用
无需注册。无需 API 密钥。只需 HTTP GET。
```
# 免费基础扫描
curl "http://localhost:4020/scan?address=0xdAC17F958D2ee523a2206206994597C13D831ec7&chain=ethereum"
# 列出支持的链
curl "http://localhost:4020/chains"
# => ethereum, base, arbitrum, polygon, bsc, optimism
```
### 响应示例(基础扫描)
```
{
"address": "0xdAC17F958D2ee523a2206206994597C13D831ec7",
"chain": "ethereum",
"risk_score": 40,
"is_proxy": true,
"proxy_impl": "0x...",
"owner": "0x...",
"is_token": true,
"token_name": "Tether USD",
"token_symbol": "USDT",
"bytecode_flags": ["has_pause", "has_blacklist"],
"bytecode_size": 8192
}
```
### 深度扫描(付费)
1. 在 **Base** 链上发送 **$2 USDC** 至 `0x8C0083EE1a611c917E3652a14f9Ab5c3a23948D3`
2. 传入交易哈希值:
```
curl "http://localhost:4020/scan?address=0x...&chain=ethereum&mode=deep&tx_hash=0xYOUR_PAYMENT_TX"
```
深度扫描除了返回基础扫描的所有内容外,还会进行包含 11 种模式检查的源代码漏洞分析。
## 使用场景
- **交易机器人**:在自动买入前对 Token 进行预筛选
- **DeFi 用户**:在交互前检查合约
- **开发者**:将安全检查集成到你的 dApp 中
- **安全研究人员**:跨链快速分类合约
## 部署
### Docker
```
docker build -t contractscan .
docker run -p 4020:4020 contractscan
```
### Render.com
1. Fork 本仓库
2. 连接到 Render.com
3. 自动检测 `render.yaml` - 在免费层部署
### 自行托管
```
pip install -r requirements.txt
PORT=4020 python services/x402-api/server.py
```
## 架构
```
services/
scanner_core.py # Core scanning engine (basic + deep analysis)
payment_verify.py # On-chain USDC payment verification (Base)
x402-api/
server.py # HTTP server with landing page
index.html # Web UI
docs/
index.html # Client-side scanner (GitHub Pages, no backend needed)
```
- 纯 Python 实现,极简依赖(仅包含 `web3`)
- 客户端扫描器直接在浏览器中使用公开 RPC
- 支付验证检查 Base 链上实际的 USDC Transfer 事件
- 每笔支付交易哈希值仅可使用一次
- 从 Sourcify 拉取源代码以进行深度分析
## 许可证
MIT
## GitHub Action
在你的 CI/CD 流水线中使用 ContractScan:
```
- uses: dutchaiagency/contractscan-action@v1
with:
addresses: '0xdAC17F958D2ee523a2206206994597C13D831ec7'
chain: 'ethereum'
fail-on-risk: '70'
```
完整文档请参见 [contractscan-action](https://github.com/dutchaiagency/contractscan-action)。
标签:Arbitrum, Base链, BSC, CISA项目, CMS安全, DApp开发, DeFi安全, IP 地址批量处理, JavaScript, LNA, Optimism, Polygon, Python, Rug Pull检测, USDC支付, Web3, Web3.py, Web3安全, 云安全监控, 代币安全, 代理合约, 代码安全, 以太坊, 免费API, 加密货币, 区块链安全, 合约风险评分, 多模态安全, 多链支持, 安全API, 客户端扫描, 开源安全工具, 数据可视化, 无后门, 智能合约分析, 智能合约审计, 漏洞枚举, 蜜罐检测, 请求拦截, 貔貅盘检测, 逆向工具, 逆向工程平台, 重入漏洞, 隐藏所有者, 静态分析