以太坊安全工具套件全解析 - 从静态分析到符号执行

开发工具

1. Not So Smart Contracts

2. Slither

Slither是针对Solidity的静态分析工具,可检测重入漏洞、构造函数错误、方法访问控制等问题。使用方法:

$ slither.py contract.sol

工具会直接输出发现的漏洞信息,建议在每次代码提交时运行。

3. Echidna

Echidna是面向EVM字节码的智能模糊测试工具。使用步骤:

  1. 为现有代码添加测试用例
  2. 执行 ./echidna-test contract.sol
  3. 验证不变量是否成立
    建议达到80%以上的测试覆盖率。

4. Manticore

Manticore通过符号执行模拟多合约/多交易攻击。基础用法:

manticore contract.sol --contract ContractName --txaccount [attacker|owner]

高级用法可通过API实现:初始化合约参数→定义符号交易→审查异常状态。

逆向工具

1. EVM操作码数据库

提供完整的EVM指令集参考,比查阅黄皮书更高效。

2. Ethersplay

图形化EVM反汇编工具,支持:

  • 方法恢复
  • 动态跳转计算
  • 源码匹配
  • 二进制差异分析
    支持.evm和.bytecode两种输入格式。

3. IDA-EVM

IDA Pro插件,提供函数恢复、动态跳转计算、库签名应用等功能。

4. Rattle

EVM静态分析器,通过SSA形式优化指令(减少75%指令量)。使用方法:

$ ./rattle -i path/to/input.evm

后续更新

2018年8月新增项目:

  • Awesome Ethereum Security:精选安全资源列表
  • PyEVMAsm:带CLI和Python API的EVM汇编器/反汇编器
  • Etheno:JSON RPC多路复用器
    更多精彩内容 请关注我的个人公众号 公众号(办公AI智能小助手)
    公众号二维码
posted @ 2025-07-30 09:01  qife  阅读(3)  评论(0)    收藏  举报