$npx -y skills add killvxk/cybersecurity-skills-zh --skill analyzing-ethereum-smart-contract-vulnerabilities使用 Slither 和 Mythril 对 Solidity 智能合约进行静态分析和符号执行,在部署到以太坊主网之前检测重入攻击、整数溢出、访问控制缺陷和其他漏洞类型。
| 1 | # 分析以太坊智能合约漏洞 |
| 2 | |
| 3 | ## 概述 |
| 4 | |
| 5 | 智能合约漏洞已在各 DeFi 协议中造成数十亿美元的损失。与传统软件不同,已部署的智能合约是不可变的,且直接处理真实金融资产,这使得部署前的安全分析至关重要。Slither 使用中间表示进行快速静态分析,能在几秒内检测 90 多种漏洞模式;而 Mythril 则使用符号执行和 SMT 求解来发现复杂执行路径漏洞,如重入攻击(Reentrancy)和整数溢出。本技能涵盖对 Solidity 合约运行两款工具、解读分析结果、按严重程度分类发现项,以及生成审计报告。 |
| 6 | |
| 7 | ## 前置条件 |
| 8 | |
| 9 | - Python 3.10+ 与 pip |
| 10 | - Slither(`pip install slither-analyzer`)和 solc 编译器 |
| 11 | - Mythril(`pip install mythril`)与 solc-select(用于管理编译器版本) |
| 12 | - Solidity 源代码或编译后的合约字节码 |
| 13 | - Foundry 或 Hardhat 开发框架(可选,用于项目级分析) |
| 14 | |
| 15 | ## 步骤 |
| 16 | |
| 17 | ### 步骤 1:运行 Slither 静态分析 |
| 18 | |
| 19 | 对合约代码库执行 Slither,使用其 90+ 内置检测器识别漏洞模式、优化机会和代码质量问题。 |
| 20 | |
| 21 | ### 步骤 2:运行 Mythril 符号执行 |
| 22 | |
| 23 | 运行 Mythril 深度分析,探索执行路径,发现需要路径敏感分析的重入攻击、未检查的外部调用和算术漏洞。 |
| 24 | |
| 25 | ### 步骤 3:分类和关联发现 |
| 26 | |
| 27 | 合并两款工具的结果,去重发现项,根据可利用性和财务影响评估严重程度,并过滤误报。 |
| 28 | |
| 29 | ### 步骤 4:生成审计报告 |
| 30 | |
| 31 | 生成包含漏洞描述、受影响代码位置、利用场景和修复建议的结构化审计报告。 |
| 32 | |
| 33 | ## 预期输出 |
| 34 | |
| 35 | JSON 报告,列出漏洞及其 SWC(智能合约弱点分类)标识符、严重程度评级、受影响函数和建议修复方案。 |