Back to Blog

#8:SushiSwap事件:稚拙な救済試みが連鎖的な模倣攻撃を招く

Code Auditing
February 18, 2024
6 min read

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ではなく、mempoolを使用してトランザクションをブロードキャストしたこと。
  • リスクのあるすべての資金ではなく、100 Etherのみを救済しようとしたこと。

これにより、MEVボットや他の攻撃者が複数のコピーキャットトランザクションを実行する余地が生まれ、ほとんどの資金が事実上吸い上げられました。これらの出来事の後、@trust__90 は非難に直面し、自身の行動を擁護しようとしました

BlockSecによる救済

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

現在までに、20件以上の実際のハッキングを阻止し、1400万ドル以上の資産を救済することに成功しています。

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

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

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

承認問題への緩和策

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

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

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

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

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

Sign up for the latest updates
~$15.9M Lost: Trusted Volumes & More | BlockSec Weekly
Security Insights

~$15.9M Lost: Trusted Volumes & More | BlockSec Weekly

This BlockSec bi-weekly security report covers 11 notable attack incidents identified between April 27 and May 10, 2026, across Sui, Ethereum, BNB Chain, Base, Blast, and Berachain, with total estimated losses of approximately $15.9M. Three incidents are analyzed in detail: the highlighted $1.14M Aftermath Finance exploit on Sui, where a signed/unsigned semantic mismatch in the builder-fee validation allowed an attacker to inject a negative fee that was converted into positive collateral during settlement; the $5.87M Trusted Volumes RFQ authorization mismatch on Ethereum; and the $5.7M Wasabi Protocol infrastructure-to-contract-control compromise across multiple EVM chains.

Newsletter - April 2026
Security Insights

Newsletter - April 2026

In April 2026, the DeFi ecosystem experienced three major security incidents. KelpDAO lost ~$290M due to an insecure 1-of-1 DVN bridge configuration exploited via RPC infrastructure compromise, Drift Protocol suffered ~$285M from a multisig governance takeover leveraging Solana's durable nonce mechanism, and Rhea Finance incurred ~$18.4M following a business logic flaw in its margin-trading module that allowed circular swap path manipulatio

~$7.04M Lost: GiddyDefi, Volo Vault & More | BlockSec Weekly
Security Insights

~$7.04M Lost: GiddyDefi, Volo Vault & More | BlockSec Weekly

This BlockSec weekly security report covers eight attack incidents detected between April 20 and April 26, 2026, across Ethereum, Avalanche, Sui, Base, HyperLiquid, and MegaETH, with total estimated losses of approximately $7.04M. The highlighted incident is the $1.3M GiddyDefi exploit, where the attacker did not break any cryptography or use a flash loan but simply replayed an existing on-chain EIP-712 signature with the unsigned `aggregator` and `fromToken` fields swapped out for a malicious contract, demonstrating how partial signature coverage turns any historical signature into a generic permit. Other incidents include a $3.5M Volo Vault operator key compromise on Sui, a $1.5M Purrlend privileged-role takeover, a $413K SingularityFinance oracle misconfiguration, a $142.7K Scallop cross-pool index injection, a $72.35K Kipseli Router decimal mismatch, a $50.7K REVLoans (Juicebox) accounting pollution, and a $64K Custom Rebalancer arbitrary-call exploit.

Best Security Auditor for Web3

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

BlockSec Audit