合约检测之slither(草稿)

Slither是一个用于Solidity智能合约的静态分析框架,它能自动检测漏洞和优化代码,帮助理解和审查合约。solc-select是用于管理Solidity编译器版本的工具,而slither-analyzer是其检测器,提供PythonAPI以支持代码审查流程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、Slither 介绍及运行流程

Slither 是一个静态分析框架,它通过将 Solidity 智能合约转换为称为 SlithIR 的中间表示来工作。
SlithIR 使用静态单一赋值 (SSA) 形式和精简指令集来减慢分析执行速度,同时保留在 Solidity 转换为字节码时可用的语义信息。

Slither 框架有几个用例,包括:

  1. 自动漏洞检测:无需用户干预即可检测智能合约漏洞,实现漏洞自动检测。
  2. 自动优化检测:Slither 可以检测编译器可能忽略的代码优化,从而自动化检测代码优化的过程
  3. 代码理解:对合约信息进行归纳和展示,帮助研究人员理解代码库,提高对智能合约的理解
  4. 辅助代码审查:用户可以通过其 API 与 Slither 交互,以方便代码审查
    请添加图片描述
二、slither 安装
2.1 Solidity 编译器solc-select安装与用法
  • 作用:Solidity 编译器版本之间快速切换的工具
  • 安装:pip install solc-select 管理安装和设置不同的solc编译器版本
    solc --version:查看当前 Solidity 编译器版本。
    solc-select install:查看可用的编译器版本。
    solc-select install 0.4.24:安装 Solidity 编译器版本 0.4.24。
    solc-select use 0.4.24:使用 Solidity 编译器版本 0.4.24。
2.2 slither-analyzer 检测器安装与用法
  • 安装:pip install slither-analyzer 管理安装和设置不同的solc编译器版本
https://github.com/crytic/slither/wiki/Python-API

参考文献
Slither: A Static Analysis Framework For Smart Contracts

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

风华浪浪

讨个老婆本呗

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值