OWN NEWS GATHER
← 戻る
The Hacker News

MicrosoftのAzure DevOps用AI接続ツールに脆弱性、非表示のPRコメントでAIが「乗っ取り」状態に

要点

  • Microsoft公式のAzure DevOps用MCPサーバーに、AIエージェントを悪用される脆弱性が存在することが判明した。

  • プルリクエスト(PR)の説明欄に非表示のHTMLコメントとして悪意ある指示を埋め込むことで、プロンプトインジェクション攻撃が成立する。

  • 攻撃者は、自身にアクセス権のない他プロジェクトの機密コードや情報の窃取、パイプラインの不正実行などをAIに代行させることができる。

  • wikiやビルドログ向けには実装されていた防御策が、PRを取得する機能においてのみ適用されていなかったことが原因とされる。

  • 脆弱性を実証した調査企業は、人間が介入しない「自動レビュー」などの運用が進むことで、より被害の探知が困難になると警告している。

  • 米Microsoftが提供する公式の「Azure DevOps MCPサーバー」において、プルリクエスト(PR)に埋め込まれた非表示のテキストによってAIエージェントを悪用される脆弱性が存在することが明らかになった。セキュリティ企業のManifold Securityが2026年7月第4週に調査結果を公表した。この脆弱性を突くことで、攻撃者はレビューを行う担当者のアカウント権限をAIエージェント経由で借用し、権限のない別プロジェクトの情報を盗み出すなどの不正操作を実行させることができるという。

脆弱性の仕組みと発生源

脆弱性が発見されたのは、MicrosoftがGitHub上でオープンソースとして公開している「Azure DevOps MCPサーバー」だ。MCP(Model Context Protocol:AIエージェントが外部ツールやデータを操作するための共通接続規格)サーバーは、AIエージェントがユーザーの代理としてAzure DevOps内のプルリクエストやビルドログ、ワークアイテム、wikiなどを閲覧・操作できるようにするために用意されている。

この仕組みそのものがリスクの温床となった。AIエージェントは動作にあたって、操作を行うレビュー担当者自身のアクセス権限を引き継ぐ。そのため、他者が作成したコンテンツに悪意ある指示が紛れ込んでいた場合、エージェントがその指示を「ユーザーからの命令」と誤認して実行してしまうプロンプトインジェクション(AIの入力に命令を紛れ込ませて意図しない動作をさせる攻撃)が発生する。

具体的には、Azure DevOpsのPR説明欄などで用いられるMarkdown記法において、HTMLのコメントタグ(<!-- ... -->)が利用できる仕様が突破口となった。Web画面上ではこのコメントは非表示となるため、人間のレビュアーには通常の変更点しか見えない。しかし、API経由でデータを取得するMCPサーバーは、このコメントを含めたテキストデータをそのままAIエージェントに渡してしまう。この「人間には見えず、AIには読める」ギャップが、インジェクション攻撃の侵入経路となった。

防御策の適用漏れ

この問題が単純な警告にとどまらないのは、Microsoft自身がすでに同様の攻撃に対する防御策を開発し、一部の機能には適用していたためだ。

Manifold Securityが公開したサーバーのソースコード分析によると、Microsoftは「spotlighting(スポットライティング)」と呼ばれる対策を導入していた。これは、信頼できない外部コンテンツを特定の区切り文字で包むことで、AIがデータと命令を区別できるようにする技術である。同社は開発プロセスにおいて、wikiページやビルドログを読み取るツールに対しては、この対策を適用した共通のヘルパー関数(createExternalContentResponse)を経由してデータを返すように実装していた。

しかし、PRの情報を取得するツール(repo_get_pull_request_by_id)にだけは、この保護処理が適用されていなかった。そのため、PR説明欄のテキストが生データのままAIエージェントに渡される抜け穴として残されていた。2026年7月21日の時点で、最新のソースコードでもこの経路は保護されていないことが確認されている。

実証された攻撃と今後のリスク

Manifold Securityがバージョン2.7.0のローカルビルドを用いて行った実証実験(PoC)では、攻撃シナリオが現実のものであることが示された。攻撃者は、外見上はごく普通のPRを作成するが、その説明欄の裏に非表示のHTMLコメントを仕込んでおく。

レビュー担当者がAIエージェントに「このPRをレビューして」と指示した瞬間、AIエージェントは非表示のコメントを読み込み、行動目標を上書きされる。実験では、AIエージェントが攻撃者の指示に従って別プロジェクトのパイプライン(ビルドやテストを自動実行する仕組み)を起動し、アクセス権のない機密wikiページを読み取った。さらに、その内容を当該PRのコメントとして書き出させ、攻撃者が閲覧できるように流出させるという一連の処理が、人間に気づかれることなく実行された。この実証は、GitHubのCopilot CLIやClaude Codeなど、特定のAIエージェント製品に依存せず再現された。

この攻撃が成立するためには、攻撃者がPRを作成できること、AIエージェントが確認プロセスなしでツールを自動実行できる設定になっていることなどの条件が必要となる。しかし、昨今の開発現場では、人間が毎回プロンプトを入力するのではなく、トリガーを契機にAIが自動的にレビューや要約を行う「完全自動ワークフロー」の導入が進んでいる。調査チームは、このような人間が介在しない運用において、悪意あるPR説明が自動で処理され、長期間にわたって情報が漏洩し続けるリスクが極めて高いと指摘している。

繰り返されるAIエージェントの課題

同様の脆弱性は以前にも確認されている。2025年5月には、セキュリティ企業のInvariant LabsがGitHubのMCPサーバーに対して同種の攻撃を実証し、公開イシューを利用してエージェントにプライベートリポジトリを読み取らせる手法を報告していた。

こうした背景から、セキュリティ専門家のSimon Willison氏は「機密データへのアクセス権」「信頼できないコンテンツの読み込み」「外部への送信手段」の3つを併せ持つAIエージェントは本質的に脆弱であるとし、これらを「致命的な三要素(Lethal Trifecta)」と呼んで警鐘を鳴らしている。今回のAzure DevOpsの脆弱性は、まさにこのリスクが具現化した例であると言える。

元URL