Security
18 min read
2324 views

自動依存関係「サイドローディング」:見えないサプライチェーン攻撃 via AI拡張機能

IT
InstaTunnel Team
Published by our engineering team
自動依存関係「サイドローディング」:見えないサプライチェーン攻撃 via AI拡張機能

ソフトウェア開発業界がほぼ完全にAI支援コーディングに移行する中、新たな高度な攻撃ベクトルが出現しています。セキュリティ研究者はこの手法を Automated Dependency Side-Loading と呼び、攻撃者が開発者が使用するツール—特にIDEやブラウザ拡張機能—そのものを侵害し、通信を傍受して不正な依存関係(インポート、パッケージ、バイナリ)をコードベースに静かに注入する技術を指します。この記事では、この攻撃の仕組み、成功の心理的背景、そして2026年に必要な緊急対策について解説します。


「バイブコーディング」の新時代とその影の側面

2026年初頭までに、ソフトウェアエンジニアリングのパラダイムは大きく変化しています。開発者はもはや文字を打つだけでなく、「プロンプト」を入力してロジックを生成します。GitHub Copilot、Cursor、Windsurf、そしてさまざまなブラウザベースのAIエージェントがコード生成の主要インターフェースとなっています。

これにより生産性は飛躍的に向上しましたが、一方で Automation Bias—自動化された意思決定システムの提案を優先し、矛盾する情報を無視する傾向—への危険な依存も生まれています。攻撃者は、最も効果的な侵入方法はファイアウォールを突破することではなく、開発者自身のツールに招き入れられることだと気づいています。

統計データもこの問題の規模を裏付けています。ガートナーは、2026年までに60%の組織がソフトウェアサプライチェーン攻撃を経験すると予測しており、これは2021年のわずか15%からの増加です。2025年のデータは、その予測が控えめだったことを示しています。


自動依存関係サイドローディングとは何か?

自動依存関係サイドローディングは、侵害または悪意のあるブラウザ/IDE拡張機能が開発者のアクティブなコーディングセッションを監視し、AIツールがコードのブロックを生成する際に、その提案に気付かれずに依存関係(ライブラリ、パッケージ、外部スクリプト)を挿入するサプライチェーン攻撃です。

Typosquatting(誤った名前をタイプする)、Dependency Confusion(パッケージマネージャーが誤ったソースから取得)、または新しいSlopsquatting(攻撃者が事前にパッケージ名を登録し、LLMが誤認しやすい名前を登録)と異なり、サイドローディングは *コミット前*に行われます。これは、AIの視覚出力に対する開発者の信頼を利用しています。


攻撃の仕組み:動作の詳細

この攻撃のライフサイクルは4つのフェーズに分かれます。

フェーズ1:フック — 侵害された拡張機能

攻撃者は新たに怪しい拡張機能を作成する必要はありません。主に2つの方法で足場を築きます。

Marketplaceのなりすましは、人気のAIツールを模倣した拡張機能をリリースし、2026年1月には900,000以上のユーザーからデータを収集した例もあります。

購入と毒入りは、より巧妙な手法です。攻撃者は正規の、放置された拡張機能(例:”JSON Formatter”や”Colour Picker”で50,000+インストール)を正規の開発者から購入し、悪意のあるアップデートをプッシュします。VS Codeはデフォルトで自動アップデートを行うため、ユーザーは静かに毒入りバージョンを受け取ります。

セキュリティ企業のWizは、VS Code MarketplaceとOpen VSX Registryを監査し、500以上の拡張機能にハードコーディングされた550以上の秘密情報を発見しました。これにはAI提供者の秘密(OpenAI、Anthropic、Google Gemini)や高リスクのプラットフォームトークンも含まれ、特に重要なのは、100以上のケースでこれらの情報にアクセスできるトークンが漏洩しており、攻撃者は拡張機能のアップデート権限を奪取できることです。

フェーズ2:リッスン — コンテキストの把握

