powered by TechFeed
表示モード
Deep Dive

AIコーディングエージェントが「未登録パッケージ」を企業ネットワークに自律インストール — llms.txtの失効参照を悪用した新たなサプライチェーンリスク

9月4日、Bruce Schneierが「AI Coding Agents Are Installing Unknown/Untrusted Code on Corporate Networks」と題した記事を公開した。この記事では、AIコーディングエージェントが未検証・未登録のコードパッケージを企業ネットワーク上に自律的にインストールしてしまうというサプライチェーンリスクについて詳しく紹介されている。

9月4日、Bruce Schneierが「AI Coding Agents Are Installing Unknown/Untrusted Code on Corporate Networks」と題した記事を公開した。この記事では、AIコーディングエージェントが未検証・未登録のコードパッケージを企業ネットワーク上に自律的にインストールしてしまうというサプライチェーンリスクについて詳しく紹介されている。


衝撃の結果:仕掛けから1時間以内にFortune 500企業からビーコンが届いた

研究者らはその未登録の名前のうちいくつかを実際に登録し、実行されたマシンが自分たちのサーバーに接触してくるパッケージをホスティングした。結果は明確だった。

  • 1時間以内に、Fortune 500企業の1社からビーコン(接触信号)が届いた
  • その後、数十件の接触が記録され、うち複数がFortune 500企業、残りはスタートアップからだった
  • ビーコンには親プロセスのチェーンも記録されており、Claude(Anthropic)、Codex(OpenAI)、Hermes(Nous Research)といったコーディングエージェントが関与していたことが判明した

Anthropic、OpenAI、Nous Researchのいずれも、記事公開時点でコメントに応じていない。


実験の概要:失効した参照名を"罠"として登録した

イスラエルのステルススタートアップの研究者らが、防衛請負業者・Fortune 500企業・大手テック企業など6,214のライブドメインをスキャンした。そこで発見された8,265件のllms.txtおよびllms-full.txtファイル(1サイトが両方をホストするケースも多い)のうち、120件が、すでに登録が切れているか未登録のコードパッケージやドメイン名を参照していた。

llms.txt とは、LLM(大規模言語モデル)エージェントに対してサイトの構造やコンテキストを伝えるためのファイルで、robots.txtのAI版とも言える存在だ。AIエージェントはこのファイルを「公式ドキュメント」として読み込み、そこに書かれた指示に従って処理を進める。llms.txtの仕様についてはllmstxt.orgに詳しい。

攻撃者が能動的にllms.txtを書き換えるのではなく、すでに公開されているllms.txt内の「失効した参照」を第三者が後から登録するという手法である点が、この攻撃の特徴だ。正規のドキュメントがそのまま罠に転じる。


問題の本質:エージェントはドキュメントを「無条件に信頼」する

研究者の一人であるAlon Hertzは、この問題を次のように整理している。

「トラストモデルが壊れている。エージェントはベンダーのドキュメントを"絶対の真実"として扱い、疑問を持たない。監督する人間も同様だ。AIエージェントの利用は爆発的に拡大しており、SaaS・クラウド・エンドポイントのあらゆる層に広がっている。エージェントが増えるほど、サプライチェーンの攻撃面も拡大する。そして現在の防御はそれをカバーしていない。」

Schneierはこの問題を、**SolarWinds型のサプライチェーン攻撃**に例えて警告している(SolarWindsへの言及はSchneier自身によるものだ)。SolarWindsの事案(2020年)では、正規のソフトウェアアップデートにバックドアが仕込まれ、米国政府機関を含む多数の組織が侵害された。今回の構図はそれに近い。エージェントが「正規のドキュメント」を信じて自律的にコードを取得・実行してしまうのであれば、llms.txt内に失効した参照が残っているだけで、ターゲット企業のネットワーク内で任意のコードが動く可能性がある。


エンジニアが今すぐ確認すべきこと

今回の研究が示すのは、AIコーディングエージェントが「読んで実行する」という自律的なループの中に人間のレビューが入っていない、という構造的な問題だ。

※以下は編集部の考察として整理したチェック項目だが、元記事の問題意識と方向性は一致している。

  • 自社・利用中のサービスが公開する llms.txt に記載されたパッケージ名・ドメイン名が現在も有効に登録されているか
  • AIエージェントが参照するドキュメントのソースが信頼できるものか、取得元URLを確認しているか
  • エージェントによるパッケージインストールにCI/CDパイプライン上での承認フローが存在するか

これらが整備されていない環境では、今回と同様のビーコンがすでに発信されている可能性がある。

詳細はAI Coding Agents Are Installing Unknown/Untrusted Code on Corporate Networksを参照していただきたい。