mythril
Mythril 是 EVM 字节码的安全分析工具。它检测以太坊、Hedera、Quorum、Vechain、Roostock、Tron 和其他与 EVM 兼容的区块链构建的智能合约中的安全漏洞。它使用静态分析的方法,如符号执行、SMT 解决和污点分析来检测各种安全漏洞。另外,他还有收费版本的 MythX。

在我实际使用时,我发现他的漏洞检测只局限在少数几个简单的漏洞,如溢出、重入等。我感觉不是很满意,也许主要精力去做收费版了,这个开源版本维护的很少。

所有 Mythril 版本,从 v0.18.3 开始,都以mythril/myth名称下的 Docker 镜像发布到 DockerHub。

安装Docker CE后:

# Pull the latest release of mythril/myth
$ docker pull mythril/myth
使用与使用命令相同的方式docker run mythril/mythmyth

docker run mythril/myth –help
docker run mythril/myth disassemble -c “0x6060”
要将文件从主机传递到 dockerized Mythril,您必须将其包含的文件夹正确挂载到容器中。在contract.sol当前工作目录中,执行:

docker run -v $(pwd):/tmp mythril/myth analyze /tmp/contract.sol

合约比较大的压缩后再校验 npx hardhat flatten > flattened.sol

手册 https://mythril-classic.readthedocs.io/en/master/installation.html
https://github.com/ConsenSys/mythril