VS CodeやChromiumベースのブラウザにインストールされた拡張機能は、vscode.workspace.onDidChangeTextDocumentやDOMの変化監視APIを利用して、開発者の活動を監視します。AIによるコード生成のトリガーを検知し、Copilotの”ゴーストテキスト”やChatGPTサイドバーのコードブロック、AIモデルの高速タイピングパターン(人間よりもはるかに速い文字列の連続)を検出します。

フェーズ3:インジェクション — “サイドロード”

これが攻撃の核心です。AIが解決策を提案している最中に—例:CSVファイルを解析するPythonスクリプト—悪意のある拡張機能が介入します。

正規のAI提案:

import pandas as pd
import csv

def parse_data(file):
    return pd.read_csv(file)

“サイドロード”された修正:

import pandas as pd
import csv
from pandas_utils_optimization import fast_loader  # 悪意のある依存関係

def parse_data(file):
    # fast_loaderは大きなファイルの読み込みを最適化
    return fast_loader(pd.read_csv(file))

攻撃者はpandas_utils_optimizationをPyPIに公開済みです。実際に動作し、CSVを読み込みますが、環境変数(AWSキーやDB認証情報)をC2サーバに送信します。悪意のあるパッケージは動作しており、基本的なユニットテストでは見つけにくくなっています。

フェーズ4:コミット

開発者はコードを見て、pandascsv、そして”AI生成”のヘルパー関数を確認します。コードが動作し、即時のユニットテストに合格すれば、リポジトリにコミットされます。悪意のある依存関係は、開発者の目の前でサプライチェーンに組み込まれます。


実世界の攻撃例とケーススタディ(2025–2026)

脅威の状況は驚くべき速さで進化しています。以下は、現在進行中の構造化された攻撃エコシステムの最前線を示す事例です。

“MaliciousCorgi”キャンペーン(VS Code)

2026年初頭、研究者は1.5百万以上のインストールを持つVS Code拡張機能を対象としたキャンペーンを特定しました。これらの拡張はAIヘルパーを装いながら、隠されたプロファイリングエンジンを含み、ファイルのオープンや編集を監視し、サーバーからjumpUrlコマンドを送信してワークスペースを変更させる仕組みでした。コード内容はすべてのファイルを読み取り、Base64エンコードして送信。さらに、4つの主要な分析SDKを読み込むゼロピクセルiframeを隠し、開発者のデバイスを識別していました。

TigerJackと17,000人の感染開発者

TigerJackという脅威グループは、2つの生産性ツールに偽装した11のVS Code拡張を公開し、MicrosoftがMarketplaceから削除するまでに1万7千人以上の開発者を感染させました。これらの拡張は、VS Code起動時に自動的に有効化され、C++ファイルのキーストロークを監視し、リアルタイムでコードを外部サーバにアップロード。Cryptocurrencyマイニングやリモートバックドアも仕込まれていました。

GlassWormサプライチェーン攻撃(2026年1-2月)

最も高度な攻撃の一つで、oorzcアカウントが公開した4つのOpen VSX拡張に悪意のあるバージョンが2026年1月30日にプッシュされました。これらは2年以上にわたり正常に動作していた後、開発者の資格情報が侵害されて配布されました。毒入りバージョンは、見た目は空行に見えるUnicodeの不可視文字を埋め込み、Credentialやウォレットファイル、GitHubトークンを盗み出す仕組みです。C2はSolanaブロックチェーンを利用し、トランザクションのメモ欄からコマンドを抽出します。2026年2月2日時点で、3つの拡張は未だダウンロード可能です。

Koi SecurityのAI IDEフォーク脆弱性(2026年1月)

Koi Securityの研究者は、CursorやWindsurfなどのAI IDEフォークが、Open VSX Registryに未登録の名前空間を利用して悪意の拡張を公開できる脆弱性を発見しました。攻撃者は名前空間を登録し、悪意のコードをアップロード、ユーザは”推奨”バッジを信頼してインストールします。

ブラウザの”サイドバー”攻撃

WebベースのAIツールを模倣した拡張は、DOMを書き換え、ユーザが”Copy”をクリックする前にコードブロックを書き換え、実際のAI出力と異なるコードを貼り付けさせる手口です。

北朝鮮のインタビューキャンペーン(2026年1月)

