Dan Uがこのオンチェーン分析で、今回のバイナンスへの攻撃の全貌を解説。細部まで恐ろしいほど明らかにしています:
1. 実行の4時間前、攻撃者はまず2.54 USDTでリハーサル。同じEOA、同じsweep()関数、同じツール一式を使い、小さなウォレットで攻撃の全工程を試し、バグがないことを確認してから、バイナンスの14番目のホットウォレットに狙いを定めました。
2. タイムライン:20:20:59にウォレットへEIP-7702の委任が設定され、3分半も待ってから資産の移動が始まりました。
実は、eth_getCodeを監視していれば、この異常はもっと早く検知できたはずですが、誰も見ていませんでした。
3. 重要なのは、署名が1つではなく、連続するnonce 50個分の署名を敷き詰めた「署名のじゅうたん」だったこと
バイナンスのホットウォレットの秘密鍵は、あらかじめ50個の認可に署名していました。攻撃者はそれらをまとめてブロードキャストし、そのうち1つのnonceがウォレットの現在の状態と一致することに賭けました。秘密鍵自体は直接トランザクションを送ったのではなく、この認可の束に署名しただけです。
4. あまりに劇的な逆転劇:バイナンスが意図せず爆弾を解除
攻撃者が用意した50個の署名は、本来なら繰り返し利用できるものでした。ところが、バイナンスの出金ボットが通常のトランザクションを44件自動処理し、後続のnonceを使い切ったことで、一致しなかった認可はすべて無効に。バイナンスは当時、この罠の存在をまったく知らず、偶然にも攻撃者の切り札を潰したのです。
5. リスクはまだ終わっていない:このウォレットは今も生きた罠
攻撃者の委任はウォレットアドレスに残っており、eth_getCodeで悪意あるコードを確認できます。
その後も新たなユーザーの入金がこのウォレットに続いており、当時は約110万ドルが入っていました。理論上、いつでも再び資金を一掃できる状態です。
攻撃全体の設計、事前のリハーサル、nonceのじゅうたん、そしてバイナンスが偶然にも後の手を潰したこと。そのうえ、ウォレットには時限爆弾が残されたままです。
これは単純な暗号資産の窃盗などではなく、教科書に載るレベルのEIP-7702攻撃です。$BTC $ETH $LINK
1. 実行の4時間前、攻撃者はまず2.54 USDTでリハーサル。同じEOA、同じsweep()関数、同じツール一式を使い、小さなウォレットで攻撃の全工程を試し、バグがないことを確認してから、バイナンスの14番目のホットウォレットに狙いを定めました。
2. タイムライン:20:20:59にウォレットへEIP-7702の委任が設定され、3分半も待ってから資産の移動が始まりました。
実は、eth_getCodeを監視していれば、この異常はもっと早く検知できたはずですが、誰も見ていませんでした。
3. 重要なのは、署名が1つではなく、連続するnonce 50個分の署名を敷き詰めた「署名のじゅうたん」だったこと
バイナンスのホットウォレットの秘密鍵は、あらかじめ50個の認可に署名していました。攻撃者はそれらをまとめてブロードキャストし、そのうち1つのnonceがウォレットの現在の状態と一致することに賭けました。秘密鍵自体は直接トランザクションを送ったのではなく、この認可の束に署名しただけです。
4. あまりに劇的な逆転劇:バイナンスが意図せず爆弾を解除
攻撃者が用意した50個の署名は、本来なら繰り返し利用できるものでした。ところが、バイナンスの出金ボットが通常のトランザクションを44件自動処理し、後続のnonceを使い切ったことで、一致しなかった認可はすべて無効に。バイナンスは当時、この罠の存在をまったく知らず、偶然にも攻撃者の切り札を潰したのです。
5. リスクはまだ終わっていない:このウォレットは今も生きた罠
攻撃者の委任はウォレットアドレスに残っており、eth_getCodeで悪意あるコードを確認できます。
その後も新たなユーザーの入金がこのウォレットに続いており、当時は約110万ドルが入っていました。理論上、いつでも再び資金を一掃できる状態です。
攻撃全体の設計、事前のリハーサル、nonceのじゅうたん、そしてバイナンスが偶然にも後の手を潰したこと。そのうえ、ウォレットには時限爆弾が残されたままです。
これは単純な暗号資産の窃盗などではなく、教科書に載るレベルのEIP-7702攻撃です。$BTC $ETH $LINK