Multi-Chain EVM Proxy Detection Tool
多链EVM代理检测工具
This is PoC for detecting EVM Proxies on multiple chains. it shows you how tools like etherscan detect proxies and how you can do it yourself. it support multiple chains and multiple proxy patterns.
这是用于检测多条链上的 EVM 代理的 PoC。它向您展示了 Etherscan 等工具如何检测代理以及如何自己完成。它支持多链和多种代理模式。
支持的模式:
supported patterns:- EIP-1967 Beacon Proxy EIP-1967 信标代理
- EIP-1167 Minimal Proxy Pattern
EIP-1167 最小代理模式 - EIP-1822 Universal Upgradeable Proxy Pattern
EIP-1822 通用可升级代理码 - EIP-1967 Beacon Proxy EIP-1967 信标代理
- EIP-897 Delegate Proxy Pattern
EIP-897 委托代理模式 - OpenZeppelin Transparent Proxy
OpenZeppelin 透明代理 - Gnosis Safe Proxy Gnosis 安全代理
- Compound Comptroller Proxy
复合主计长代理
支持的链:
supported chains:- Ethereum 以太坊
- Binance Smart Chain 币安智能链
- Polygon 多边形
- polygonZkEvm 多边形ZkEvm
- Optimism 乐观主义
- opBNB opBNB的
- Gnosis/xDAI 灵知/xDAI
- Fantom 幽灵
- Avalanche 雪崩
- Arbitrum 仲裁
- Optimism 乐观主义
- Base 基础
- zkSync zk同步
- Linea 线
- Holesky 霍尔斯基
- Kava 计划
特征
Features- Automatic detection of proxy patterns
自动检测代理模式 - Automatic detection of chains
自动检测链条 - Multiple chains 多链
- Multiple proxy patterns 多种代理模式
- Historical retrieval 历史检索
用法
UsageTo install dependencies:
要安装依赖项,请执行以下操作:
bun install
To run: 要运行:
Make a file with one address per line
制作一个每行一个地址的文件
bun index.ts -f contracts.txt
if you want previous / historical data.
如果您想要以前的/历史数据。
bun index.ts -p proxy -b startBlock -m Method
example : 例:
bun index.ts -p 0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48 -b 18963800 -m OZ
- you can get the method via previous file method
您可以通过 Previous File 方法获取该方法
To test : 测试:
need timeout because we are testing with live network
需要超时,因为我们正在使用实时网络进行测试
bun test --timeout 1000000
局限性
limitations- Doesn’t support all proxy patterns in existence
不支持现有的所有代理模式 - No concurrency support to not exhaust the public nodes
无并发支持,不会耗尽公共节点 - No IPC support as it’s not supported by Viem yet
没有 IPC 支持,因为 Viem 尚不支持它
学分:
Credits:evm-proxy-detection evm-proxy-检测
原文始发于Github:Multi-Chain EVM Proxy Detection Tool