oyente—合约漏洞检测工具安装
提示:文章寫完后,目錄可以自動生成,如何生成可參考右邊的幫助文檔
oyente—合約漏洞檢測工具安裝
- 前言
- 一、oyente是什么?
- 二、安裝
- 1.在docker安裝
- 2.linux安裝
- 1.首先就是裝依賴配置環(huán)境
- 最后
前言
區(qū)塊鏈是近幾年來大熱的項目,但是國內有關的文獻文檔卻少之又少,最近學長讓安裝一個叫oyente的合約檢測工具,笑死根本找不到教程,上官方github看看安裝方法,用渣英文翻譯記錄下來,順便幾一些坑分享給之后有需要的人。
在本文中,我將演示如何在有docker和沒有docker的情況下安裝和使用Oyente。
同時這個是針對有一定基礎的教程,如果連docker和linux之類的都沒有安裝的話,建議去搜搜,這些目前在國內資源很多,隨便都能搜到。
貼上參考資料這里、這里和這里需要科學上網(wǎng)。
一、oyente是什么?
區(qū)塊鏈交易通常采用加密貨幣。兩種最流行的加密貨幣,比特幣和以太坊,都支持對處理交易的規(guī)則或腳本進行編碼的功能。最近,以太坊智能合約被穩(wěn)步采用。作為主要的智能合同語言,Solidity做的智能合約容易受到某些攻擊。
Oyente是一個智能合約自動審計工具,它能分析智能合約并返回可能的bug攻擊,包括著名的DAO攻擊之類的。它由新加坡國立大學的研究人員在2016年1月開發(fā)。您可以在這里參閱第23屆ACM CCS會議上提交的論文。
該工具是開源項目,支持4種漏洞的檢測,具體的如何使用相關信息使用方式可以參考github
二、安裝
在安裝前一定要注意,python的版本最好大于3.5,很多錯誤都是因為python的版本而出現(xiàn)的
1.在docker安裝
使用docker安裝是最簡單的方法,因為docker本身創(chuàng)建了運行Oyente所需的環(huán)境。
在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命令在容器中創(chuàng)建一個文件,然后運行最后一個命令。可以在docker容器中安裝vim,但創(chuàng)建和編輯文件仍然是一項繁忙的任務。
2.linux安裝
這里沒有做window的,大家可以了解一下WSL2真的很好用。
1.首先就是裝依賴配置環(huán)境
Solc
Geth and evm
Z3
python
web3
requests library
首先是python大多人都有吧,但是為了方便新手,還是加上python
這里只是最常見的python安裝方法,請一定根據(jù)你自己的系統(tǒng)版本找相應教程安裝,不然之后你會很難受。
然后solc編譯器,用于寫solidity合約
$ sudo add-apt-repository ppa:ethereum/ethereum $ sudo apt-get update $ sudo apt-get install solcevm 以太坊的虛擬機
$ sudo apt-get install software-properties-common $ sudo add-apt-repository -y ppa:ethereum/ethereum $ sudo apt-get update $ sudo apt-get install ethereumz3處理器,一個Theorem Prover(不知道怎么翻譯,反正就是幫助oyente進行檢測的)工具
$ python scripts/mk_make.py --python $ cd build $ make $ sudo make installrequest library 和 web3 library
pip install requests pip install web3最后
pip2 install oyente安裝完成
運行就不運行了。
總結
以上是生活随笔為你收集整理的oyente—合约漏洞检测工具安装的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 浙江大学计算机学院沈吕可晟,作品征集 |
- 下一篇: 智能交通的深度学习综述-基于图卷积神网络