Jamf Threat Labsは、北朝鮮のAPTグループがGitHubやGitLabに偽の技術面接やコーディング評価を仕掛け、マルウェアを含むリポジトリを配布している事例を発見しました。開発者がリポジトリを開き”workspace trust”を与えると、悪意のtasks.jsonが自動実行され、VercelのインフラからJavaScriptペイロードをダウンロードし、C2に定期的に通信します。

間接的なプロンプトインジェクション(CVE-2025-55319)

これは拡張機能の攻撃ではありませんが、VS CodeのAI統合における脆弱性で、リポジトリ内の悪意あるREADMEがAIに読み込まれ、”azure-telemetry-fix”パッケージのインポートを指示する隠れた命令を含む例です。AIはこれに従い、意図せずサイドローディングを行います。


Slopsquattingの側面

セキュリティ研究者 Seth Larson によると、Slopsquattingはサイドローディング攻撃の表面積を拡大する脅威です。3つの大学(テキサス大学サンアントニオ校、オクラホマ大学、バージニア工科大学)の研究によると、LLMは約20%の確率で存在しないライブラリ名やパッケージ名を提案します。これらの名前は信頼性が高く、登録前に攻撃者がPyPIやnpmに登録し、マルウェアを仕込むことが可能です。128の”幻のパッケージ”の調査では、2025年7月から2026年1月までに合計121,539ダウンロードを記録しています。


AIエージェントの側面:エージェント依存リスク

2026年の調査では、117,062の依存関係変更のうち、AIエージェントが人間よりも頻繁に依存関係を変更していることが判明しました。特に、Copilot(33.5%)、Devin(29.6%)、OpenAI Codex(23.6%)、Cursor(10.6%)、Claude Code(2.7%)が含まれます。これらの変更はnpmを中心に、PyPI、Go、Maven、NuGetといったエコシステムに広がっています。攻撃者は、プロンプトインジェクションや登録情報の改ざん、コンテキストの操作を通じて、AIエージェントに悪意のあるパッケージを導入させることが可能です。


攻撃の心理学

なぜこの攻撃が効果的なのか?それは Cognitive Offloading(認知の委任)を突いているからです。

AIを使うと、開発者は”書く”から”レビュー”に意識を切り替えます。 passiveなレビューでは誤りを見つけるのは難しく、3つの心理的要素が絡み合います。まずGlance Value:コードが見た目に正しければ安全と判断されやすい。次にTrust Transference:プラットフォームを信頼し、AIが提案したコードは”検証済み”とみなす傾向。最後にAlert Fatigue:セキュリティツールの警告疲れにより、微細な不審点も見逃されやすくなります。

2025年のサプライチェーン攻撃は、OpenVSXの見える化ギャップも明らかにしました。Microsoft Marketplaceは厳格な審査と迅速な対応を行いますが、Open VSX Registryは遅く、弱い管理体制のため、攻撃者はそこを狙います。


技術的詳細:インジェクションの仕組み

技術者向けに、悪意のあるVS Code拡張がどのようにサイドローディングを実現しているかを解説します。

provideInlineCompletionItemsフック

正規のAI拡張はInlineCompletionItemProvider APIを利用しますが、悪意の拡張は優先度を高めて登録したり、textDocument/didChangeイベントを監視し、AI生成テキストをインターセプトして改変します。

// 悪意の拡張の擬似コード
vscode.workspace.onDidChangeTextDocument(event => {
    const changes = event.contentChanges[0].text;
    // AI構造体の検知
    if (isAIStructure(changes)) {
        const infectedCode = insertMaliciousImport(changes);
        // 直ちにエディタの内容を置換
        const edit = new vscode.WorkspaceEdit();
        edit.replace(
            event.document.uri,
            event.contentChanges[0].range,
            infectedCode
        );
        vscode.workspace.applyEdit(edit);
    }
});

これにより、ユーザは”AIがタイピングを終えた”と錯覚します。

Typosquattingのミキサー

