提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档

oyente—合约漏洞检测工具安装

  • 前言
  • 一、oyente是什么?
  • 二、安装
    • 1.在docker安装
    • 2.linux安装
      • 1.首先就是装依赖配置环境
    • 最后

前言

区块链是近几年来大热的项目,但是国内有关的文献文档却少之又少,最近学长让安装一个叫oyente的合约检测工具,笑死根本找不到教程,上官方github看看安装方法,用渣英文翻译记录下来,顺便几一些坑分享给之后有需要的人。
在本文中,我将演示如何在有docker和没有docker的情况下安装和使用Oyente。
同时这个是针对有一定基础的教程,如果连docker和linux之类的都没有安装的话,建议去搜搜,这些目前在国内资源很多,随便都能搜到。
贴上参考资料这里、这里和这里需要科学上网。


一、oyente是什么?

区块链交易通常采用加密货币。两种最流行的加密货币,比特币和以太坊,都支持对处理交易的规则或脚本进行编码的功能。最近,以太坊智能合约被稳步采用。作为主要的智能合同语言,Solidity做的智能合约容易受到某些攻击。
Oyente是一个智能合约自动审计工具,它能分析智能合约并返回可能的bug攻击,包括著名的DAO攻击之类的。它由新加坡国立大学的研究人员在2016年1月开发。您可以在这里参阅第23届ACM CCS会议上提交的论文。
该工具是开源项目,支持4种漏洞的检测,具体的如何使用相关信息使用方式可以参考github

二、安装

在安装前一定要注意,python的版本最好大于3.5,很多错误都是因为python的版本而出现的

1.在docker安装

使用docker安装是最简单的方法,因为docker本身创建了运行Oyente所需的环境。

在docker中运行

sudo apt-get update
sudo apt install docker.io
docker pull luongnguyen/oyente
docker run -i -t luongnguyen/Oyente

在容器中检测合约,运行这个代码:(这句话可能是这么翻译,有点没看懂贴上原文)

To evaluate the greeter contract inside the container, run

cd /oyente/oyente
python oyente.py -s greeter.sol

结束。就这么简单docker真的是个神器太喜欢了,可是我却要用linux,还好有wsl可以救我
=-=

但每次评估新的智能合约时,都必须使用unix命令在容器中创建一个文件,然后运行最后一个命令。可以在docker容器中安装vim,但创建和编辑文件仍然是一项繁忙的任务。

2.linux安装

这里没有做window的,大家可以了解一下WSL2真的很好用。

1.首先就是装依赖配置环境

Solc
Geth and evm
Z3
python
web3
requests library

首先是python大多人都有吧,但是为了方便新手,还是加上python
这里只是最常见的python安装方法,请一定根据你自己的系统版本找相应教程安装,不然之后你会很难受。

# sudo apt-get install python3.7
# sudo apt install python-pip
# pip install virtualenv
# sudo apt install vim

然后solc编译器,用于写solidity合约

$ sudo add-apt-repository ppa:ethereum/ethereum
$ sudo apt-get update
$ sudo apt-get install solc

evm 以太坊的虚拟机

$ sudo apt-get install software-properties-common
$ sudo add-apt-repository -y ppa:ethereum/ethereum
$ sudo apt-get update
$ sudo apt-get install ethereum

z3处理器,一个Theorem Prover(不知道怎么翻译,反正就是帮助oyente进行检测的)工具

$ python scripts/mk_make.py --python
$ cd build
$ make
$ sudo make install

request library 和 web3 library

pip install requests
pip install web3

最后

pip2 install oyente

安装完成
运行就不运行了。

