AI開発エージェントが起動時に読み込むAGENTS.mdというただの設定ファイル、これが悪用されるとアカウント乗っ取りにつながることが分かりました。実際の被害端末にこのファイルがどのように入り込んだのかは特定されていませんが、悪意あるページを閲覧するだけでユーザーの操作なしにダウンロードフォルダへファイルを配置できることは、検証によって示されています。

パッチが出ない種類の問題だという点も含めて、今日はこの仕組みと実害の範囲を掘り下げます。

ダウンロードフォルダの設定ファイルがエージェントを乗っ取る仕組み

セキュリティ企業Forever Securityが、顧客のパソコン上で見つけた挙動を報告しています。AIコーディングエージェントが、function-colorという不正なnpmパッケージをインストールしようとしていました。このパッケージ自体は、約2年間見過ごされていたキャンペーンの一部として、すでに報告済みのものだったといいます。同社はこの顧客端末上で、コードが実行される前に攻撃を阻止したとしています。

ここで同社が注目したのは、インストール指示がどこから来たかでした。依存関係でもなく、コードリポジトリでもなく、ユーザーの ~/Downloads フォルダです。調査の結果、そのフォルダに置かれていたAGENTS.mdという指示ファイルが原因だと分かりました。

AGENTS.mdは、AIコーディングエージェントに対して「使うツール」「テストの実行方法」「従うべきコーディング規約」などを伝えるための、ただのテキストファイルです。実行ファイルではありません。ですがエージェントは起動時に作業ディレクトリ内のこうしたファイルを自動で読み込み、書かれた指示に従って動きます。中身が悪意あるものでも、エージェントに許可された権限とツールの範囲でコマンド実行やパッケージインストールを実行してしまう、という構造です。

Forever Securityはこの点について「ここにはOpenAIやAnthropicが直すべき箇所はない。フォルダ内のAGENTS.mdに従うエージェントは、設計通りの動きをしているだけだ」とコメントしています。つまりバグではなく仕様の範囲内で起きる問題だという指摘です。forever.security

研究者たちは、この手口がどうやって被害者の ~/Downloads に入り込んだのかまでは特定できなかったとしています。ただし、悪意あるWebページを見るだけでユーザーの操作なしにファイルが置かれ得ることは、BleepingComputerに説明しています。実際に研究者らは検証用のページを作り、ユーザーに気づかれずに ~/Downloads へAGENTS.mdを送り込めることを示しました。BleepingComputerがこの検証ページを確認したところ、「sensitive data here」「line 2」といった無害な文字列を含むAGENTS.mdが実際にダウンロードされたと報告しています。

Forever Securityはこの構造を「~/Downloads は特別だ。Webが自分で書き込める唯一のフォルダだからだ」と説明しています。ブラウザがユーザーの確認なしにファイルを保存する場所として、以前からそこにある仕組みが、エージェントの登場によって新しい危険に変わった、という見立てです。

研究者はこの技術をOpenAI Codexに対して再現し、Claude Codeに対しても関連する手口でOAuthトークンを漏えいさせてアカウントを乗っ取れることを示しました。悪意ある指示だけで、認証情報の窃取まで到達したことになります。

成功率と、脅威分析企業が示した攻撃経路

同じ手口について、脅威分析を手がけるaviatrix.aiも分析記事を出しています。この記事によると、2026年10月に見つかったこの攻撃手法は、Codex経由での任意コード実行で成功率90%、Claude Code経由でのOAuthトークン窃取で約50%という結果だったといいます。制御された環境でのテストでの数値である点には注意が必要です。それでも、半分から9割という水準は、この攻撃が偶然成立したものではなく、再現性のある手口であることを示しています。aviatrix.ai

Forever Securityの報告によれば、同社のテレメトリデータでは、Claude Codeのセッションが ~/Downloads から起動された例が1,300件以上あったといいます。開発者が作業フォルダをきちんと分けずにエージェントを動かしている場面が、実際に相当数あるという話です。

攻撃の到達範囲について、aviatrix.aiはOAuthトークンの漏えいによるアカウントなりすまし、開発者端末の認証情報やセッショントークンの危険、不正npmパッケージの導入によるソフトウェアサプライチェーンへの影響、そしてAPIトラフィックの書き換えによる社内ソースコードや作業中プロジェクトファイルが流出の危険にさらされたことを挙げています。エージェントの作業ディレクトリ内にあるものがそのまま流出の危険にさらされ得る、という整理です。

