关于EVMProxyInspect
EVMProxyInspect是一款针对以太坊EVM代理的检测工具,该工具可以帮助广大研究人员在多链生态中检测EVM代理。
该工具能够展示类似etherscan这样的工具是如何检测代理的,并且允许我们自行进行代理检测。需要注意的是,该工具支持多链生态和多个代理模式。
功能介绍
1、自动检测代理模式;
2、自动检测链;
3、多链支持;
4、支持多种代理模式;
5、支持历史检索;
支持的模式
EIP-1967信标代理
EIP-1167最小代理模式
EIP-1822通用可升级代理模式
EIP-1967信标代理
EIP-897委派代理模式
OpenZeppelin透明代理
Gnosis安全代理
Compound控制器代理
支持的链
EthereumBinance Smart ChainPolygonpolygonZkEvmOptimismopBNBGnosis/xDAIFantomAvalancheArbitrumOptimismBasezkSyncLineaHoleskyKava
工具下载
广大研究人员可以直接使用下列命令将该项目源码克隆至本地:
git clone https://github.com/0xsha/EVMProxyInspect.git
然后切换到项目目录中,使用下列命令安装该工具所需的其他依赖组件:
cd EVMProxyInspectbun install
工具使用
首先,我们需要只做一个txt文本文件,其中每行写入一个地址。然后使用下列命令即可开始检测:
bun index.ts -f contracts.txt
如果你想要之前的历史数据,可以使用下列命令:
bun index.ts -p proxy -b startBlock -m Method
比如说:
bun index.ts -p 0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48 -b 18963800 -m OZ
在执行测试时,由于使用的是真实的活动网络,别忘了添加超时时间:
bun test --timeout 1000000
工具限制
1、不支持现有的全部代理模式;
2、不支持并发线程(为了不消耗公共节点资源);
3、不支持IPC;
项目地址
EVMProxyInspect:【GitHub传送门】
参考资料
GitHub - gnosis/evm-proxy-detection: Detect proxy contracts and their target addresses using an EIP-1193 compatible JSON-RPC request function