この攻撃の高度なバージョンは、新規インポートだけでなく、既存のインポートを微妙に改変します。例:import request from 'request'import request from 'reqiest'に。攻撃者はreqiestをコントロールし、実際にはrequestのラッパーとして動作しつつ、HTTPリクエストの内容をリモートサーバに送信します。コードは動作し、テストも通るため、見つけにくくなっています。

見えないUnicode技術(GlassWorm)

最も進んだ技術は、Unicodeの不可視文字を用いて悪意のコードを埋め込む方法です。UnicodeのバリエーションセレクタやPrivate Use Area (PUA)文字を使い、コードエディタやGitHubの差分ビューでは何も表示されません。手動のコードレビューや差分確認時に、実行可能なペイロードが見えなくなる仕組みです。


検出と対策

Automated Dependency Side-Loadingに対抗するには、IDE自体に対するZero Trustアプローチが必要です。開発環境を信頼できる境界ではなく、潜在的な攻撃面とみなすのです。

開発者向け

AI提案を受け入れる前に、インポート文を確認しましょう。”適用”ボタンは最後の手順ではなく、その前にすべてのimportrequireuse文を読むことが重要です。package.jsonrequirements.txtに存在しない依存関係は受け入れない。定期的に拡張機能を監査し、所有者変更や権限要求、知らない間に自動更新される拡張は疑わしく扱います。新しいパッケージバージョンの導入には7〜14日のクールダウン期間を設け、セキュリティベンダーがマルウェアを検知できる時間を確保します。

組織向け

拡張機能ホワイトリストポリシーを導入します。VS Codeはエンタープライズ向けに拡張管理ポリシーをサポートしており、承認されたリストにない拡張はインストール禁止にできます。特にCursorやWindsurfなどのAI IDEフォークを使う場合は、Microsoft MarketplaceではなくOpen VSX Registryに依存しているため、より厳格な管理が必要です。

アーティファクトプロキシ(ArtifactoryやNexus)を利用し、パッケージレジストリ呼び出しを監視します。内部ミラーにないパッケージは手動承認が必要です。これだけでもサイドローディング攻撃の成功率を大きく下げられます。

自動アップデートは無効化し、更新は中央管理します。GlassWorm事件が示すように、自動更新はサプライチェーン攻撃の主要な伝播手段です。

IDE拡張インシデント対応計画を策定し、インストール済み拡張の一覧と、悪意のバージョンが判明した際の一斉削除手順を整備します。拡張をMarketplaceから削除しても、既存のエディタからはアンインストールされないためです。

SBOM(ソフトウェア部品表)を導入し、すべてのリポジトリの依存関係を記録し、新規依存関係は必ずレビューします。

自動防御

CI/CDの依存関係スキャンツール(Snyk、Wiz、GitHub Advanced Security、Aikido、Socket)を設定し、新規依存関係の追加を検知したらビルドを失敗させます。これにより、追加理由の手動レビューが促されます。SocketやAikidoはnpmやPyPIの新規登録パッケージを監視し、悪意の兆候を検知します。

VS Codeのエージェント機能を使う場合は、tasks.jsonの内容を事前に監査し、workspace trustを付与する前に確認します。感染キャンペーンの例からも、これが攻撃の一端であることがわかります。


パッケージエコシステムの軍拡競争

サプライチェーンの脅威は拡張機能だけにとどまりません。2025年8月から11月にかけて、s1ngularityキャンペーンを皮切りに、Nxパッケージの侵害や認証情報の窃取が行われました。これらの攻撃は相互に関連し、持続的なインフラを形成しています。次に続いたShai-Huludのワームは、感染したパッケージを通じて自己増殖し、開発者やCI/CD環境に感染を拡大しました。

2025年6月のGlueStack攻撃は、npmパッケージにコードを注入し、シェルコマンドの実行やスクリーンショットの取得、ファイルの窃取を行いました。2026年初頭のdYdX侵害では、npmとPyPIの両方にマルウェアを仕込み、ウォレットやリモートアクセスツールを感染させました。これらの攻撃は、単なる偶発的なものではなく、拡散と持続を目的とした設計です。


未来展望:2026年以降の軍拡競争

この脅威の進化は、いくつかの新たな展開を予測させます。