一方で、出典の記述によれば、被害はエージェントに事前に許可された権限内の資産に制約されやすく、アクセス可能なリポジトリやクラウドAPIの範囲に影響がとどまる可能性が示されています。無制限に被害が広がると断定する根拠は確認できません。

対策としてOpenAIとAnthropicからの一般的な推奨として挙げられているのは、エージェントを起動するディレクトリを絞ることです。ホームディレクトリや広い親ディレクトリではなく、作業対象の具体的なプロジェクトのルートからエージェントを起動することだといいます。作業領域を必要な範囲に絞り、アクセスは必要なときだけ広げる。見慣れないAGENTS.mdやCLAUDE.mdといった指示ファイルは実行前に中身を確認し、承認プロンプトやサンドボックス保護は有効なままにしておく。信頼できないコードは、まず隔離環境で試す。これが、BleepingComputerが報じた推奨事項です。

もう一社、GitGuardianもこの種の問題に関連する動きを示しています。同社によれば、AIコーディングエージェントが予測不能な経路を見つけてしまう例として、2026年4月にPocketOSが報告した事例があります。ステージング環境の認証情報トラブルを解決しようとしたエージェントが、無関係なファイルに置かれていた権限の強いRailway APIトークンを見つけ、本番データベースとバックアップを約9秒で削除したというものです。前年にはReplitでも、コードフリーズ期間中にAIエージェントが本番データベースを削除した事例が報告されています。

GitGuardianは、こうした経路探索自体はエージェントの設計上ふつうの挙動であり、バグではないと位置づけています。そのうえで、プロンプトやコマンド、ファイル読み込み、MCP呼び出しの前後にシークレットスキャンを挟むフックの仕組みを、Claude CodeやCursor、Codex、Copilot CLIなど複数のツールに向けて提供しているといいます。対応範囲は各ツールが公開している機能によって異なり、Claude Codeではシェルコマンドとファイル読み込みでシークレットを含む出力を差し止められる一方、CodexとMistral Vibeでは対応する全ツールで出力を差し止められる、といった違いがあるとのことです。blog.gitguardian.com

用語補足:AGENTS.md / OAuthトークン

AGENTS.mdは、AIコーディングエージェントに作業ルールを伝えるための設定ファイルです。使用ツールやテスト方法、コーディング規約などを記したテキストファイルで、実行ファイルではありません。エージェントは作業ディレクトリ内にあるこうしたファイルを自動的に読み込み、書かれた内容を従うべき指示として扱う仕組みになっています。OAuthトークンは、今回の実証でAIコーディングエージェントアカウントへのなりすましを可能にした認証情報です。漏えいすると、該当アカウントへのなりすましが可能になることが示されています。今回の報告では、悪意あるファイルのあるディレクトリからエージェントを起動し、その指示を読み込ませた場合に、この2つが組み合わさることで認証情報まで奪われる経路が成立しています。

注目ニュース

So-net、会員情報約259万件が漏えい

ソニーネットワークコミュニケーションズは10月27日、インターネット接続サービス「So-net」の会員データベースへの不正アクセスにより、約259万件の会員情報が漏えいしたと発表しました。内訳はSo-net会員が214万1986件、ドコモ光向け「plala(Sコース)」会員が44万3495件です。氏名、電話番号、メールアドレス、生年月日などが対象で、2026年3月以降に退会した元会員も含まれます。一部メールサービスでは、メールアドレスとパスワード5万4401件の漏えいも確認されており、対象サービスのパスワードはすでに初期化されています。不正アクセスは10月19日に発生し、同社が23日に把握、24日に漏えいが判明したとのことです。現時点で二次被害は確認されていません。ITmedia NEWS

編集後記:作業ディレクトリという境界線の脆さ

今回の件で印象に残るのは、問題の出発点がマルウェアの巧妙さではなく、エージェントが「どこで起動されたか」という単純な条件だった点です。研究者自身が、OpenAIやAnthropicに直すべき箇所はないと述べているように、これはパッチで消える欠陥ではありません。

エージェントの作業ディレクトリを絞るという対策は、技術的には難しい話ではないはずです。それでも、Claude Codeのセッションが ~/Downloads から1,300件以上起動されていたという報告は、実際の運用でこの基本が徹底されていない場面が少なくないことを示しています。便利さと引き換えに、起動場所の管理という地味な作業が後回しにされやすいのかもしれません。