为什么在漏洞赏金活动中维护链上隐私至关重要

本文探讨了在以太坊上进行安全漏洞赏金活动时维护隐私的重要性,并分析了攻击者可能利用的各种威胁媒介,例如RPC供应商、网络元数据、其他赏金猎人、项目方本身和物理盗窃。文章还提供了多种解决方案,如使用Tor、私有RPC、本地节点、OPSEC最佳实践、本地分叉链、轮换钱包、混淆行为模式以及使用强化的操作系统/VM,以减少隐私泄露的风险。

为什么在漏洞赏金猎取中维护链上隐私很重要

简而言之:<br> 你面临的威胁:

  • 🧠 RPC 提供者 (Infura, Alchemy): 关联 IP、钱包、模式
  • 🛰️ SIGINT 运营商 (民族国家、对抗性 L1):网络元数据
  • 🔍 其他漏洞赏金猎人:抢先交易想法,窃取漏洞利用
  • 🏛️ 项目本身:检测后静默修复
  • 🦹 物理小偷:如果身份/策略暴露

减少你足迹的解决方案:

  • 🧅 通过 Tor 路由流量
  • 🔐 使用私有/自托管的 RPC
  • 🧱 维护完整的本地节点或使用 anvil 进行分叉
  • 👤 实践强大的 OPSEC (一次性钱包,安全设备)
  • 🧬 使用本地分叉链进行模拟
  • 🔄 轮换钱包并混淆行为模式
  • 💻 使用强化的 OS/VM 进行研究

<TLDR>


你在漏洞赏金方面的进展越多,你就会越后悔没有从一开始就考虑隐私。

介绍:门罗币 VS 以太坊

我们都知道门罗币嵌入了增加隐私的特定组件,这包括 bulletproofs、RingCTs、隐身地址、Dandelion++。

总结门罗币的特性和相关的风险:

风险: 由 XMR 特性缓解:
👁️‍🗨️ 链上分析以追踪发送者/接收者 RingCT + 隐身地址
💸 价值关联以取消匿名化使用 Bulletproof++ + RingCT
🕵️ IP 追踪以取消匿名化发送者 Dandelion++,Tor/I2P
🧠 从行为(KYC,地址重用)重新识别 隐身地址 + 良好的 OPSEC
🧮 通过已知的 UTXO 大小进行金额分析 Bulletproof++ (范围证明)

<br>

门罗币通过保护你的链上和网络上的交易来处理一半的战斗。但另外 50% 是你的 OPSEC

问题:以太坊隐私的挑战

相比之下,以太坊没有内置的隐私

每笔交易都是公开的、永久的且可链接的,除非你添加外部隐私层。这是一张以太坊的普通用户图。

<img width="842" height="862" alt="Ethereum usage drawio (1)" src="https://github.com/user-attachments/assets/39d8cf7f-dcae-48d3-872b-33281974a0db" />

基于该图,我们了解了隐私的直接挑战是:

  • Metamask / 浏览器钱包:泄露浏览器信息、语言环境、操作系统、屏幕分辨率、时间戳
  • 通过 HTTP 的 RPC:没有加密 = SIGINT 或 TLS 指纹识别
  • Infura 及朋友:IP 到钱包的映射、分析、行为聚类
  • 前端 dApps:注入 JS 追踪器、记录 tx 意图和钱包连接

Infura 可以构建机器学习模型来跟踪可疑行为:早期漏洞利用模拟、抢先交易模式或异常操作码使用。


这里我看到了一些东西,你应该绝对避免!

案例研究:离线签名的陷阱 - 你仍然在泄露元数据

私下发送 ETH 相对简单。

你可以使用像 Infura 这样的 RPC 提供商,前提是你已经使用匿名帐户注册(例如,使用匿名电子邮件地址)。

##如何使用 Tor 和 Curl 私下发送 ETH
##解决方案 TOR

curl --socks5-hostname 127.0.0.1:9050 \
  https://mainnet.infura.io/v3/YOUR_PROJECT_ID \
  -X POST \
  -H "Content-Type: application/json" \
  -d '{
    "jsonrpc": "2.0",
    "method": "eth_sendRawTransaction",
    "params": [
      "0xf86b808504a817c80082520894d46e8dd67c5d32be8058bb8eb970870f0724456788016345785d8a00008025a0fc..."
    ],
    "id": 1
  }'

但是,如果你想与合约互动呢?那就变得棘手了——尤其是当 dApp 使用多重调用来抽象复杂性时。

场景:你使用 MetaMask 构建一个 tx,离线签名,然后通过 Tor 匿名广播。

<img width="801" height="638" alt="scenario eth drawio" src="https://github.com/user-attachments/assets/b7c92310-18aa-497a-a5e0-a57fd1cf4770" />