エージェント対エージェント攻撃:悪意のAIエージェントが、企業の防御エージェントやコードレビュー自動化を操作し、悪意のコードをホワイトリストに登録させたり、セキュリティアラートを抑制させたりする動きです。AIセキュリティツールの普及に伴い、攻撃者も理解と対策に投資します。

ポリモーフィック依存関係:インストールごとに異なる名前を生成し、静的なブロックリストを回避します。振る舞い分析なしでは検知が困難です。

IDEのサンドボックス化:ベンダーは拡張機能を隔離されたマイクロVMや制限されたプロセスで実行し、ファイルシステムやAPI呼び出しへのアクセスを制限する方向に進むと予測されます。これにより、多くのサイドローディング手法が封じられますが、拡張機能の機能性は制限される可能性があります。

レジストリのガバナンス改革:Microsoft MarketplaceとOpen VSX Registryの審査や対応能力の差は、構造的な脆弱性です。AI IDEフォークの普及とエンタープライズ採用に伴い、Open VSXのセキュリティ強化が求められます。


結論

自動依存関係サイドローディングは、ソフトウェアサプライチェーン攻撃の新たな成熟段階を示しています。現代の開発を定義するツールを武器に、攻撃者はファイアウォールを回避し、AIの提案に乗っかる方法を見つけました。

2025年と2026年前半の実例は、この脅威が単なる理論ではないことを証明しています。何百万ものインストールを持つ拡張機能が侵害され、認証情報が大量に盗まれ、自己増殖型マルウェアがオープンソースエコシステムに潜入しています。さらに、攻撃面は拡大しています。新しいAIコーディングツール、IDEフォーク、エージェント機能はすべて、新たな攻撃ベクトルとなり得ます。

エディタに表示されるコードは、もはやAIモデルが生成したものと保証されません。この新しい環境では、開発者の目—懐疑的で警戒心を持ち、慌てずに—が最も重要なセキュリティツールです。しかし、目だけでは不十分です。防御は組織的、アーキテクチャ的、継続的に行う必要があります。


最終更新:2026年2月。情報源:Wiz、Socket、Koi Security、Checkmarx Zero、Hunt.io、Jamf Threat Labs、GitGuardian、arXivに掲載された学術研究。

Continue from this article into the most relevant product guides and workflows.

Related Topics

#automated dependency side-loading, malicious browser extension attack, ide extension compromise, ai coding assistant attack, supply chain attack developers, malicious npm package injection, malicious pip package injection, code suggestion poisoning, ai code tampering, dependency confusion attack, software supply chain security, compromised vscode extension, compromised jetbrains plugin, browser extension malware, developer tooling attack, malicious import injection, require statement attack, npm supply chain attack, pypi supply chain attack, hidden dependency injection, ai assisted coding risk, code completion attack, copilot security risk, llm coding extension exploit, devtools malware, poisoned code suggestions, software development attack vector, ci cd supply chain risk, backdoored dependencies, typosquatting packages, dependency hijacking, open source security risk, malicious transitive dependency, package manager attack, npm security vulnerabilities, pypi malware packages, developer environment compromise, workstation compromise dev, source code poisoning, trusted tooling attack, ai developer tools risk, vscode marketplace security, chrome extension developer attack, firefox addon malware, supply chain compromise developers, code integrity attack, malicious require injection, hidden import vulnerability, software build compromise, secure sdLC, devsecops supply chain, artifact integrity, code review bypass, trust boundary violation, ai hallucination exploitation, malicious code insertion, insider threat tooling, developer phishing via extensions, software factory attack, pipeline poisoning, source integrity risk, reproducible builds security, sbom security, dependency scanning evasion, stealthy backdoor insertion, ai generated code risk, modern supply chain attacks, dev tooling security, endpoint security for developers, extension sandbox escape, malicious update attack, code suggestion trust abuse

Keep building with InstaTunnel

Read the docs for implementation details or compare plans before you ship.

Share this article

More InstaTunnel Insights

Discover more tutorials, tips, and updates to help you build better with localhost tunneling.

Browse All Articles