revive cc
1.0.0
revive^CC是用于HyperLeDger Fabric智能合约(链式)的静态分析工具(链接),旨在检测区块链相关的安全漏洞,以帮助开发人员编写清洁且安全的智能合约。 revive^CC是HyperLeDger Fabric Chaincode现有的两个现有静态分析工具之一,另一个工具是Chainsecurity的链码扫描仪,可以分析满足某些要求的链码文件。使revive^CC特别的原因是该工具将安全分析的可访问性带入了任何链代码文件。到目前为止,这是尚未可用的。
该工具是开源GO静态分析工具的扩展,并是使用Revive的框架构建的。因此,它包含Revive的所有好处和检查,以帮助开发人员编写干净的GO代码。 revive^CC是我在谢菲尔德大学的“分析智能合约”的论文项目的一部分。
1. Place folder in the your $GOPATH/src/github.com/youraccount
2. Go into directory sivachokkapu/revive-cc
3. $ make install
4. $ make build
5. Move the revive file into $GOPATH/bin
6. You should now be able to use revive commands
$ revive {chaincodefilename.go} - will analyse the file
$ revive -formatter stylish {chaincodefilename.go} - better output format
$ revive - on a directory will analyse all files if from the same package

在目录上使用$ revive


黑名单链码导入漏洞的示例

链代码中全球状态可变漏洞的示例

链码中goroutines漏洞的示例

phantom读取链代码中的分类帐漏洞的示例

范围范围超过链中的地图漏洞

读取后读取漏洞的示例
麻省理工学院