Myth1call/smart-contract-audits
GitHub: Myth1call/smart-contract-audits
一个智能合约安全审计报告的公开作品集仓库,按平台分类归档 PDF 格式的漏洞分析报告与审计成果。
Stars: 0 | Forks: 0

# 智能合约审计
**一份智能合约安全审查作品集**
PDF 格式的安全审计报告 —— 按平台分类收集,开放查阅。
[](LICENSE)
[](https://soliditylang.org/)
[](./reports/)
[概述](#overview) ·
[结构](#repository-structure) ·
[平台](#platforms) ·
[方法论](#methodology) ·
[严重程度](#finding-classification) ·
[阅读报告](#how-to-read-a-report) ·
[添加审计](#adding-a-new-audit)
## 概述
本仓库是一个展示智能合约安全审计工作的**公开作品集**。它存储了在不同**平台**上产出的 **PDF 报告** —— 包括漏洞赏金计划、审计竞赛、私密委托以及类似的场合。
每个平台在 **`reports/`** 下都有自己独立的文件夹。PDF 文件**直接存放在该文件夹内** —— 没有嵌套的项目目录。
```
smart-contract-audits
└── reports/
├── CodeHawks/
│ ├── 23-05-2026-passwordStore-audit.pdf
│ └── 27-05-2026-PuppyRaffle-audit.pdf
└──
/
└── -audit.pdf
│
└──► published on GitHub (portfolio)
```
### 为什么建立这个仓库
| 目标 | 描述 |
|------|-------------|
| **作品集** | 展示审计方法、分析深度和报告质量 |
| **透明度** | 简洁的布局:选择一个平台,打开 PDF |
| **历史记录** | 将已完成的工作归档为不断增长的报告集合 |
| **分享** | 提供一个统一的链接地址,方便分享给招聘人员、客户或社区 |
## 仓库结构
```
smart-contract-audits/
├── README.md
├── logo.png
├── LICENSE
└── reports/
├── CodeHawks/
│ └── --audit.pdf
└── /
└── --audit.pdf
```
**规则:**
- 在 `reports/` 下每个**平台**对应一个文件夹。
- 平台文件夹内**仅包含 PDF 文件** —— 没有项目子文件夹,目录树中也没有 Markdown 报告。
- 文件名应让人一眼就能看出主题。
### 命名规范
| 元素 | 建议 | 示例 |
|---------|----------------|---------|
| **平台文件夹** | 位于 `reports/` 下,根据平台使用小写或 PascalCase 命名 | `reports/CodeHawks`, `reports/code4rena` |
| **PDF 文件名** | 协议或范围 + 可选日期 | `acme-vault-audit.pdf`, `bridge-2025-03.pdf` |
| **格式** | 仅限 `.pdf` | `report.pdf` |
**推荐的文件名:** `lending-pool-security-review.pdf`, `governance-module-2025-04.pdf`
**避免使用:** `report.pdf`, `final_v2.pdf`, `untitled.pdf`
## 平台
以下是平台文件夹的**动态索引**。添加报告时请更新此表。
| 平台 | 文件夹 | PDF 数量 | 备注 |
|----------|--------|------|-------|
| CodeHawks | [reports/CodeHawks](./reports/CodeHawks/) | 2 | 审计竞赛 |
在 GitHub 上浏览:打开平台文件夹并点击 PDF(GitHub 支持在浏览器中渲染 PDF 文件)。
## 方法论
本作品集中收录的审计工作遵循系统化的方法:从理解业务逻辑到验证关键的不变量。
```
1. Scope 2. Architecture 3. Manual review 4. Threat modeling
│ │ │ │
└────────────────────┴────────────────────┴────────────────────┘
│
▼
5. Tooling ─────┬──── Slither / Aderyn
│ ├──── Foundry / Hardhat
▼ └──── Fuzz / invariants
6. PoC and impact
│
▼
7. PDF report
```
### 阶段
1. **范围** —— 明确哪些合约、链、commit 和限制条件在审查范围内。
2. **架构** —— 角色(admin、keeper、user)以及外部依赖(oracles、bridges、governance)。
3. **人工审查** —— 逻辑、访问控制、重入、精度舍入、MEV、可升级性。
4. **威胁建模** —— 从经济机制和可组合性角度分析攻击场景。
5. **工具辅助** —— 在能产生价值的地方使用静态分析、测试和模糊测试。
6. **概念验证** —— 针对高危发现提供可复现的步骤。
7. **报告** —— 导出为 PDF:包含发现的问题、严重程度、修复建议和参考信息。
### 重点关注领域
- 访问控制和特权角色
- 重入(包括跨函数 / 跨合约)
- Oracle 操纵和价格陈旧
- 份额计算、精度舍入和首位存款人问题
- 可升级性(代理模式、存储冲突)
- Token 钩子(ERC-777、回调)与授权机制
- 治理、时间锁、中心化风险
- 循环中的 Gas 消耗扰断和 DoS
- 与外部协议的组件化交互
## 发现分类
报告采用审计竞赛平台(Code4rena、Sherlock 等)上通用的严重程度划分标准:
| 级别 | 标签 | 标准(简述) |
|-------|-------|------------------|
| **High** | 🔴 | 直接的资金损失、协议被攻破或严重的 DoS |
| **Medium** | 🟠 | 有实质性影响且触发条件非同寻常 |
| **Low** | 🟡 | 影响有限、边缘情况、轻微偏差 |
| **Informational** | ⚪ | 改进建议、文档说明、最佳实践 |
| **Gas** | ⛽ | 不影响安全性的 Gas 优化 |
各份 PDF 可能会采用特定平台的模板;上表是本作品集通用的标准词汇。
## 如何阅读报告
1. 打开 [平台](#platforms) 表格并选择一个平台文件夹。
2. 根据文件名(协议、模块或竞赛轮次)选择一份 PDF。
3. 在文档中,首先阅读**执行摘要**,然后按严重程度从高到低查看发现的问题。
典型的 PDF 报告包含以下内容:
| 章节 | 内容 |
|---------|----------|
| **封面 / 元数据** | 平台、日期、范围、审计员 |
| **执行摘要** | 发现数量、整体风险、关键要点 |
| **范围** | 合约、网络、commit 或版本 |
| **发现的问题** | ID、严重程度、描述、影响、建议、状态 |
| **附录** | 代码参考、图表、PoC 说明(如果允许) |
## 添加新的审计
发布报告的检查清单:
- [ ] 将审计报告导出或保存为 **PDF**
- [ ] 如有需要,创建平台文件夹:`reports//`
- [ ] 将 PDF **直接**放入该文件夹中(不要建子文件夹)
- [ ] 使用清晰、具有描述性的文件名
- [ ] 涂黑或省略任何受 NDA 约束的内容(密钥、私密地址、未公开的细节)
- [ ] 更新本 README 中的**平台**表格
```
# 示例
mkdir -p reports/CodeHawks
cp ~/exports/27-05-2026-acme-vault-audit.pdf reports/CodeHawks/
git add reports/CodeHawks/27-05-2026-acme-vault-audit.pdf README.md
git commit -m "Add CodeHawks audit report: Acme Vault"
git push
```
## 工具
报告以 PDF 格式提供;其背后的分析通常使用以下工具:
| 类别 | 工具 |
|----------|-------|
| 静态分析 | [Slither](https://github.com/crytic/slither), [Aderyn](https://github.com/Cyfrin/aderyn) |
| 测试 | [Foundry](https://book.getfoundry.sh/), [Hardhat](https://hardhat.org/) |
| 模糊测试 / 不变量测试 | Foundry `forge test`, [Echidna](https://github.com/crytic/echidna) |
| 报告输出 | 从您的编辑器或报告模板导出 PDF |
## 许可证
仓库内容基于 [MIT License](./LICENSE)。
您不需要购买或下载许可证 —— 只需在仓库根目录添加一个纯文本的 `LICENSE` 文件(本项目已包含)。官方文本请见:[choosealicense.com/licenses/mit](https://choosealicense.com/licenses/mit/)。在 GitHub 上,创建仓库时也可以使用 **Add file → Create new file → “License”**,或者在已有仓库中选择 **Settings → General → License**。
如果您以法定名称或公司名义发布,请替换 `LICENSE` 中的版权名称,而不是使用您的 GitHub 用户名。无论本许可证如何,平台规则或 NDA 都可能限制您可以发布的内容。
## 联系方式
| | |
|---|---|
| **GitHub** | [@Myth1call](https://github.com/Myth1call) |
| **Twitter / X** | [@Mythical0___0](https://x.com/Mythical0___0) |
| **Telegram** | [@himatachi](https://t.me/himatachi) |
*本仓库会随着新审计 PDF 的发布持续更新。*
**安全是一个持续的过程,而不是一次性的检查。**
标签:Solidity, Web3, 区块链安全, 安全审计报告, 智能合约审计, 漏洞分析, 路径探测