这种方法是有缺陷的:

  • Nonce、gas 费、合约数据 → 在 真实 IP 上的 RPC 上通过 tx 准备获取
  • 稍后广播相同的 tx(即使通过 Tor)允许轻松关联

专业提示:使用一次性钱包,通过 TOR 路由流量,并在与 dApp 交互时连接到自定义 RPC 提供商。这使你可以安全地观察复杂交易是如何构建的——帮助你在使用 web3.jsethers.js 构建自己的 tx 之前,对智能合约行为进行逆向工程。

//为每个漏洞赏金审计创建一次性钱包
//解决方案:一次性钱包
const wallet = ethers.Wallet.createRandom();

以下是一些易于设置的漏洞赏金解决方案 - 限制暴露。

研究的良好实践

解决方案 1: 使用具有一次性帐户的私有 RPC 提供程序克隆本地区块链。[易于设置]

##解决方案:私有 RPC 提供程序 + TOR + 无日志
torsocks anvil \
  --fork https://cloudflare-eth.com \
  --fork-block-number 19000000 \
  --no-storage-caching \
  --silent

缓解的威胁:地址跟踪 - RPC 提供程序日志关联(无 api 密钥)


解决方案 2: 具有自定义快照的私有分叉网络 [易于设置] 这也便于你稍后恢复工作。

##解决方案:避免过多的 RPC 调用。
anvil --dump-state snapshot.json
anvil --state snapshot.json

缓解的威胁:RPC 提供程序日志关联


解决方案 3: 用于隔离测试的自定义合约镜像 [易于设置] 无需分叉主网,而是在本地链上部署合约。这非常强大,因为你根本没有执行任何 RPC 调用。

1 - 去 github 并使用现有合约克隆 repo
2 - 使用 anvil --silent --block-time 0 -> 部署 eth 区块链
3 - anvil &
forge create src/Target.sol:TargetContract \
  --rpc-url http://localhost:8545 \
  --constructor-args "0xFeed" "0xToken" -> 在你的本地链上部署

缓解的威胁:RPC 日志关联(无分叉 = 零 RPC 调用)- 外部服务依赖(完全脱机测试)


解决方案 4: 使用你自己的完整节点进行测试 [设置成本高]

## 克隆 Geth
git clone https://github.com/ethereum/go-ethereum.git
cd go-ethereum
make geth

## 初始化数据目录(可选的自定义创世用于测试)
./build/bin/geth init genesis.json --datadir $HOME/.ethereum

## 启动你的完整节点(主网或测试网)
./build/bin/geth \
  --datadir $HOME/.ethereum \
  --http \
  --http.addr 127.0.0.1 \
  --http.port 8545 \
  --http.api "eth,net,web3,debug,txpool" \
  --http.corsdomain "*" \
  --syncmode full \
  --cache 4096 \
  --ipcdisable \
  --allow-insecure-unlock

你现在可以:

  • 重放 txs
  • 分析追踪日志
  • 模拟状态倒带
  • 无需外部追踪即可进行存储读取

解决方案 5: 报告策略

这对于实时关键发现非常重要

- 不要透露研究地址或资金来源
- 考虑:
    - pgp 加密消息
    - 一次性电子邮件
    - 可转发的 eth 钱包
    - 通过 VPN/Tor 提交
    - 基于非 KYC 的奖励地址(例如,Tornado-washed)

缓解的威胁:通过地址聚类进行去匿名化 - 来自已知身份的报复或诉讼风险


奖励解决方案 6: 通过容器隔离环境 [中等设置难度]

在隔离的环境中运行你所有的工具和测试链(例如,Anvil、Geth、Foundry)——专用 VMQubes OS AppVMDocker 容器。严格控制 I/O。

资源:trailofbits/eth-security-toolbox

docker run -it --rm \
  --network none \
  -v $PWD:/work \
  foundry \
  bash

## 容器内:
anvil --silent &
forge test

缓解的威胁:工具遥测(例如,Forge/Ganache/Hardhat 统计信息、自动更新 ping)+ 意外的互联网暴露(例如,依赖项下载暴露研究兴趣)

专业提示:如果需要,你可以在容器内与 Tor 集成,或者使用 --network none 完全阻止所有出口


感谢你的阅读,为本项目加星以获取更多提示,我经常发布!

  • 原文链接: github.com/Thomas-EDET/B...
  • 登链社区 AI 助手,为大家转译优秀英文文章,如有翻译不通的地方,还请包涵~
点赞 0
收藏 0
分享
本文参与登链社区写作激励计划 ,好文好收益,欢迎正在阅读的你也加入。

0 条评论

请先 登录 后评论
Thomas-EDET
Thomas-EDET
江湖只有他的大名,没有他的介绍。