
北京時間 2022 年 3 月 17 日、当社のシステムは APE コインに関わる不審な取引を監視しました。ツイッター ユーザーのウィル シーハン氏の報告によると、アービトラージ ロボットは電光石火のローンを通じて 60,000 枚以上の APE コイン (1 枚あたり 8 ドル相当) を入手しました。
分析の結果、これは APE Coin のエアドロップ メカニズムの抜け穴に関連していることがわかりました。具体的には、APE Coin をエアドロップできるかどうかは、特定のユーザーが BYAC NFT の瞬間状態を保持しているかどうかによって決まり、この瞬間状態は、フラッシュ ローンを借りて償還して BYAC NFT を取得する攻撃者によって操作される可能性があります。攻撃者はまずフラッシュ ローンを通じて BYAC トークンを借り、次に引き換えて BYAC NFT を取得します。次に、これらの NFT を使用してエアドロップされた APE を請求し、最後に BYAC NFT ミントを使用して、フラッシュ ローンを返すための BYAC トークンを取得します。このモデルは、フラッシュ ローンに基づく価格操作攻撃に非常に似ていると考えられます (契約では、ある資産の瞬間価格を使用して別の資産の価格を設定しており、この瞬間価格は操作可能です)。
次に、攻撃トランザクション (https://versatile.blocksecteam.com/tx/eth/0xeb8c3bebed11e2e4fcd30cbfc2fb3c55c4ca166003c7f7d319e78eaab9747098) プロセス全体を簡単に説明します。
ステップ I: 攻撃の準備
攻撃者はBYAC NFT番号1060を購入し、それを攻撃契約に転送しました。この NFT は攻撃者によって公開市場で 106 ETH で購入されました。
ステップ II: フラッシュ ローンを借りて BYAC NFT に引き換える
攻撃者はフラッシュ ローンを通じて大量の BYAC トークンを借りました。このプロセスで、攻撃者は BYAC トークンの引き換えを通じて 5 つの BYAC NFT (番号 7594、8214、9915、8167、4755) を取得しました。
ステップ III: BYAC NFT を通じてエアドロップ報酬を受け取る
このプロセス中に、攻撃者は6つのNFTを使用してエアドロップを主張しました。 1060 はその購入であり、残りの 5 は前のステップで取得されます。エアドロップを通じて、攻撃者は報酬として合計 60,564 の APE トークンを受け取りました。
ステップ IV: Mint BYAC NFT が BYAC トークンを取得する
攻撃者は借用した BYAC トークンを返す必要があります。したがって、BYACトークンを取得するためにBYAC NFTミントを取得します。このプロセス中に、彼は自分の番号が付けられた1060 NFTも鋳造しました。これは、フラッシュ ローンの料金を支払うために追加の BYAC トークンが必要になるためです。次に、サービス手数料を支払った後、BYAC トークンを売却して 14 ETH を取得します。
利益
攻撃者は、500,000 米ドル相当の 60,564 APE トークンを入手しました。攻撃コストは、1060 NFT (106ETH) から BYAC トークンの販売によって得られる 14ETH を引いたものとなります。
Lessons
問題の根本は、APEのエアドロップが瞬間的な状態(特定の瞬間に特定のユーザーによってNFTが保持されているかどうか)のみを考慮していることにあると考えています。そして、この仮定は非常に脆弱であり、攻撃者によって簡単に操作される可能性があります。状態を操作する攻撃者のコストが、得られる APE エアドロップの報酬よりも小さい場合、実際の攻撃の機会が作成されます。