Chainalysis、未検証コードのプロトコルから6カ月で3670万ドル流出と指摘

最大の被害はTruebitの2600万ドルで、Chainalysisは逆コンパイルされたバイトコードとAI支援分析により、古く未検証のコントラクトが悪用されやすくなっていると警告した。

ETH

要約

過去6カ月で、ソースコードが未検証のプロトコルから約3670万ドルが流出した。Chainalysisは、Truebit、Trusted Volumes、Aperture Finance、Ekuboへの攻撃を挙げた。最大の事例は1月に発生したイーサリアム基盤のプロトコルTruebitへの攻撃で、攻撃者は2021年にデプロイされ、Solidity v0.5.3でコンパイルされたコントラクトから2600万ドルを流出させた。ボンディングカーブにおける整数オーバーフローを悪用し、低コストでトークンを発行した後、ETHに換えたという。Chainalysisによると、侵害された4件のコントラクトはいずれも公開されたソースコードの検証が行われておらず、外部の幅広いレビューやバグバウンティの精査を受けないまま脆弱性が残存していた。攻撃者はDedaub、Heimdall、Panoramixなどのツールでオンチェーンのバイトコードを逆コンパイルし、その後AIシステムを使って、リエントランシー、算術、アクセス制御、入力検証、本人確認に関する弱点を大規模に検出できると同社は警告した。Chainalysisが同じ6カ月間に追跡したDeFi(分散型金融)の盗難総額10億ドル超に比べれば損失額の占める割合は小さいが、自動分析のコスト低下に伴いリスクは拡大する可能性があるとし、ユーザー資産を保有するコントラクトについては、プロキシ構造の背後にある実装コントラクトも含め、ソースコード検証、広範な監査、バグバウンティの適用を推奨した。

用語解説
  • ボンディングカーブ: 供給量や需要に応じてトークン価格が変動する、スマートコントラクト上の価格決定メカニズム。
  • バイトコード: オンチェーンにデプロイされたコンパイル済みのスマートコントラクトコードで、ソースコードが公開されていなくてもリバースエンジニアリングが可能である。
  • プロキシ構造: ユーザー向けコントラクトが別個の実装コントラクトにロジックを委譲するスマートコントラクト構成で、実装側もレビューが必要となる。