Aztec 似乎又被盗了,其 Private Rollup Bridge 0x737901bea3eeb88459df9ef1BE8fF3Ae1B42A2ba 有三笔可疑利用(总约 215 万美金):
1,158 ETH
150,000 DAI
0.46963295 renBTC
资金主要都在:
0x6952d9246e9aFE8B887B2877225163436F78E97F
其中部分 ETH 转移到: 0x15930a0fef3421f48c6553b5691682cc1b22edb3
0x33d6a0d9bc210e823e043d604179cd844eb467df
攻击地址 Gas 来源
初步分析原因:Aztec RollupProcessor 的 Escape Hatch 在开启窗口内允许任意 caller 提交一个可被 verifier 接受的 rollup proof。合约在 processDepositsAndWithdrawals() 中只根据 proofData 里的 public output 字段执行 L1 资产释放:当 inner tx 满足 proofId == 0 且 publicOutput > 0 时,RollupProcessor 会调用 withdraw(publicOutput, outputOwner, assetId),直接从自身托管储备中向 outputOwner 支付对应资产。
该攻击地址连续构造/提交 escape-hatch proofs,使 proofData 中的 inner tx 声明:
- assetId = 0,publicOutput = 1,158 ETH
- assetId = 1,publicOutput = 150,000 DAI
- assetId = 2,publicOutput = 0.46963295 renBTC
由于这些 withdrawals 被 proof/state transition 接受,RollupProcessor 分别从自身 ETH / DAI / renBTC 储备向攻击者地址释放资产。
具体信息看看
@aztecnetwork 怎么说。cc
@SlowMist_Team @MistTrack_io