-
测试开发
-
TS/JS
- Embark
- written in JS
- no update for 3 years
-
Truffle
- upon web3.js
- written in TS+JS
- Truffle
- Ganache
- local Ethereum node
- Drizzle
-
Hardhat
- upon ethers.js
- written in TS
- Hardhat Network
- local Ethereum node
- Mochajs + chai
- unit testing
-
Python
-
Brownie
- upon web3.py
- written in Python
- support for Solidity and Vyper
- Pytest
- unit testing
- Hypothesis
- property-based testing & stateful testing
- ApeWorX
-
Solidity
-
Dapptools
- written in Haskell
- dapp
- seth
- hevm
- ethsign
-
Foundry
- rewrite of DappTools in Rust
- Forge
- Cast
- Anvil
- local Ethereum node
-
Static analysis
静态分析
-
linters
- Solhint
- written in Python
- Vscode的solidity插件和Remix用的都是这个
- Ethlint (Solium)
- no update for 3 years
-
Slither
- written in Python
- author: Trail of Bits
- 视频
- 4naly3er
- written in TS
- Securify
- Version1.0: deprecated
- Version2.0: no update for 3 years
- SmartCheck
- deprecated in 2020
- Rattle
- written in Python
- 一个审计员开发的新工具
支持chatGPT检查注释
-
Fuzzing
模糊测试
-
基于属性的模糊测试
- Echidna
- written in Haskell
- author: Trail of Bits
- Foundry Fuzz
-
diligence-fuzzing
- author: ConsenSys Diligence
(体验阶段)
- Scribble
- author: ConsenSys Diligence
(测试阶段)
- 需要手动自定义属性
- 可以利用单元测试自动生成属性
-
黑盒模糊测试
- ContractFuzzer
- written in Go
- no update for 3 years
-
灰盒模糊测试
- Harvey
- fuzzer of MythX
- author: ConsenSys
-
Formal Verification
形式化验证
-
SMTChecker
- Solidity编译器自带的
- assert
- require
-
Symbolic execution
符号执行
- Manticore
- written in Python
- author: Trail of Bits
-
Mythril
- written in Python
- author: ConsenSys
- wiki
- 官方文档
- 与Scribble一起用
- hevm
DappTools
Haskell编写
-
比较久没有更新且star数较少
-
Oyente
- written in JS
- 视频
- Maian
- written in Python
- TeEther
- written in Python
-
付费服务
-
MythX
-
核心组成
- 静态分析器 (Maru)
- 符号分析器 (Mythril)
- 灰盒模糊器 (Harvey)
-
扫描模式
- 快速5min
- 标准30min
- 深度90min
-
付费模式
- On Demand (US$9.99/3 scans)按需
- Developer (US$49/mo)开发者版
500 scans/month
不支持深度扫描
- Professional (US$249/mo) 专业版
10 000 scans/month
- Enterprise (Custom pricing)企业定制
- VerX
- author: ChainSecurity
- Certora
- Beosin-VaaS
- author: Beosin