oyente—合约漏洞检测工具安装相关推荐

  1. Oyente:智能合约漏洞检测工具的安装与使用

    写在前面 当你阅读到这篇 博客 时,大概率你已经阅读并尝试过 Oyente 官方安装指导,甚至可能还在其它地方搜过安装教程,如果没有就当我没说... 那为什么在有各种版本的教程的情况下我依旧去写一个新 ...

  2. 区块链论文7(oyente智能合约漏洞检测工具)

    Making Smart Contracts Smarter 文章路径 参考链接1 参考链接2 参考链接3 Abstract: Cryptocurrencies record transactions ...

  3. Metasploit是一款开源的安全漏洞检测工具,

    Metasploit是一款开源的安全漏洞检测工具,可以帮助安全和IT专业人士识别安全性问题,验证漏洞的缓解措施,并管理专家驱动的安全性进行评估,适合于需要核实漏洞的安全专家,同时也适合于强大进攻能力的 ...

  4. 智能合约自动检测工具『链必验』,如何带你解锁Web3.0世界

    在我们发布[链必验]新版本之后,目前已有大批开发者前来试用,今天,我们还需要详细介绍这款工具. [链必验]智能合约自动检测工具,可用来检测区块链智能合约漏洞.平台针对每个用户模拟了一条单独的测试链,用 ...

  5. 为什么都在选择IAST作为安全漏洞检测工具

    前言: 1 最近SAP 爆出的软件供应链安全风险事件 ​ 其中的五个高危漏洞如下,均是编码安全漏洞: lCVE-2023-25616代码注入漏洞 lCVE-2023-23857 隐私数据泄露漏洞 lC ...

  6. Metasploit Framework-安全漏洞检测工具使用

    一款开源的安全漏洞检测工具,简称MSF.可以收集信息.探测系统漏洞.执行漏洞利用测试等,为渗透测试.攻击编码和漏洞研究提供了一个可靠平台. 集成数千个漏洞利用.辅助测试模块,并保持持续更新. 由著名黑 ...

  7. 路由器被黑linux检测工具,路由器漏洞检测工具有哪些

    如果路由器存在漏洞势必会危害自己的个人信息,那么我们该如何检测路由器漏洞呢?路由器漏洞检测工具有哪些?下面请大家跟随小编的脚步来佰佰安全网寻找答案吧. 路由器漏洞检测工具有哪些?小编总结如下: 1.J ...

  8. 文件包含漏洞检测工具fimap

    文件包含漏洞检测工具fimap 在Web应用中,文件包含漏洞(FI)是常见的漏洞.根据包含的文件不同,它分为本地文件包含漏洞(LFI)和远程文件包含漏洞(RFL).利用该漏洞,安全人员可以获取服务器的 ...

  9. Wapiti一款小巧的开源安全测试漏洞检测工具

    Wapiti 是一套 OpenSource 的站点漏洞检测工具,比较特殊的是,它并不依赖特征数据库,也因此扫描的速度相当快,而探测的则是一些共通性问题,或是作者所宣称的未知漏洞.Wapiti 其实是一 ...

最新文章

  1. 调整数组顺序使奇数位于偶数的前面
  2. libgdx 1.4.1公布
  3. EF另一个 SqlParameterCollection 中已包含 SqlParameter。
  4. swagger 使用指南
  5. 第一次作业-李纯锐201731084433
  6. SAP License:FI权限需要控制利润中心
  7. java 集合初始化_6种方法初始化JAVA中的list集合
  8. 网站后台输入密码错误
  9. 中如何设置电气栅格_游戏中的设置界面如何设计?
  10. 如何改变Static Text控件中文字的字体,字体大小及颜色。
  11. 设计模式之观察者Observer
  12. Java 分布式框架面试题合集
  13. 19 枚举类型 Enumerated
  14. balenaEtcher for mac(U盘启动盘制作工具)
  15. C语言程序设计精髓--第3周编程题在线测试
  16. PHP 处理苹果内购二次验证
  17. 腾讯云运维干货沙龙-海量运维实践大曝光 (一)
  18. NB物联网之天翼物联(7)——一次性通过电信NB平台自助测试
  19. CF卡插到时显示函数不正确请问咋才能修复?
  20. ORB-SLAM 全文翻译

热门文章

  1. HTML中chunked解码和gzip解压
  2. yolov5s 预训练模型_GitHub上YOLOv5开源代码的训练数据定义
  3. 常见中文编码方式介绍
  4. 解决mysql子查询里面无法使用LIMIT This version of MySQL doesn't yet support 'LIMIT IN/ALL/ANY/SOME subquery'
  5. AIGC:ChatGPT(一个里程碑式的对话聊天机器人)的简介(意义/功能/核心技术等)、使用方法(七类任务)、案例应用(提问基础性/事实性/逻辑性/创造性/开放性的问题以及编程相关)之详细攻略
  6. 点阵16x16ttf_16x16点阵显示实验报告
  7. 图书分类页面php,PHP开发简单图书借阅系统之创建主页面
  8. 多进程生产者消费者框架设计
  9. 免费在线压缩图片的网站
  10. 微信公众号手机端PC端多客服系统