
攻撃された契約
#1 イベント関連情報
攻撃トランザクション
0xcd314668aaa9bbfebaf1a0bd2b6553d01dd58899c508d4729fa7311dc5d33ad7
攻撃者のアドレス
0x1c5dcdd006ea78a7e4783f9e6021c32935a10fb4
攻撃契約
0x79224bC0bf70EC34F0ef56ed8251619499a59dEf
攻撃された契約
0xc1e088fc1323b20bcbee9bd1b9fc9546db5624c5
#2 攻撃プロセス
1. 攻撃者は攻撃の前日から提案トランザクションを開始し、提案が承認されると、Beanstalk: Beanstalk プロトコル契約の資金が撤回されます。
2. ハッカーはフラッシュ ローンを通じて、資本準備金として 350,000,000 DAI、500,000,000 USDC、150,000,000 USDT、32,100,950 BEAN、および 11,643,065 LUSD を交換しました。
3. ハッカーは、2 ステップ DAI、USDC、および USDT 資金を Curve.fi DAI/USDC/USDT 取引プールに 979,691,328 3Crv 流動性トークンとして追加し、15,000,000 3Crv を 15,251,318 LUSD に交換しました。
4.投票のために964,691,328の3Crvトークンを795,425,740のBEAN3CRV-fと交換し、32,100,950のBEANと26,894,383のLUSDを追加して、58,924,887のBEANLUSD-f流動性トークンを取得します。
5. ステップ 4 で BEAN3CRV-f および BEANLUSD-f を使用して提案に投票し、提案が可決されます。したがって、Beanstalk: Beanstalk プロトコル コントラクトは、36,084,584 個の BEAN、0.54 UNI-V2、874,663,982 個の BEAN3CRV-f、および 60,562,844 個の BEANLUSD-f を攻撃コントラクトに転送しました。
6. 最後に、攻撃者は流動性を取り除いてフラッシュ ローンを返却し、余剰トークンを 24,830 ETH に変換して攻撃者の口座に送金しました。
#3 脆弱性分析
この攻撃は主に、アカウントに保持されているトークンの量に基づいて取得される投票コントラクト内の投票数を使用します。
攻撃者は、少なくとも 1 日前に Beanstalk から資金を引き出す提案を開始しました: Beanstalk プロトコル、その後、EmergencyCommit を呼び出して提案を実行するための緊急コミットを実行しました。これが、攻撃者が 1 日前に攻撃準備を開始した理由です。
#4 資金追跡
この事件を受けて、成都 LianAn 技術チームは次のように提案しました。
この事件を受けて、成都 LianAn 技術チームは次のように提案しました。
1. 投票に使用される資金は一定期間契約に固定され、投票数のカウントに口座の現在の資金残高を使用することは避け、重複投票の可能性を避け、投票にはフラッシュローンを使用する必要があります。
2. プロジェクト当事者とコミュニティはすべての提案に注意を払う必要があり、悪意のある提案の場合は、提案投票期間中に適時に措置を講じ、提案を破棄し、投票の受け付けと実行を禁止することをお勧めします。
3. 契約アドレスが投票に参加することを禁止することを検討してください。さらに、セキュリティ リスクを回避するために、プロジェクトをオンラインにする前に包括的なセキュリティ監査を実施することが最善です。