← すべての記事

llms.txt 脆弱性: AI エージェントがドキュメント ファイルを介して悪意のあるコードを自動的にインストールする方法

llms.txt 脆弱性: AI エージェントのドキュメント ファイルを介した攻撃

8月27日木曜日、 Ars Technica が調査結果を発表 これにより、AI コーディング エージェントを使用する開発者はセキュリティを再考する必要があります。イスラエルのステルス新興企業の研究者らは、フォーチュン 500 企業、防衛請負業者、ビッグテックに属する 6,214 個のドメインをスキャンし、AI エージェントに PyPI と npm から存在しないパッケージを自動的にインストールさせる 120 個の BLK0 ファイルを発見しました。

問題は単純かつ恐ろしいものです。BLK1 は本質的に「robots.txt for AI」です。これは、エージェントがドキュメントの構造を迅速に理解するのに役立つマークダウン サイトマップ ファイルです。ただし、この仕様には認証、署名、整合性チェックは含まれていません。そのようなファイルに BLK2 または BLK3 が含まれており、エージェントがコマンドを実行する権限を持っている場合、そこに書かれているものはすべてインストールされます。

仕組み

研究者らは、8,265 個の BLK4 および BLK5 ファイルを発見しました (多くのサイトが両方をホストしています)。そのうち 120 個 (120 個の異なるドメイン) で、レジストリに存在しないパッケージまたはドメインへの参照がありました。攻撃者はそのような名前を登録し、悪意のあるコードをアップロードするだけで済みます。

この攻撃を検証するために、研究者自身がいくつかの「無料」の名前を登録し、「開始しました」とサーバーに ping を送信するだけの無害なパッケージを配置しました。 1 時間以内にフォーチュン 500 企業から返事が届きました。時間が経つにつれて、他の大手企業や新興企業からさらに数十の回答が届きました。プロセス テレメトリは、パッケージをインストールしたユーザーを正確に示しました。 Claude Code、OpenAI Codex、Nous Research の Hermes.

llms.txt 攻撃図

最も厄介なケース — crew.com

正規の crew.com サイトでは、 BLK6 ファイルに BLK7 が含まれていました。通常の BLK8 とは異なり、 BLK9 はパッケージを npm のキャッシュにフェッチし、プロジェクトの依存関係マニフェストに追加せずにそのバイナリを実行できます。誰かがこの無料の名前を主張し、実際のマルウェアをアップロードすることに成功しました。事務員が問題を修正しましたが、パターンはすでに実稼働中です。

これが単なる「モデルのバグ」ではない理由

これは幻覚や砂場からの脱出ではありません。ファイルは会社の公式ドメイン上にあり、AI での利用を目的として設計された標準化された形式で HTTPS 経由で提供されます。エージェントにはそれを疑う理由はありません - ファイル 権威。問題は、BLK10 標準 (2024 年 9 月に Answer.AI の Jeremy Howard によって提案) にはセキュリティ規定がまったく含まれていないことです。つまり、署名、発行元の検証、パッケージの検証がありません。

トラスト チェーンは推移的です。BLK11 は、Fortune 500 の独自のサイトにある必要はありません。パートナーのドキュメント、ベンダーの SDK リファレンス、コミュニティ プロジェクトのセットアップ ガイドに置くことができます。エージェントがそのサードパーティを信頼し、そのサードパーティが未登録のパッケージを指している場合、チェーンは同じように機能します。

今何をすべきか

  1. 監査。 BLK12 と BLK13 を確認してください。言及されたすべてのパッケージ、ドメイン、および URL が存在し、管理下にあり、特定の管理者がいることを確認してください。説明できない依存関係への参照を記憶から削除します。
  2. エージェントとレジストリ間のプロキシ。 新しいパッケージをブロックし (slopsquatted パッケージは定義上新しいものです)、依存関係の最初のリリース後に 24 ~ 72 時間のクールダウンを強制し、インストール前に BLK14 (SLSA/Sigstore) を検証します。
  3. エージェントに BLK15 、 BLK16 、 BLK17 を与えないでください。 これらのフラグが存在するため、開発者が責任を負います。エージェントがあなたの確認なしにパッケージをインストールした場合、あなたはエージェントにインフラストラクチャへのキーを渡したことになります。

結論

Web サイトをエージェントが読みやすいものにする競争は、ソフトウェア サプライ チェーンを悪用する競争と衝突しました。これは 1 つのモデルや 1 つのベンダーのせいではありません。誰も実行可能コードとは考えなかった標準の設計上の欠陥です。業界がエージェントが Web 上で読み取る内容の検証を強制するまでは、すべての不良 BLK18 がネットワークへの潜在的な侵入ポイントとなります。

llms.txt 攻撃図: エージェントがファイルを読み取り、存在しないパッケージのインストール コマンドを見つけて実行し、マルウェアをロードする

AI ワークフローのセキュリティをテストしたいですか? NeuralSpace により、分離された環境でコード生成を実行し、エージェントをテストできます — チャットを試してみる または コードモード.