# 安全审计

由于区块链系统的不可更改性和高价值属性，上线前的安全审计是必不可少的环节。

## 审计流程

一个标准的安全审计流程通常包含以下阶段：

1. **需求分析**：理解项目业务逻辑、架构设计和预期目标。
2. **自动化扫描**：使用自动化工具进行初步筛查，发现常见的通用漏洞。
3. **手动审计**：由资深安全专家深入阅读代码，检查复杂的业务逻辑漏洞、经济模型缺陷以及工具无法识别的问题。
4. **形式化验证**：对于核心关键模块，通过数学方法证明代码逻辑符合规范（Mathematical Proof）。
5. **报告与修复**：生成包含漏洞详情、风险等级和修复建议的报告。开发者修复后，审计团队需进行复核（Re-audit）。

## 常用工具

以下是一些业界常用的智能合约分析与审计工具：

* **Slither**：Python 编写的 Solidity 静态分析框架，能快速检测出多种常见漏洞，且误报率较低。
* **Mythril**：基于符号执行（Symbolic Execution）的以太坊智能合约安全分析工具。
* **Manticore**：符号执行工具，支持 EVM、二进制文件和 WASM；官方仓库已处于维护模式，适合研究、复现或已有定制流程，不宜作为新项目唯一深度分析工具。
* **Echidna**：基于属性的模糊测试（Fuzzing）工具，用于测试合约是否违反了设定的安全属性。
* **Securify**：Securify v1 仓库已废弃并指向 Securify v2；新项目应先评估维护状态和编译器兼容性。

审计报告中的漏洞分类和验收基线建议使用仍在维护的标准：OWASP SCSVS/SCSTG/SCWE 适合作为开发与测试清单；EEA EthTrust Security Levels v2 或最新 Editor's Draft 适合作为审计等级和交付验收基线。SWC Registry 可用于兼容历史编号，但官方已说明其内容不再主动维护，不应单独作为当前基线。

## 审计要点

除了代码层面的漏洞（如重入、溢出），审计还应重点关注：

* **业务逻辑完整性**：代码是否真实反映了白皮书中的设计？是否存在逻辑死胡同？
* **权限管理**：是否存在超级管理员权限过大（Rug Pull 风险）？私钥管理是否安全（如必须使用多重签名）？
* **经济模型安全**：通胀机制、奖励分配是否存在被套利或耗尽的风险？
* **可升级性安全**：采用代理模式升级时，是否会破坏存储布局？

## 知名审计机构

* CertiK
* OpenZeppelin
* SlowMist (慢雾)
* Trail of Bits
* ConsenSys Diligence

> **注意**：通过审计并不代表代码 100% 安全。审计只能证明在当前认知范围内未发现已知漏洞，项目方仍需保持警惕并设立漏洞赏金计划（Bug Bounty）。


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://yeasy.gitbook.io/blockchain_guide/05_crypto/audit.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
