Fork and Rebrand プロジェクトの五層監査フレームワーク
確度確定更新2026-05-26要再確認2026-09-22出典3機械翻訳
目次
ウィキ上の位置づけ
このエントリは スマートコントラクト bytecode フォレンジック — 三層 verify 技術 の下にあります。ピア/コントラストのコンテキストについては システム基盤、より広範なシステム/規制の境界については FinWiki index と照らし合わせて読み取ってください。
[!info] 要約 プロジェクト側が著名なオープンソース・プロトコル(Uniswap、Compound、GMX等)を複製(Fork)してブランドを差し替え(Rebrand)、サービス開始する場合、伝統的なモノリシック・コード監査では大量の盲点が生じる。五層監査フレームワーク(5-Layer Audit Framework) は、この種のプロジェクトに専用設計された体系的な安全 / 起源監査手法で、コード差分、既知脆弱性の遺伝、コンパイル指紋、チーム関連性、コンプライアンス・リスクまでを網羅する。
中核メカニズム
Fork-and-Rebrand監査の中核思想は**「重要なのは変わらなかったコードではなく、何を変えたか、何を遺伝させたか、何を隠したか、である」**。
レイヤー 5: コンプライアンス & ライセンス監査 (ライセンス & コピーレフト検証)
└── レイヤー 4: チーム & デプロイヤー起源 (Team & Deployer Provenance)
└── レイヤー 3: コンパイル指紋 & バイトコード比較 (コンパイル指紋 & 差分)
└── レイヤー 2: 既知脆弱性 & 修正の遺伝 (Inherited Vulnerability Scan)
└── レイヤー 1: コードベース上流比較 (Upstream Source Diff)
レイヤー 1: コードベース上流比較 (上流ソース差分)
- 目的:フォーク・コードとオリジナル・コードの1行ごとの差分を厳密に識別する。
- 手法:
git merge-baseでフォークの正確なCommitノードを特定。- 純粋なリネーム置換(例:
UniswapV3を一括BrandSwapに置換)を剥離したうえでロジック差分を比較。 - レッドライン:中核数学ライブラリ(Math/SafeMath)、権限制御Modifiers、状態遷移ロジックに改変がある場合。
レイヤー 2: 既知脆弱性 & 修正の遺伝 (継承された脆弱性スキャン)
- 目的:オリジナル・プロトコルでforkポイント以降に開示された既知脆弱性が、当該プロジェクトで修正済みかを検証する。
- 手法:
- 上流プロトコルでforkコミット以降に発生した全脆弱性開示、監査レポート、GitHub Security Advisoriesを検索。
- 当該プロジェクト内の対応コード片を指定して点検。
- 典型的な失敗例:多数のCompound V2 Forkプロジェクトが2023-2024年において、オリジナルでは既に修正済みのRead-only Oracle Manipulation脆弱性を遺伝していた。日本のVASP側における同種の論点は JP VASP 安全監査認証体系 の強制disclosure要求を参照。
Layer 3: コンパイル指紋 & バイトコードコード比較 (コンパイル指紋 & 差分)
- 目的:三層 verify 技術 を用いて、チェーン上に実際にデプロイされているBytecodeが、プロジェクト側が主張するオープンソース・コードと完全に一致するかを検証する。
- 手法:
- メタデータ ハッシュ (Swarm/IPFS コンパイル 指紋) を剥離した後、実行時バイトコードの類似度を比較します。
- コンパイラ・バージョン(solc version)とEVMターゲット・バージョンの互換性差分を検証(例:PUSH0未対応チェーンでSolidity 0.8.20以上を強引にデプロイした場合のopcode異常)。
レイヤー 4: チーム & デプロイヤー起源 (チーム & デプロイヤーの来歴)
- 目的:プロジェクト背後の開発チームの真の学術 / 安全分野での背景や、過去の前科を識別する。
- 手法:
- デプロイヤー・アドレス(Deployer Address)の資金来源チェーンを抽出(司法級身元アンカーチェーン を活用)。
- 能動的に公開停止された内容の救出 — Wayback Machineをフォレンジック手段として使う が保存する過去ウェブページ、早期GitHubコミット記録のcommitter emailおよびPGP署名を活用し、チームの前科を特定。
- クロスチェーンで類似度が極めて高いunverifyコントラクトのバイトコード照合(Twin Fingerprint Mapping)。
レイヤー 5: コンプライアンス & ライセンス監査 (ライセンスとコピーレフトの検証)
- 目的:オリジナル・プロトコルのオープンソース・ライセンス制限(Business Source License, BSL 1.1 等)を監査し、侵害により法的差止やリクイディティ凍結のリスクに晒されることを防ぐ。
- 手法:
- BSL制限期間(例:Uniswap V3の2年BSL期間)が満了しているかを確認。
- GPL Copyleftの伝染性を確認:オリジナルがGPLの場合、当該プロジェクトは要求どおり改変後コードの全公開を行っているか。
適用シーン
- DeFiレゴ集約事業者:新型レンディング / DEXプロトコルを統合する前に、それが粗悪なForkでないかを評価。
- セキュリティ監査機関:プロジェクト側に対し、フォーク特化型の安全 / コンプライアンス・レポートを提供。規制下インフラのシーンでは、hook-enforced compliance パターンを参考に検出をランタイムへ前倒しすることも可能。
- 司法 / 被害回収のフォレンジック:ハッカー攻撃後、被害プロジェクトが上流既知脆弱性の遺伝により被害を受けたか判定し、責任の帰属を整理。主要事件としては DMM Bitcoin 流出事件 詳細分析 (2024-05) — Lazarus 帰属 4,502.9 BTC や Mt.Gox 破綻処理タイムライン(2014-2026) 等の歴史的パラダイムを参照。
関連の制約と境界
- ゼロ知識 / 非EVMチェーン:Solana、Aptos等の非EVMチェーン上ではバイトコード比較と指紋抽出に全く異なるツールチェーン(Anchor build検証等)が必要。許可型 / privacy-preserving型チェーン例えば Canton のDAML modelでは、contract-templateレベルの差分比較がさらに必要となる。
- 難読化コンパイラ:プロジェクト側が独自難読化技術を使用し、あるいはsolcコンパイラを改変している場合、Layer 3の類似度マッチング効果は大幅に低下する。
出典
- Uniswap v3-core LICENSE(Layer 5 の代表例: Business Source License 1.1、Change Date 2023-04-01、Change License GPL v2.0+) — https://github.com/Uniswap/v3-core/blob/main/LICENSE
- Compound Protocol リポジトリ(最も多くフォークされる Compound V2 系コードベース、Layer 1/2 の上流比較・既知脆弱性遺伝の対象) — https://github.com/compound-finance/compound-protocol
- GitHub Advisory Database(Layer 2 が参照する GitHub Security Advisories の公式データベース) — https://github.com/advisories
関連項目
- Wiki Index
- スマートコントラクト bytecode フォレンジック — 三層 verify 技術
- 司法級身元アンカーチェーン — 物理 / オンチェーン混合の帰属推定
- Wayback Machineを司法フォレンジック・ツールとして用いる標準手順
- モジュールパス詐称によるサプライチェーン攻撃 — 精密投毒メカニズム
#security#audit#smart-contract#forensic#open-source
発見
続けて読む
次に読む
- タイポスクワッティング・パッケージ検出チェックリスト — npm / PyPI / Go の名前混同トリアージmodule path confusion supply chain attack で文書化された module-path / replace ハイジャックは、その Go 風のいとこである: モジュールパス(単なる表示名ではなく)が上流になりすます一方、replace ディレクティブがフォークへ再ルーティングする。
- 能動的に公開停止された内容の救出 — Wayback Machineをフォレンジック手段として使う1. 直リンク取得 + HTTP code記録 — 現在404/403、数か月前は200という時系列自体が証拠になる 2. Wayback Machineの履歴スナップショット — web.archive.org/web// で全スナップショット時刻を取得 3. 最古 + 直近の2スナップショットを比較 — 静かな改訂や完全撤去が入っていないかを確認 4. PDFを直接ダウンロ...
- チームの真正な身元をめぐるフォレンジック・アンカーチェーン — 多源指紋の合成1. TLS証明書のSAN — ドメイン証明書内のSubject Alternative Names。同一ops拠点なら同じ証明書または発行機関を共用する傾向がある 2. GitHubアカウント登録時刻の集中度 — 複数アカウントが1時間以内に連続登録 = sock-puppetシグナル 3. Email ドメイン選好 — ProtonMail / iCloud / 自前ドメイ...
ここへリンク
- 金融における LLM・AI エージェントの応用 · 2026-05 応用領域の全体像2026, 半ば時点で、金融における LLM / AI エージェントの活用範囲は、本番稼働している領域(顧客向けチャットボット、バックオフィス自動化、不正・AML トリアージ、開発者向けコパイロット)と、制約付きパイロット段階の領域(取引シグナル生成、与信判断支援、アドバイザリー水準の推奨)の二極に分化している。前者のクラスターは、G-SIB において「標準ツール」の閾値を越え...
- スマートコントラクト bytecode フォレンジック — 三層 verify 技術このエントリは FinWiki index の下にあります。 ピア コンテキストについては fork-and-rebrand audit framework、より広範なインフラストラクチャ境界については systems index として読み取ってください。
- Etherscan verified ソース汚染 — なぜ「verified」は「バイトコード」ではないのか検証は、提出されたソースを宣言されたコンパイラ設定の下で再コンパイルし、その出力をデプロイされたバイトコードと比較する。その主張の強さはツールと一致の種類によって異なる:
- Git 履歴改竄の検出 — スカッシュおよび force-push された状態の復元force-push はリモートのブランチポインタを新しい履歴へ移動させる。押し出されたコミットは孤児になるが、次の GC サイクルまで残存する。ローカルでは git reflog が以前の正確なコミットハッシュを記憶し続け、git fsck が到達不能オブジェクトを列挙する。リモートでは、GitHub Events API が直近の PushEvent を before/af...