juan23z/openclaw-audit
GitHub: juan23z/openclaw-audit
一款免费、零依赖的 Solidity 启发式安全扫描器,输入代码库即可快速生成专业审计报告并集成到 CI 流程中。
Stars: 0 | Forks: 0
# 🛡️ OpenClaw 审计
[](https://github.com/marketplace/actions/openclaw-audit) [](#-calibrated-not-noisy) [](LICENSE) 
**免费、快速的 Solidity 启发式安全扫描器** — 将其指向一个代码库,几秒钟内即可获得专业报告。
它在 OpenZeppelin 上运行良好(0 发现,247 个文件),因此你得到的是有效信号,而不是噪音。只需两行代码即可将其添加到 CI 中。
它是 [OpenClaw](https://juan23z.github.io) 的一部分,这是一个全天候运行 Web3 安全工作流的自
主多智能体系统。这是其开源的扫描核心。
```
python scan.py https://github.com/org/protocol --name "Protocol" --out ./report
# → ./report/report.md + ./report/report.html
```
除了 **Python 3.9+** 和 **git** 之外没有其他依赖项。它会进行(浅)克隆,运行检测器,编写报告,
并在完成后自行清理。
**一条命令,无需克隆**(通过 [pipx](https://pipx.pypa.io)):
```
pipx run --spec git+https://github.com/juan23z/openclaw-audit openclaw-audit --out ./report
```
或者安装它:`pipx install git+https://github.com/juan23z/openclaw-audit` → 然后只需 `openclaw-audit `。
## ⚡ 在 CI 中使用它 (GitHub Action)
在**每次推送和 PR** 时进行安全扫描 — 摘要会作为**评论发布在你的 PR 上**,完整报告会显示在
作业摘要 + 构建产物中。仅需两行:
```
# .github/workflows/security.yml
name: security
on: [push, pull_request]
permissions:
contents: read
pull-requests: write # lets the scan post its summary as a PR comment
jobs:
audit:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: juan23z/openclaw-audit@v1
with:
path: contracts # optional, default '.'
# fail-on-candidates: true # optional, default false (heuristics are advisory)
# comment-on-pr: false # optional, default true
```
就这么简单 — 无需 API 密钥,零成本。想要**已验证的发现 + 持续监控**(每次更改时重新审计)?
进行一次人工审计 → **[在 Fiverr 上下单](https://www.fiverr.com/s/P2kNDP0)** · [示例报告与服务](https://juan23z.github.io)
## 🏷️ 展示一下 — 添加徽章
正在使用 OpenClaw Audit 扫描你的合约?将徽章添加到你的 README 中:
[](https://github.com/juan23z/openclaw-audit)
```
[](https://github.com/juan23z/openclaw-audit)
```
## 它检查的内容(12 个检测器)
| # | 检测器 | 查找内容 |
|---|----------|-----------|
| 1 | 首个存款者通胀 | ERC-4626 空金库份额通胀 |
| 2 | ERC-4626 取整 | 有利于取款人的取整 |
| 3 | 捐赠攻击 | 使用 `balanceOf(address(this))` 进行记账 |
| 4 | Oracle 陈旧 | 读取价格时没有进行新鲜度检查 |
| 5 | 跨函数重入 | 状态更新前的外部调用 |
| 6 | 访问控制 | 未受保护的特权 / init / 清理函数 |
| 7 | 转账费 | 未处理的费用/通缩代币假设 |
| 8 | 精度损失 | 乘法之前的除法 |
| 9 | ERC 合规性 | ERC-20 / 4626 一致性差距 |
| 10 | NatSpec | 关键函数缺少文档 |
| 11 | **未检查的低级调用** | 忽略了 `call`/`send`/`delegatecall` 的返回值 |
| 12 | **tx.origin 授权** | 使用 `tx.origin` 进行授权(网络钓鱼途径) |
检测器会跳过依赖项和测试(`node_modules`, `lib`, `out`, `test`, `mock`, …),因此你只会
在**你的**代码中获得发现。
## ✅ 经过校准,不嘈杂
在干净的代码上运行良好:**在整个 OpenZeppelin 合约库中 0 发现**(web3 中经过最严格审计的
代码库)。检测器会跳过注释、测试和依赖项 — 因此你获得的是有效信号,而不是满屏的误报。
不要只听我们的一面之词 — 请查看完整的**[校准报告](CALIBRATION.md)**:OpenClaw 在生态系统中经过最严格审计的 10 个
代码库(OpenZeppelin、Solady、Uniswap v2/v3/v4、Morpho Blue、Permit2、PRBMath…)上运行,
每一项标记均经过人工验证。**涵盖 608 个源文件,仅有 14 个候选项;4 个代码库完全干净。** 每个
数字都可以通过一条命令进行复现。
## ⚠️ 设计上保持诚实
这些是**启发式候选项**,而非已确认的漏洞。静态启发式方法会产生误报 —
**在采取行动之前,请逐一核实每项发现**。报告将每一项标记为“候选项 · 需验证”。
想要获得包含已验证发现和签名报告的**全面人工审查**? → **https://juan23z.github.io**
## 🔗 链上证明(可选)
`contracts/AuditAttestation.sol` 允许审计师在链上发布所交付报告的 `keccak256` 哈希值 + 结论,
以便任何人都可以验证报告的真实性和日期(防篡改 + 来源追溯)。两步所有权、受访问控制的认证者、无外部调用。
使用 Solc 0.8.24 编译,并附带 Foundry 测试套件(**8 个通过的测试**):
```
cd contracts && forge install foundry-rs/forge-std && forge test
```
部署在任何 EVM 测试网上。
## 许可证
MIT — 见 [LICENSE](LICENSE)。由 [Nawel](https://juan23z.github.io) 构建。
标签:CISA项目, Python, Solidity, Web3安全, 云安全监控, 无后门, 智能合约审计, 逆向工具, 静态分析