Back to Blog

#8: SushiSwap事件:不手際な救済試みから模倣攻撃の連鎖へ

Code Auditing
February 18, 2024

2023年4月9日、SushiSwapは検証されていない外部パラメータによりエクスプロイトの標的となりました。総損失額は約330万ドルです。

イーサリアム上で多くのユーザーを抱える主要なプロトコルとして、このようなトッププロトコルでさえ、コントラクトのアップグレード中に重大な新問題が発生する可能性があります。これはDeFiコミュニティにとって、セキュリティは常に最優先事項であるべきだというリマインダーです。 さらに、このセキュリティインシデントはホワイトハットセキュリティ研究者による救済の試みによって引き起こされ、コミュニティ内でかなりの議論を巻き起こしました。ここでは、このインシデントについて簡潔に紹介し、2023年のトップ10セキュリティインシデントの1つとして取り上げます。

背景

SushiSwap

有名なDEXであるSushiSwapは、Uniswapに対してバンパイアアタックを仕掛け、絶大な成功を収めました。ピーク時にはTVLは80億ドルに達し、現在でも約4億ドルを維持しています。

承認(Approval)

要するに、***「コントラクトがあなたのウォレットから特定のトークンにアクセスし、送金する許可」***のことです。

利便性のために、多くのコントラクトはデフォルトで無制限の承認を求めます。セキュリティリスクを懸念する多くのユーザーは、さまざまなプロトコルに少額しか預けませんが、これらのユーザーはプロトコルに無制限の資金承認を与えています。プロトコルが侵害された場合、アカウント内の承認されたすべてのトークンが失われる可能性があります。

脆弱性

検証されていない外部パラメータ

RouteProcessor2コントラクトのprocessRoute()は、ユーザーにパラメータrouteを通じてコールフローを完全に制御させます。 そしてuniswapV3SwapCallback()では、safeTransferFrom()のパラメータfromは、ユーザー提供のrouteからデコードされます。 その結果、RouteProcessor2コントラクトを承認していたユーザーは資産を失いました。

攻撃プロセス

このインシデントは複数の攻撃トランザクションを伴いましたが、最初の攻撃トランザクションを例に説明します。 トランザクション: 0x43ff7e01423044cfb501b4fe9ef1386725c0ddc117dadd6e6620cb68bdeaf4f9

  1. 攻撃者は、慎重に構築された長い引数routeを使用して、脆弱なRouteProcessor2コントラクトのprocessRoute()を呼び出しました。
  2. processRouteInternal()は、ユーザー提供のルートに基づいてInputStreamを作成します。
  3. トランザクションは、攻撃者のrouteに従い、swapUniV3()に到達しました。poolstreamからデコードされており、攻撃者がどのpoolswap()するかを制御し、それをlastCalledPoolとして設定したことに注意してください。
  4. これにより、攻撃者がデプロイした悪意のあるコントラクトが呼び出され、攻撃者は悪意のあるcalldataを渡してRouteProcessor2のuniswapV3SwapCallback()にコールバックしました。
  5. uniswapV3SwapCallback()はmsg.senderチェックを必要としますが、lastCalledPoolはすでに悪意のあるコントラクトに設定されていたため、ハッカーはチェックをバイパスしました。重要なのは、safeTransferFrom()のパラメータfromが、攻撃者が構築したcalldataからデコードされたことです。
  6. 被害者の資産は、攻撃者がデプロイした悪意のあるコントラクトに転送されました。

議論を呼んだホワイトハット救済

ユーザー名@trust__90によるホワイトハットがこの問題を特定し、資金の救済を試みましたが、この救済の試みが悲劇を引き起こしたことは言及する価値があります。

  • プライベートRPCではなく、メンプールを使用してトランザクションをブロードキャストしたこと。
  • リスクのあるすべての資金ではなく、100 Etherのみを救済しようとしたこと。

これにより、MEVボットやその他の攻撃者が複数のコピーキャットトランザクションを実行する道が開かれ、ほとんどの資金が流出しました。これらの出来事の後、@trust__90は批判に直面し、自身の行動を擁護しようとしました

BlockSecによる救済

この攻撃において、私たちは100 Etherを救済し、その資金を被害者である0xsifuに返還しました。

現在までに、私たちは20件以上の実際のハッキングを阻止し、1400万ドル以上の資産を救済しました。

セキュリティに関する推奨事項

アップグレードは常に監査を受けるべき

