
ITmediaの整理によれば、過去1年間のソフトウェアサプライチェーン攻撃は「npm大量汚染」から「axios侵害」へと段階的に深刻化している。標的は個別のOSS依存関係から、AIコーディング支援ツールやCI/CDパイプラインへと拡大した。LaravelやDockerを軸にVite・composer.lockでビルドを行う環境でも、npm installを経由するフロントエンドツールチェーンは日常的に利用されており、看過できる領域ではない。
npm汚染の段階的拡大と自己伝播ワームの出現
2025年9月、npmレジストリで「debug」「Chalk」をはじめとする18の高頻度パッケージにマルウェアが混入されたと報じられた。各パッケージは週20万ダウンロードを超える利用規模であり、汚染はエコシステム全体に短時間で拡散したとされる。続く12月には「Shai-Hulud」と名指しされたワームが確認されている。npmの認証情報を窃取し、別のパッケージメンテナ名義で自動的に二次公開する機構を備え、被害は指数的に拡大したと推測される。攻撃の主目的はソフトウェアそのものの機能性よりも、依存解決チェーンの信頼破壊そのものへ移行している点が、技術的に重要な変化である。
Laravelプロジェクトでは package-lock.json を用いた依存関係の厳密固定が、npm側のフロントエンドツールチェーンに対する標準的な対策である。composer.lock との二重固定を行う運用も一般的である。一方で、npm install を含むViteビルド工程は依然として汚染の流入経路になりうる。自己伝播型ワームに対しては、ロックファイルの整合性検証とCIでの自動diff検出が現実的な防御線となる。バージョン番号の意図しない書き換えをCI段階で検出できる構成が、検知の最短経路である。
防御ツールとAIライブラリへの侵入と推測される
2026年3月には、OSS脆弱性スキャナであるTrivy自らがサプライチェーン攻撃を受けた事例が報告された。脆弱性検査そのものを標的とする構図であり、防御側の信頼前提そのものが揺らぐ。同年同月にはLLM統合ライブラリLiteLLMへの攻撃も観測され、いずれも同時期に観測された攻撃グループの関与が推測されている。攻撃の構造は、防御用ツールの汚染を介して別の開発者の認証情報を奪取し、依存解決プロセス全体を掌握する形へ進化している。防御策を導入する側が攻撃の起点になりうる点は、パラドックスとして看過できない。
4月にはHTTPクライアントaxiosの開発者アカウント侵害が発覚した。axiosはWeb全体のフロントエンド・バックエンド双方で参照される基盤的ライブラリであり、影響範囲は単一プロジェクトの枠を超える。Laravel+Inertia.jsやAPIクライアント実装においても広範に利用されており、axios公表値の全プロジェクトへの波及が懸念される。同時期、GitHubの公開リポジトリには500件超の不審なPull Requestが投げ込まれ、メンテナの認証情報を狙う継続的な工作と推測される事案も報告された。GMO Flatt Securityは当該事案について、ソフトウェア業界全体が未知の脅威に直面していると指摘した。
個人開発環境で実装可能な4経路の防御
攻撃経路は次の4点に集約され、それぞれに求められる対策は次のとおり整理されている。
- AIコーディング支援ツール:導入時の検証手順を組織内で明文化する
- 汚染マルウェアを含むパッケージの取込み:検証環境を構築し、依存導入前にスキャンする
- OSS依存関係:package-lock.json / composer.lock で厳密に固定し、CIで整合性を継続検証する
- CI/CDパイプライン:認証を長寿命のAPIキーからOIDC短命トークンへ移行する
これらは個人開発のスケールで導入可能な範囲に収まっている。攻撃単位が「汚染された単一パッケージ」から「開発プロセス全体」へ移行した以上、ロックファイルの厳密運用、OIDCによるCI認証、短命トークンへの移行、パッケージ取込み時の検証工程の整備を並行して進める必要がある。Dockerベースのイメージビルドを採用する場合も、ベースイメージと中間層の信頼性検証を併せて見直す契機となる。攻撃の主目的がソフトウェアの改竄から開発者自身の認証情報窃取へ完全に移行した点が、この1年の本質的な変化であり、依存パッケージ単位の注意力だけではもはや防げない領域に突入している。