モジュールパスの混乱 + ライセンスストリップ = サプライチェーン攻撃の三連撃
確度概ね確度あり更新2026-05-26要再確認2026-09-22出典3機械翻訳
ウィキ上の位置づけ
この項目は FinWiki index の下にあります。ピア コンテキストの場合は Fork and Rebrand プロジェクトの五層監査フレームワーク、より広い依存関係の境界の場合は システム基盤 で読み取ります。
[!info]要約 3の独立した操作の組み合わせで供給チェーン攻撃が形成される:(1) go.mod / package.jsonのモジュールパスでupstream(例:github.com/cosmos/…)を危称、(2) replace命令で危う称パスを自前のforkへハイジャック、(3)メインリポジトリのLICENSEを削除。下流ユーザーが「正規」パスをインポートすると、実際にはforkが実行される。規制下にあるVASPルートでは、この種の攻撃面はJP VASP 安全審計認証系で部分的にカバーされる。
1。モジュールパスの混乱
- Go:module github.com/cosmos/cosmos-sdk が実際のリポジトリは github.com/
/x - npm:name @cosmos/sdkでscopeが自社所有ではない
- ユーザーが go get github.com/cosmos/cosmos-sdk を取るGOPROXY経由で危称forkを取得する可能性がある
2。ハイジャックを置き換える
- go.mod内ではgithub.com/cosmos/cosmos-sdk => ./forkを置き換えます
- 上流ユーザーがプロジェクトを取り込むとreplaceが透過し、強制的にforkを使われる
- モジュールパスと秘密と二重の識別名となる
3。ライセンスストリップ
- メインリポジトリにLICENSEファイルを置かない
- 元プロジェクトがApache 2.0のフォークであっても、法的には下流ユーザーは無許可使用となります
- このステップは見落とされることが多いが、法の表面を無視して拡大させる
識別チェックリスト
- go.mod 1行 のモジュールパスと GitHub URL は一致しているか
- go.mod内にreplace命令はあるか
- メインリポジトリのルートにLICENSE / LICENSE.md / LICENSE.txtはあるか
- package.json の名前フィールドは npm レジストリ上の実際のスコープと一致しているか
- コミットメッセージに元のフォーク名(例:“for
” 等の自首文字列) が混入していないか
いつ使用するか
- プロジェクトが「完全に自社開発」と謳いつつ、リポジトリ構造がフォークに酷似している
- この依存に挑戦している下流ユーザーがサプライチェーン・リスクリスクを行うケース — Bybit Lazarus $14.6 億 ハック詳細分析 (2025-02) — 史上最大の暗号資産流出のような重大事件では、サード粒子依存側のソーシャルエンジニアリング/ビルドツールチェーン攻撃の実リスクが露呈
- 法務側が「この会社はどのOSSを使うか/承認は適切か」を評価するケース
使用してはいけない場合
- 「fork of X」を知らない、元LICENSEを保持しているプロジェクト — 合法なforkに該当
- 純粋なアプリケーション層でモジュールパス 概念が無いプロジェクト
- クローズド出典で監査不能なプロジェクト(別経路で対応する必要) —例許可型チェーンのCantonのようなケースは、出典差分ではなくガバナンス+監査経路をえる必要がある
来歴
- ケーススタディ(vaporware Audit):コードの大半が上流パブリックチェーン・プロジェクトから直接コピー、go.modで上流モジュールパスを指摘、replaceでローカルフォークにハイジャック、メインリポジトリのLICENSEを削除、コミットメッセージに上流プロジェクト名が漏れて自首した事例
#security/supply-chain#security/dependency#security/dd
発見
続けて読む
次に読む
- プロキシ・アップグレード可能コントラクトの rug パターン — admin のアップグレード権限がバックドアになるプロキシはすべての呼び出し(delegatecall)を、固定のストレージスロットに格納された implementation アドレスへ委譲する。ERC-1967 はそれらのスロットを標準化し、ツールが決定論的に見つけられるようにしている:
- 能動的に公開停止された内容の救出 — Wayback Machineをフォレンジック手段として使う1. 直リンク取得 + HTTP code記録 — 現在404/403、数か月前は200という時系列自体が証拠になる 2. Wayback Machineの履歴スナップショット — web.archive.org/web// で全スナップショット時刻を取得 3. 最古 + 直近の2スナップショットを比較 — 静かな改訂や完全撤去が入っていないかを確認 4. PDFを直接ダウンロ...
- Etherscan verified ソース汚染 — なぜ「verified」は「バイトコード」ではないのか検証は、提出されたソースを宣言されたコンパイラ設定の下で再コンパイルし、その出力をデプロイされたバイトコードと比較する。その主張の強さはツールと一致の種類によって異なる:
ここへリンク
- 金融における LLM・AI エージェントの応用 · 2026-05 応用領域の全体像2026, 半ば時点で、金融における LLM / AI エージェントの活用範囲は、本番稼働している領域(顧客向けチャットボット、バックオフィス自動化、不正・AML トリアージ、開発者向けコパイロット)と、制約付きパイロット段階の領域(取引シグナル生成、与信判断支援、アドバイザリー水準の推奨)の二極に分化している。前者のクラスターは、G-SIB において「標準ツール」の閾値を越え...
- Bybit Lazarus $14.6 億 ハック詳細分析 (2025-02) — 史上最大の暗号資産流出2025-02-21、Bybit の ETH コールドウォレットから約 $14.6 億 (約 2,200 億円) 相当の ETH + stETH + mETH 等が流出。史上最大の暗号資産盗難 であり、名目換算で Mt.Gox 2014 の 850,000 BTC を上回る規模。Chainalysis + Elliptic + ZachXBT が事件発生後即時に Lazarus...
- Git 履歴改竄の検出 — スカッシュおよび force-push された状態の復元force-push はリモートのブランチポインタを新しい履歴へ移動させる。押し出されたコミットは孤児になるが、次の GC サイクルまで残存する。ローカルでは git reflog が以前の正確なコミットハッシュを記憶し続け、git fsck が到達不能オブジェクトを列挙する。リモートでは、GitHub Events API が直近の PushEvent を before/af...
- タイポスクワッティング・パッケージ検出チェックリスト — npm / PyPI / Go の名前混同トリアージmodule path confusion supply chain attack で文書化された module-path / replace ハイジャックは、その Go 風のいとこである: モジュールパス(単なる表示名ではなく)が上流になりすます一方、replace ディレクティブがフォークへ再ルーティングする。