SoftSec-KAIST/Smartian

GitHub: SoftSec-KAIST/Smartian

结合静态与动态数据流分析的以太坊智能合约灰盒模糊测试工具,用于高效发现合约安全漏洞。

Stars: 157 | Forks: 27

# 锤子手机 Smartian 是一个用于以太坊智能合约的灰盒模糊测试工具。Smartian 利用静态和动态数据流分析来提升模糊测试的有效性。 Smartian 的技术细节可参阅我们在 ASE 2021 上发表的论文 "Smartian: Enhancing Smart Contract Fuzzing with Static and Dynamic Data-Flow Analyses"。 # 安装说明 Smartian 使用 F# 编写,因此您需要安装 .NET 才能运行 Smartian。 每个 Linux 发行版的安装步骤各不相同,请参考此[链接](https://docs.microsoft.com/en-us/dotnet/core/install/)并安装 net5.0。然后,您可以按如下步骤简单地克隆并构建 Smartian。 ``` $ git clone https://github.com/SoftSec-KAIST/Smartian $ cd Smartian $ git submodule update --init --recursive $ make ``` # 使用说明 您可以通过提供智能合约的 EVM 字节码和 ABI 规范,使用 Smartian 对其进行模糊测试。其中,`-t` 选项指定以秒为单位的时间限制。输出的测试用例和触发漏洞的输入将存储在 `-o` 选项指定的目录中。 ``` $ dotnet build/Smartian.dll fuzz -p -a -t
标签:ASE 2021, DNS重绑定攻击, EVM字节码, F#, 云安全监控, 以太坊, 区块链安全, 多人体追踪, 智能合约安全, 灰盒测试, 覆盖率引导, 重入攻击检测, 静态分析