なぜEuler Financeは監査レポートがあったのに$1.97億ドルがハッキングされたのか?監査は実際に何を発見でき、何を発見できないのか?
Euler Financeのケースは「監査に合格したのにハッキングされた」最も典型的な例であり、明確なメカニズム的な理由があります。ハッキング前、Euler Financeには2社のトップセキュリティ会社(Sherlock・Halborn)の監査がありましたが、2023年3月の攻撃で悪用された脆弱性はいずれの監査の範囲にも含まれていませんでした。理由:Euler Financeは最後に監査されたコードバージョンの後に複数のアップグレードを行い、攻撃者はあるアップグレードで新たに導入された「donate機能」と「リザーブ」の間の論理的な相互作用の問題を悪用しました——そしてこのアップグレード後のコードは再監査されていませんでした。これは監査の最も根本的な限界を明らかにします:監査は「特定の時点での特定のコードバージョン」を審査するものです。監査が発見できるもの:既知の脆弱性タイプ(リエントランシー攻撃・算術オーバーフロー・アクセス制御の問題)・ロジックエラー・安全でない設計パターン。監査が保証できないもの:アップグレード後のコードの安全性;新たに導入された機能と既存機能の複雑な相互作用;未知の新しい攻撃タイプ。実際のアドバイス:DeFiプロトコルを選ぶ際は、最後の監査の日付を確認し、その後に重大なアップグレードがあったかどうかを確認してください。
「管理者秘密鍵(Admin Keys)」のリスクとは具体的に何を意味するか?マルチシグ(Multisig)は本当にこの問題を解決できるか?
管理者秘密鍵のリスクの本質:スマートコントラクトに単一の「オーナー(Owner)」アドレスが存在する場合、そのアドレスの保有者は他の誰の同意も必要なく高リスクな操作を実行できます——コントラクトの一時停止(すべてのユーザーが出金できなくなる)・金利パラメータの変更(ユーザーに不利な貸出条件にする)・コントラクトのロジックのアップグレード(アップグレードに悪意のあるコードを挿入する可能性)・場合によっては直接資金を移動させる。これはほとんどの「rug Pull」の技術的基盤です。マルチシグは確かにより安全な設計ですが、マルチシグ自体もゼロリスクではありません。Gnosis Safe(3/5マルチシグ)は5つの既知のアドレスのうち3つの共同署名が操作の実行に必要であることを意味します。タイムロック(Timelock)はマルチシグに加えたもう一つの保護層:管理者の操作が提出された後、実行まで24〜72時間待つ必要があり、ユーザーと外部のオブザーバーが発見して対応する時間を与えます。実際の確認方法:Etherscanでプロトコルのメインコントラクトを検索し、「Contract」タブのOwnerアドレスを確認し、そのOwnerアドレスがEOA(単一の秘密鍵)かGnosis Safe(マルチシグコントラクトアドレス)かを確認します。
Certik・Trail of Bits・OpenZeppelinなどの監査会社の実際の違いは何か?どの監査がより信頼できるかをどう判断するか?
監査会社の品質の違いは実際に存在しますが、「誰が1位」という単純なランキングで評価することはできません。以下はより実用的な評価フレームワークです。トップクラスの監査会社(技術的な深さと高品質の脆弱性の発見で知られる):Trail of Bits——深い技術研究で知られ、多くの先駆的なセキュリティ研究を発表しており、監査費用は高額(通常$10〜50万/プロジェクト)ですが、業界最高の技術的評判を持つ。OpenZeppelin——ERC-20・ERC-721などの主流トークン標準の元の実装者で、Ethereumエコシステムへの精通度は比類なく、OpenZeppelinが監査したプロトコルは通常最高の機関的信頼性を持つ。中級の監査会社(カバレッジは広いが深さは一定でない):Certik——監査量が最大で、数千のプロトコルに監査を提供してきましたが、監査の品質はまちまちで、「Certikの監査に合格した後でも問題が発生した」事例があります。評価基準:「監査があるかどうか」だけでなく、「監査会社自身が問題を発見したかどうか」も確認してください——「0つのCritical・0つのHigh問題」のレポートは、問題が見つからなかったことを意味するかもしれません(ポジティブ)、または監査の深さが不十分で問題を見逃したことを意味するかもしれません(ネガティブ)。
技術的な背景のないステーブルコインユーザーとして、毎回数時間の調査をせずに持続可能な「DeFiプロトコルのセキュリティ評価」の習慣をどのように構築するか?
技術的でないユーザーにとって、目標はスマートコントラクトのセキュリティの専門家になることではなく——「明らかに高リスクなプロトコルを排除する」基本的なスクリーニングの習慣を確立することです。以下は持続可能な3層フレームワークです。第1層(新しいプロトコルを初めて使用する前の5分間):DeFiLlamaでプロトコルを検索→TVLが$5億以上かつ2年以上存在しているか確認→監査レポートが存在するか確認(Securityタブ)→Etherscanでメインコントラクトが確認済みか確認。4つの条件がすべて満たされれば第2層のスクリーニングに進み;いずれかが満たされない場合、このプロトコルの検討を止めるか、配置比率を大幅に下げます。第2層(初回使用前の追加10分間、大きな金額を配置する予定のプロトコルについて):最新の監査レポートを開き、「エグゼクティブサマリー」でCritical/Highの問題がすべて修正されていることを確認→Xでプロトコル名+「hack」または「exploit」を検索して直近6ヶ月にセキュリティインシデントがないか確認→プロトコルにバグバウンティプログラムがあるか確認。第3層(継続的な監視、月10分):配置済みのプロトコルが重大なアップグレードを発表したか?
2023年、Euler Financeがフラッシュローン攻撃を受け、1億9,700万ドルの損失を被りました。2022年、Nomad Bridgeがハッキングされ1億9,000万ドルの損失。2021年、Cream Financeが3回ハッキングされ、累計損失が1億3,000万ドルを超えました。これらはすべてDeFiエコシステムで一流のプロトコルです——無名ではなく、監査レポートがあり、数十億のTVLをロックしていましたが、それでもハッキングされました。これは多くのユーザーをジレンマに陥れます:「DeFiプロトコルのスマートコントラクトのセキュリティをどのように評価すべきか?監査レポートを確認する?しかし監査に合格したプロトコルもハッキングされる……」この記事はより現実的なフレームワークを提供します:スマートスマートコントラクト監査役割と限界・高リスクコントラクトを識別する5つのシグナル・ステーブステーブルコインiプロトコルに預ける前に行うべき基本的なデューデリジェンス。
スマートコントラクト監査は独立したセキュリティ会社(Certik・Trail of Bits・OpenZeppelin・Halborn・PeckShieldなど)によるプロトコルのコントラクトコードの系統的なセキュリティレビューで、潜在的な脆弱性とリスクを特定します。典型的な監査レポートには以下が含まれます:監査されたコントラクトの範囲;発見された問題(重大度で分類:Critical・High・Medium・Low・Informational);各問題の説明と修正の推奨事項;プロトコルチームの応答と修正状況。監査の本当の役割:監査はリエントリエントランシー攻撃ーバーフロー・アクセス制御の脆弱性・フラッシュローン関連の脆弱性などの一般的な既知の脆弱性タイプを発見できます。監査の限界:監査はコードが「100%安全」であることを保証できません——監査会社自身がレポートにこれを明記しています。Euler Financeには2社の著名な機関の監査レポートがありましたが、ハッキング前の脆弱性はいずれの監査範囲にも含まれていませんでした——最後のアップグレードで導入されたもので、アップグレード後のコードは再監査されていなかったからです。
監査レポートから有用な情報を得るのにSolidityデベロッパーである必要はありません。注目すべきいくつかのセクション。ステップ1:監査の範囲(Scope)を確認する。監査レポートの冒頭には通常「監査範囲」の説明があり、監査されたコントラクトファイルのリストとGitのコミットハッシュ(コードバージョン識別子)が記載されています。確認すべきこと:主要なコアコントラクト(貸出プール・流動性管理・オラクル統合)が範囲内か?「Not in scope(監査範囲外)」のコントラクトが多ければ、監査のカバレッジが不完全かもしれません。ステップ2:CriticalとHighの重大度の問題の数と状態を確認する。Critical(致命的)の脆弱性:レポートに未修正のCriticalの問題がある場合、他のことに関係なくそのプロトコルを使用すべきではありません。ステップ3:監査のタイミングと最新コードとの対応関係を確認する。ステップ4:監査機関の評判を確認する。業界で認められた高水準のセキュリティ会社:Trail of Bits・OpenZeppelin・Spearbit・Cantina・Zellic・Halborn・ABDK。
DeFiでのステーブルコインの展開の前に、以下の5つの高リスクシグナルを素早くチェックしてください。シグナル1:監査なし、または知名度のない会社による監査。監査レポートが全くないプロトコル、または背景情報を一切見つけられない知名度のない会社による監査は最も基本的なレッドフラグです。シグナル2:コードがオープンソースでない。成熟したDeFiプロトコルは通常コントラクトコードをオープンソースにします(Etherscanで確認済み、またはGitHubで公開)。シグナル3:管理者権限が過大(Admin Keys)。「コントラクトの一時停止」「資金の凍結」「重要なパラメータの変更」ができる管理者キー(OwnerまたはAdmin)があるかどうかを確認します。管理者が不明なEOA(外部所有のアカウント)の場合、1人または少数の人がいつでもプロトコルの動作を変更したり資金を移動したりできます——これはほとんどの「Rug rugl(持ち逃げ)」の技術的基盤です。相対的に安全な設計:マルチシマルチシグウォレットtisig);タイムロック(Timelock)。シグナル4:安全でないオラクル(Oracle)統合。ステーブルコインと貸出プロトコルの多くの機能は外部価格データを提供する「オラクル」に依存します。シグナル5:TVLと年齢の組み合わせ。最もシンプルな「市場検証」指標です。3年以上稼働している$10億のTVLを持つプロトコルは、2ヶ月稼働してTVL$500万のプロトコルよりはるかに高いセキュリティを持っています。
スマートコントラクトのセキュリティの初期チェックを行うためにセキュリティの専門家になる必要はありません。DeFiLlama(defillama.com):プロトコルのTVL履歴・オンチェーンアドレス・監査レポートのリンクを確認(DeFiLlamaにはSecurityタブがあり、主要プロトコルの監査レポートへのアクセスが統合されています)。Immunefiのバグバウンティプログラム——プロトコルにバグバウンティプログラムがあるか確認します。バウンティプログラムを持つプロトコルは通常、外部のセキュリティ研究者が問題を見つけ続けることを積極的に奨励する意欲があることを示します——これはポジティブなセキュリティ文化のシグナルです。Etherscanのコントラクト確認ページ——プロトコルのメインコントラクトアドレスを検索し、コードがEtherscanで確認済みか(つまりオープンソースで誰でも読める)を確認します。
ステーブルコイン(USCC・USDSなど)をDeFiプロトコルに預ける前に、5分間の基本チェックを行うことをお勧めします:DeFiLlamaでプロトコルを検索し、TVL履歴と監査レポートのリンクを確認する;監査機関が信頼できるかどうか、レポートに未修正のCritical/Highの問題があるかどうかを確認する;コントラクトコードがEtherscanで確認済み(オープンソース)かどうかを確認する;管理者キーがマルチシグかタイムロックを使っているか確認する;プロトコルがどのくらい稼働していてどれだけのTVLがあるか。これら5つのチェックは「100%の安全」を保証することはできませんが、多くの明らかに高リスクなプロトコルを排除するのに役立ちます。技術的な詳細にまったく興味がない場合は、最もシンプルな原則は:2年以上稼働し、TVLが5億ドル以上で、複数の著名なセキュリティ会社の監査記録がある(Aave・Compound・Curve・Sky Protocolはすべてこの基準を満たしている)プロトコルのみを使用することです。高い収益は通常より新しく複雑なプロトコルに対応します——「なぜその収益を得られるのか」を理解することは常に「どのように最も多く稼ぐか」の前に来るべきです。