本文へ移動
SaferICO SaferICOスマートコントラクトのセキュリティ
公開資料 — アカウント不要、支払い不要

数十億が消えました。 コードは残っています。

大きな攻撃はどれも、今日でも読める 1 行か 2 行のコードを残しています。この資料は記録に残る最大級の事件を集めたものです。段階を追った侵入経路、壊れていた関数そのもの、修正方法、そして事後報告へのリンク。

実際のコード出典をたどれます事件ごとに侵入経路自由に閲覧できます
//何が読めるか

他人の惨事を なぜ読むのか

ニュースの一覧ではありません。それぞれの事件は、ご自身のコードに当てはめられる 1 つの教訓へ分解されています。

侵入経路

最初の一手から資金の流出まで。攻撃者が何を、どの順で呼び、なぜその順序でうまくいったのか。

壊れていたコード

事件当時のその関数の姿。欠陥についての説明ではなく、欠陥そのものを目で読めます。

修正

事後に何が変わったのか、そして最初から防げていた安全な書き方。

脆弱性の分類

各事件が、属する脆弱性のカテゴリと、当社の脆弱性データベースの同カテゴリの項目にリンクします。

出典

元の事後報告と、独立したセキュリティ分析へのリンク。どの数字もご自身で確かめられます。

カテゴリで絞り込み

年、チェーン、脆弱性の種類で絞り込めます — 例えばリエントランシーの事件をまとめて読みたいときに役立ちます。

ツール本体(スキャナー、各ダッシュボード、SAFI ワークスペース)のインターフェースは現時点では英語です。これらのページは、その中に入る前にすべてを日本語で説明するためにあります。

繰り返し現れる 1 つの教訓

これらの事件は細部では大きく異なりますが、原因においては不安になるほど似ています。

⚠️ これらのプロジェクトの多くは、監査を受けていました

この資料からもっとも居心地の悪い結論はこれです。ここに挙がるプロトコルの多くは、破られる前に監査を通過していました。監査は確率を下げますが、ゼロにはしません。

確率をより下げるのは 1 通のレポートではなく、複数の層です。監査、ローンチ後の継続的モニタリング、支出の上限、そして素早く止血する能力。損失が小さく済んだ事件は、まさに最後の層を持っていたところです。

01もっともよくある誤りは、数学の中にはありません

リエントランシーと権限の中央集権が、損失総額のかなりの部分を説明します。どちらも何年も前から知られており、どちらも今なお繰り返されています。

コントラクトのロジックを変えられる秘密鍵 1 本は、周りのコードがどれほどよく書かれていても、単一障害点です。

02ブリッジとオラクルはリスクを重ねます

ブリッジは巨額の残高を抱え、外部から来るメッセージを信じます。オラクルは操作されうる価格を運び込みます。この 2 つの領域の大きな事件はどれも、同じ考えから生まれています — データを、それが値する以上に信じてしまったこと。

03実務でどう使うか

  • ローンチ前に、同じ脆弱性カテゴリでご自身のコントラクトをスキャンする
  • ローンチ後は継続的モニタリングを動かす — X で知るより速いからです
  • 秘密鍵 1 本でできることを制限し、危険な権限にはタイムロックをかける
//よくある質問

この資料に ついて

閲覧は自由ですか。
はい。事例集の全体がアカウントも支払いもなしで読めます。参考資料であり、サブスクリプションの裏に置くことは、その用途に反します。
この数字はどこから来ていますか。
公開された事後報告と、セキュリティ企業の分析からです。事件ごとに出典へのリンクが付いています。損失額の推定が出典によって食い違う場合は、もっとも大きい数字を選ぶのではなく、その食い違いを明記します。
一覧は更新されますか。
十分に大きな事件が起きたとき、あるいは既存の事件についての理解を変える事後報告が出たときに、見直して追加します。
自分のコードに同じパターンがないと、どう確かめればよいですか。
スキャナーを開き、コードかコントラクトアドレスを貼り付けてください。これらの事件を分類しているのと同じ検出ルールが動きます。各カテゴリの詳しい解説は、当社の脆弱性データベースにあります。

送金する前に、コントラクトをスキャン

コントラクトアドレスを貼り付ければ、リスクを取る前にオーナー権限、流動性、売却シミュレーションの結果が分かります。1 回ごとに少額の手数料がかかり、金額は署名の前に表示されます — どのプランでも、加入後は無制限に含まれます。