juan23z/openclaw-audit

GitHub: juan23z/openclaw-audit

一款免费、零依赖的 Solidity 启发式安全扫描器,输入代码库即可快速生成专业审计报告并集成到 CI 流程中。

Stars: 0 | Forks: 0

# 🛡️ OpenClaw 审计 [![GitHub Marketplace](https://img.shields.io/badge/GitHub-Marketplace-6f42c1?logo=github)](https://github.com/marketplace/actions/openclaw-audit) [![OpenZeppelin 上 0 误报](https://img.shields.io/badge/false%20positives%20on%20OpenZeppelin-0-brightgreen)](#-calibrated-not-noisy) [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](LICENSE) ![Python 3.9+](https://img.shields.io/badge/python-3.9%2B-blue) **免费、快速的 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 中: [![Secured with OpenClaw Audit](https://img.shields.io/badge/secured%20with-OpenClaw%20Audit-6f42c1?logo=ethereum&logoColor=white)](https://github.com/juan23z/openclaw-audit) ``` [![Secured with OpenClaw Audit](https://img.shields.io/badge/secured%20with-OpenClaw%20Audit-6f42c1?logo=ethereum&logoColor=white)](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安全, 云安全监控, 无后门, 智能合约审计, 逆向工具, 静态分析