もしmemeトークンや暗号プロジェクトの動向を追っているなら、最近のNGPトークンへの攻撃についての話を耳にしているはずです。New Gold Protocolが発行したこの事件は、Binance Smart Chain(BSC)上で発生し、合計で約200万ドルの損失を招きました。ブロックチェーンセキュリティ企業のBlockSec Phalconの調査により、どのように事が進んだかが明らかになっています。ここでは、技術的な点を初心者にも分かりやすく、段階を追って説明します。
NGPトークンに何が起きたのか?
BlockSec Phalconの監視システムは、2025年9月18日にこの攻撃を検知しました。典型的な価格操作(price manipulation)の手口で、攻撃者はトークン自身のルールを悪用して利益を上げました。BSCはEthereumに似たブロックチェーンプラットフォームで、手数料が安くトランザクションが速いことからDeFiやmemeトークンの取引によく使われますが、その分脆弱性が狙われやすい面もあります。
根本原因は、NGPスマートコントラクトの2つの大きな設計上の欠陥でした。
Bypassing Buy Limits(購入制限の回避): トークンは一度に購入できる量(maxBuyAmountInUsdt)や購入間のクールダウン期間を制限していました。しかし、受取先アドレスを「デッド」アドレス(例:0x000...dEaD、暗号界で一般的なバーンアドレス)に設定することで、攻撃者はこれらの制限を完全に回避できました。
Fee Sync Abuse(手数料同期の悪用): NGPを売却する際、コントラクトは手数料を考慮して流動性プールを更新(sync)します。この同期処理が悪用可能で、人工的にトークン価格を押し上げることができました。
攻撃の流れ
攻撃者は複数のアカウントを巧みに使い、すぐには検知されないように進めました。以下はその手順です。
安値での初期購入: まず安価な価格でNGPを購入し、複数のアカウントに分散して保有量を確保しました。
スワップによる価格上昇: 次に、PancakePairの流動性プールでBUSD(米ドルに連動するstablecoin)を大量にNGPにスワップしました。PancakeSwapはBSCで広く使われる分散型取引所で、EthereumのUniswapに相当します。転送先をデッドアドレスにルーティングすることで購入上限やクールダウンを無視し、制限なく大量のNGPを蓄積しました。
- プールの枯渇: 大量のNGPを抱えた状態でプールに売り戻し、BUSDを排出しました。手数料はトレジャリーや報酬などに差し引かれましたが、その結果プール内のNGP残高はほとんど残らない状態になりました。その結果、希少性による価格の大幅上昇が発生し、攻撃者は操作から大きな利益を得られる状況を作り出しました。
報告によれば、攻撃者は盗んだ資金(約443.8 ETH相当)をTornado Cashに流し、追跡を難しくしました。NGPの価格はわずか1時間で88%下落し、ホルダーの価値は大きく消失しました。
memeトークン愛好家への教訓
今回のNGPの脆弱性は、特に勢いで立ち上がることの多いmemeトークンにおいて、スマートコントラクトの監査がいかに重要かを改めて示しています。未検証のアドレス入力や同期メカニズムの欠陥は、プロジェクトをハッカーの格好の標的にしてしまいます。BSC上でトークンを取引・保有する際は、BlockSecやPeckShieldのような信頼できる企業による監査が行われているかを必ず確認してください。
詳しくは、PhalconのXでの元アラートをチェックしてください。暗号のジャングルでは知識が最大の防御です。今回のような攻撃や類似の事例について意見があれば、コメントでぜひ共有してください。