これはDeFiコミュニティにとって、セキュリティは常に最優先事項であるべきだというリマインダーです。監査はセキュリティを保証するものではありませんが、監査がないことが安全を保証するわけでもありません。

承認問題の緩和策

2023年には、承認攻撃に関連する多くのインシデントが発生しました。この機会に、承認の管理の重要性を改めて強調します。 セキュリティプラクティスとして、必要最低限の金額のみを承認するか、利便性を優先する場合は、必要額よりわずかに多い金額を承認することが推奨されます。

BlockSecのMetaSuitesは、便利な承認診断機能を提供しています。さらに、Revoke Cashのようなツールを使用して、承認ステータスを定期的に確認することができます。

モニタリングと自動応答メカニズムの導入

イーサリアムはダークフォレストであり、DeFiコミュニティの誰もが、セキュリティ専門家でさえ、さまざまなリスクや課題に直面しています。 2023年、私たちはPhalconをリリースしました。これは、攻撃を監視するだけでなく、リアルタイムで脅威を積極的にブロックするように設計された、業界初の自動応答システムです。Phalconの戦術的にテストされた機能は、20件以上の実際のハッキングを阻止し、1400万ドル以上の資産を救済したことでその有効性を証明しています。このイノベーションにより、すべてのステークホルダーは、投資を保護するための積極的な対策が講じられていることを知って、より安心して眠ることができます。

このシリーズの他の記事を読む:

Sign up for the latest updates
The Decentralization Dilemma: Cascading Risk and Emergency Power in the KelpDAO Crisis
Security Insights

The Decentralization Dilemma: Cascading Risk and Emergency Power in the KelpDAO Crisis

This BlockSec deep-dive analyzes the KelpDAO $290M rsETH cross-chain bridge exploit (April 18, 2026), attributed to the Lazarus Group, tracing a causal chain across three layers: how a single-point DVN dependency enabled the attack, how DeFi composability cascaded the damage through Aave V3 lending markets to freeze WETH liquidity exceeding $6.7B across Ethereum, Arbitrum, Base, Mantle, and Linea, and how the crisis forced decentralized governance to exercise centralized emergency powers. The article examines three parameters that shaped the cascade's severity (LTV, pool depth, and cross-chain deployment count) and provides an exclusive technical breakdown of Arbitrum Security Council's forced state transition, an atomic contract upgrade that moved 30,766 ETH without the holder's signature.

Weekly Web3 Security Incident Roundup | Apr 13 – Apr 19, 2026
Security Insights

Weekly Web3 Security Incident Roundup | Apr 13 – Apr 19, 2026

This BlockSec weekly security report covers four attack incidents detected between April 13 and April 19, 2026, across multiple chains such as Ethereum, Unichain, Arbitrum, and NEAR, with total estimated losses of approximately $310M. The highlighted incident is the $290M KelpDAO rsETH bridge exploit, where an attacker poisoned the RPC infrastructure of the sole LayerZero DVN to fabricate a cross-chain message, triggering a cascading WETH freeze across five chains and an Arbitrum Security Council forced state transition that raises questions about the actual trust boundaries of decentralized systems. Other incidents include a $242K MMR proof forgery on Hyperbridge, a $1.5M signed integer abuse on Dango, and an $18.4M circular swap path exploit on Rhea Finance's Burrowland protocol.

Weekly Web3 Security Incident Roundup | Apr 6 – Apr 12, 2026
Security Insights

Weekly Web3 Security Incident Roundup | Apr 6 – Apr 12, 2026

This BlockSec weekly security report covers four DeFi attack incidents detected between April 6 and April 12, 2026, across Linea, BNB Chain, Arbitrum, Optimism, Avalanche, and Base, with total estimated losses of approximately $928.6K. Notable incidents include a $517K approval-related exploit where a user mistakenly approved a permissionless SquidMulticall contract enabling arbitrary external calls, a $193K business logic flaw in the HB token's reward-settlement logic that allowed direct AMM reserve manipulation, a $165.6K exploit in Denaria's perpetual DEX caused by a rounding asymmetry compounded with an unsafe cast, and a $53K access control issue in XBITVault caused by an initialization-dependent check that failed open. The report provides detailed vulnerability analysis and attack transaction breakdowns for each incident.

Best Security Auditor for Web3

Validate design, code, and business logic before launch. Aligned with the highest industry security standards.

BlockSec Audit