autorenew
BSCスマートコントラクトのハック:EIP-7702悪用で約85,000ドルの被害

BSCスマートコントラクトのハック:EIP-7702悪用で約85,000ドルの被害

こんにちは、ブロックチェーン好きの皆さん!memeトークンに深く関わっている人も、DeFiの動向を追っているだけの人も、セキュリティには常に警戒が必要です。最近、BlockSecが開発した優れたブロックチェーン監視プラットフォームPhalconが注意喚起を出し、話題になっています。彼らはBinance Smart Chain(BSC)上のある無名のスマートコントラクトに対する巧妙な攻撃を発見し、約85,000ドルの損失が発生しました。ここでは分かりやすく解説し、特にmemeトークンの開発者や投資家が学べる点を整理します。

攻撃で何が起きたのか?

攻撃者はコントラクト設計の弱点を突いて、二つの巧妙なトランザクションを行いました。BSCはEthereum互換で、トランザクションが速く安価なためmemeトークンやDeFiアプリの温床になりやすいチェーンです。今回、攻撃者はEIP-7702と呼ばれる仕組みを利用しました。EIP-7702は、あるアカウントが一時的に別のコントラクトのコードを実行させる(delegate execution)ことを可能にする提案で、flash loanのような高度な手法で機能を“借りる”ために使われます。

ここでは攻撃者がflash loanのコールバック中に自身のアドレスに対してEIP-7702を適用しました。flash loanは同一トランザクション内で返済を完了する即時の無担保ローンで、アービトラージに便利ですが、エクスプロイトでもよく使われます。これにより攻撃者は価格を操作し、資産をstakeしてすぐにunstakeして利益を得ました。今回の要点はコントラクトの組み込み保護を回避できた点にあります。

Phalconは攻撃トランザクションの詳細を彼らのtweetで共有しています。最初のトランザクションはこちらにあり、攻撃者が如何に短時間でstakeとunstakeを実行したかが示されています。

BSCコントラクトにおける脆弱なflash loan保護と時間チェックの脆弱性を示すコードスニペット

明らかになった3つの主要な脆弱性

Phalconは今回の攻撃を可能にした主な欠陥を三点挙げています。一つずつ分かりやすく解説しますので、スマートコントラクト初心者でも理解できるはずです。

  1. Flawed Flash Loan Protection Check:コントラクトにはflash loanの悪用を防ぐ仕組みがありましたが、完全ではありませんでした。攻撃者はEIP-7702でコールバックを委任し、コントラクトを欺いて正当な操作だと見なさせました。このバイパスにより、保護が発動せずにシステムを操作できてしまったのです。memeトークン開発者への教訓:最新のEIPやデリゲーション手法に対して保護をテストしてください。

  2. Dependency on Spot Prices:コントラクトが計算に現在の市場価格(スポット価格)を使っており、流動性の低いプールでは簡単に操作され得ます。攻撃者はflash loan中にこれらの価格を歪めて人工的な利益機会を作り出しました。

  3. Flawed Time Interval Check for Staking and Unstaking:これは厄介な問題です。コントラクトは「timestamp modulo day」計算(基本的には timestamp % day)を使って期間をチェックしており、前回のstakeからの実際の終了時刻を追跡していませんでした。これにより攻撃者は日付の境目を跨ぐタイミングを狙えば、ほとんど待たずにstake→unstakeを行えました。ブロックタイムスタンプは時間に敏感なロジックには必ずしも信頼できない、という古典的な教訓の一例です。

これらの問題はこのコントラクト特有のものではなく、さまざまなDeFiやmemeトークンのプロジェクトで繰り返し見られます。もしstaking機能を持つmemeコインをローンチするなら、タイムロックや価格オラクルを念入りにチェックしてください。

なぜmemeトークンにとって重要なのか

memeトークンは勢いで短期間にローンチされ、staking報酬や流動性プールのような仕組みを取り入れがちですが、セキュリティが後回しになることがあります。今回のBSCの事例は、無名のコントラクトであっても価値が集中すれば高度な攻撃者を引き寄せるという厳しい現実を突きつけます。被害が約85,000ドルに達したことは、特にボラティリティの高いmeme界隈ではコミュニティの信頼に直結する重大な問題です。

Meme Insiderとしては、このエコシステムを安全に渡航するための知識提供を重視しています。今回のような事例はBlockSecのような信頼できる企業による監査や、Phalconのような継続的な監視ツールの必要性を改めて示しています。開発者であれば、価格情報にはより堅牢なオラクル(例えばChainlink)を導入し、時間チェックのロジックを強化することを検討してください。

Memeトークン界で身を守るには

まとめると、Phalconなどのアラート元を常にチェックし、コントラクトとのやり取りは慎重に確認する習慣をつけてください。BSC上で怪しいコントラクトとやり取りしてしまった場合は、Revoke.cashのようなツールを使って承認を速やかに取り消しましょう。最新のmemeトークン技術やセキュリティ情報はmeme-insider.comで随時発信していますので、是非フォローしてください。

皆さんはどう思いますか?memeプロジェクトで似たようなエクスプロイトを見かけたことはありますか?コメントで意見を聞かせてください!

おすすめ記事