スマートコントラクト bytecode フォレンジック — 三層 verify 技術
確度 概ね確度あり
更新 2026-05-26
要再確認 2026-09-22
出典 3
機械翻訳 #security/forensic#security/smart-contract#security/dd
目次
ウィキ上の位置づけ
このエントリは FinWiki index の下にあります。 ピア コンテキストについては Fork and Rebrand プロジェクトの五層監査フレームワーク、より広範なインフラストラクチャ境界については システム基盤 として読み取ってください。
[!info] 要約 プロジェクト側の verified contract と GitHub ソースが一致しない場合、bytecode こそが ground truth になります。三層 verify: (1) オンチェーン deployed bytecode と GitHub source のコンパイル結果を比較し、(2) 4-byte PUSH4-EQ dispatcher を逆推して fn selector を抽出し、unverified コントラクトのインターフェイスを照合し、(3) クロスチェーン verified twin fingerprint でチームの実体を特定します。
レイヤー 1: デプロイされたものとコンパイルされたものの差分
- eth_getCode(addr, “latest”) でオンチェーンランタイムのバイトコードを取得
- GitHub出典 + プロジェクト側が知ったsolcバージョン + オプティマイザー設定でローカルコンパイル
- diffが空でない = オンチェーン版とGitHub版が不一致 = シグナル
- immutable / コンストラクター引数 / メタデータハッシュ差分は剥離して比較する点に注意
レイヤー 2: 4 バイト PUSH4-EQ ディスパッチャの逆推
- EVM コントラクトはディスパッチャー進入時にPUSH4 selector EQ JUMPIパターンで分岐
- 契約が検証されていなくても、オペコード列から全セレクターを抽出可能(4-byte)
- 4byte.directory / openchain.xyzでfn署名を逆引き
- ERC-20 /一時停止/ブラックリスト/移行等のセンシティブナインターフェイスにヒット =
レイヤー 3: クロスチェーンで検証されたツイン フィンガープリント
- 同一チームが複数チェーンへデプロイした際、一方はverified、他方はunverifiedというケースは頻出
- 検証済み側のランタイムバイトコード(メタデータハッシュ剥離後)をフィンガープリントとして利用
- unverifiedチェーン側ではbytecode類似度マッチング(SimHash / k-gram等)を実施
- ヒット = 同一チーム = 身元アンカー — 商用 グローバル暗号資産フォレンジックベンダー層 — Chainalysis / Elliptic / TRM / Crystal 比較 はこの層をクロスチェーンclusterラベルライブラリとして商品化している
使う場面
- 中核となる契約(ブリッジ/保管庫/ガバナンス)が意図的に検証されていない
- プロジェクト側のGitHubは既に削除されたがコントラクトはまだ稼働しているケース
- クロスチェーン・プロジェクトで「表向きの体制 vs 真の開発チーム」を識別したいケース
- バックドア/緊急一時停止/ブラックリストインターフェイスの存在を疑うケース — DMM Bitcoin 流出事件 詳細分析 (2024-05) — Lazarus 帰属 4,502.9 BTC や Bybit Lazarus $14.6 億 ハック詳細分析 (2025-02) — 史上最大の暗号資産流出 のような取引所事件では、攻撃者が未確認の中継契約をデプロイした事例が存在
使わない場面
- 既に完全にverifiedかつ出典が信頼できるコントラクト(直接出典を読めば足りる)— この場合は 形式化仕様 ↔ 実装の co-design 等の仕様優先アプローチがより有効
- プロキシ契約(EIP-1967 ストレージスロットから実装を特定した交渉実施)
- 純粋にread-onlyのviewコントラクト(リスクが低い)
根拠
- ケーススタディ:オンチェーンで一部の中核コントラクトは検証済みだが、ブリッジ/ボールト系の一部はクローズド出典・三層検証で未検証コントラクトのインターフェイスを逆推し、クロスチェーンツイン指紋でチーム元をロックした
Discovery
続けて読む
次に読む
- Etherscan verified ソース汚染 — なぜ「verified」は「バイトコード」ではないのか このエントリは security domain の配下にある。実地の対応物として bytecode forensic three-tier verify と併せて読み、表示されているソースが本物であっても 次の implementation がそうではないケースについては proxy-upgrade rug pattern と併せて読むとよい。 security/etherscan-verified-source-poisoning
- Git 履歴改竄の検出 — スカッシュおよび force-push された状態の復元 このエントリは security domain の配下にある。これは Wayback Machine as a forensic tool(公開停止された web コンテンツを復元する)のソースコード版に相当し、書き換えが消去しようとしたコミッターのメールアドレスやタイムスタンプを復元することで、forensic identity anchor chain における peopl... security/git-history-rewrite-detection
- プロキシ・アップグレード可能コントラクトの rug パターン — admin のアップグレード権限がバックドアになる このエントリは security domain の配下にある。依存するオンチェーン検証の仕組みについては bytecode forensic three-tier verify と併せて読み、アップグレード可能プロキシが現在デフォルトのデプロイ形態となっている、より広いスマートアカウントの文脈については ERC-4337 overview と併せて読むとよい。 security/proxy-upgrade-rug-pattern
ここへリンク
- AI エージェントのための ERC-4337 アカウント抽象化入門 ERC-4337 は、Ethereum アドレスが単一の secp256k1 鍵ではなく任意のコードによって制御されることを可能にする、アプリケーション層のアカウント抽象化標準である。AI エージェントにとって、これは 「エージェントにユーザーのシードフレーズを渡さなければならない」(安全でなく、取り消し不能)と 「エージェントは、スコープ付き・取り消し可能・スポンサー可能な実... agent-economy/erc-4337-account-abstraction-primer-for-agents
- GMO インターネットグループ このエントリは business INDEX の下に位置する。ピア / 対照の文脈については 三身分COIテンプレート · VC GP + 大口顧客Board + 被投資先CEOの三角構造が複製不能となる理由 と、より広範なシステム / 規制境界については fintech index と併せて読むこと。 business/gmo-internet-group
- Bybit Lazarus $14.6 億 ハック詳細分析 (2025-02) — 史上最大の暗号資産流出 本項目は exchanges index の配下に位置する。ピア比較・対照の文脈では DMM Bitcoin 流出事件 詳細分析 (2024-05) — Lazarus 帰属 4,502.9 BTC とあわせて読み、より広いシステム・規制境界については FSA 暗号資産交換業登録制度 — 番号体系・財務局管轄・登録要件 を参照する。 exchanges/bybit-lazarus-hack-detailed-analysis
- CEX matching engine + cold/hot ウォレット内部架構 本項目は exchanges index 配下に位置する。比較・対照の文脈では 国内 VASP コールド保管 95% + 分別管理制度、より広いシステム上・規制上の境界については FSA 暗号資産交換業登録制度 — 番号体系・財務局管轄・登録要件 とあわせて読む。 exchanges/cex-matching-engine-wallet-architecture
- Coincheck NEM 580 億円流出事件 詳細分析 (2018-01) この項目は exchanges index 配下に位置する。DMM Bitcoin 流出事件 詳細分析 (2024-05) — Lazarus 帰属 4,502.9 BTC とあわせて読むと同業比較・対照の文脈が分かり、FSA 暗号資産交換業登録制度 — 番号体系・財務局管轄・登録要件 とあわせて読むとより広い制度・規制境界が分かる。 exchanges/coincheck-nem-hack-detailed-analysis