区块链安全

defi_poc 环境搭建

参考 @Rivaill 大佬的文章 使用defi_poc进行区块链攻击事件仿真复现实验。逐步对此项目下的5个攻击事件进行分析和复现。

本文中先记录自己下载安装此漏洞测试环境的过程。
注意:最好不要在 windows 环境下安装此项目,某些模块对 windows 支持性较差。

sudo apt-get install gcc
sudo apt-get install python3.6-dev
  • 克隆项目
git clone https://github.com/blocksecteam/defi_poc.git

5个绿底蓝字的文件夹是5个以太坊上攻击事件的仿真复现靶场以及PoC&EXP。接下来要修改 start_archive.sh 文件。

替换为以太坊存档节点。

  • 获取存档节点(archive node)

moralis.io 上:

以 CREAM 这个项目为例:

  • 进行攻击复现的核心逻辑代码放在攻击合约(.sol文件)中
  • 再通过python脚本(.py文件)来控制攻击步骤

而以太坊 Ganache 则是用于开发和测试的本地内存区块链。 它模拟了真实的以太坊网络的功能,包括由测试以太币资助的多个账户的可用性。运行 ganache 将提供一个RPC接口,该接口可以在本地主机的端口上进行访问,就像连接真实的以太坊节点一样。

通过Ganache连接以太坊存档节点(如果一个节点为每个区块的每个状态都额外存储一个快照,那么它通常会被称为存档节点),基于攻击事件的前面的区块分叉出一个本地测试网,这样可以还原一个完整的攻击事件发生前的主网链上的状态,再使用Brownie来进行编译与复现测试。