サイバーセキュリティ研究者は、GitLabの人工知能(AI)アシスタントDuoにおいて、攻撃者がソースコードを盗んだり、信頼できないHTMLを応答に注入したりすることが可能な間接的なプロンプトインジェクションの欠陥を発見しました。これにより、被害者を悪意のあるウェブサイトに誘導することが可能になります。
GitLab Duoは、ユーザーがコードを書いたり、レビューしたり、編集したりすることを可能にするAI駆動のコーディングアシスタントです。AnthropicのClaudeモデルを使用して構築され、2023年6月に初めて公開されました。
しかし、Legit Securityが発見したように、GitLab Duo Chatは、攻撃者が「プライベートプロジェクトからソースコードを盗んだり、他のユーザーに表示されるコード提案を操作したり、さらには機密性のある未公開のゼロデイ脆弱性を流出させたりする」ことを可能にする間接的なプロンプトインジェクションの欠陥に脆弱でした。
プロンプトインジェクションは、AIシステムに共通する脆弱性のクラスであり、脅威アクターが大規模言語モデル(LLM)を武器化してユーザーのプロンプトに対する応答を操作することを可能にし、望ましくない動作を引き起こします。
間接的なプロンプトインジェクションは、AIが処理するように設計されたドキュメントやウェブページなどの別のコンテキストに不正な指示が埋め込まれるため、はるかにトリッキーです。
最近の研究では、LLMが脱獄攻撃技術にも脆弱であることが示されており、AI駆動のチャットボットを騙して有害で違法な情報を生成させることが可能であり、倫理や安全性のガードレールを無視することができます。これにより、慎重に作成されたプロンプトの必要性が事実上なくなります。
さらに、プロンプトリーク(PLeak)メソッドは、モデルが従うべきプリセットのシステムプロンプトや指示を誤って明らかにするために使用される可能性があります。
「組織にとって、これは内部ルール、機能、フィルタリング基準、権限、ユーザーロールなどのプライベート情報が漏洩する可能性があることを意味します」と、Trend Microは今月初めに発表したレポートで述べています。「これにより、攻撃者がシステムの弱点を悪用する機会を得る可能性があり、データ漏洩、企業秘密の開示、規制違反、その他の不利な結果につながる可能性があります。」
![]() |
PLeak攻撃のデモンストレーション – 資格情報の過剰/機密機能の露出 |
イスラエルのソフトウェアサプライチェーンセキュリティ企業の最新の調査結果によれば、マージリクエスト、コミットメッセージ、問題の説明やコメント、ソースコードのどこにでも配置された隠しコメントが、機密データを漏洩させたり、GitLab Duoの応答にHTMLを注入したりするのに十分であることが示されています。
これらのプロンプトは、Base16エンコーディング、Unicodeスモグリング、白いテキストでのKaTeXレンダリングなどのエンコーディングトリックを使用して、さらに検出されにくくすることができます。入力のサニタイズの欠如と、GitLabがこれらのシナリオをソースコードと同様に扱わなかったことが、悪意のあるアクターがサイト全体にプロンプトを植え付けることを可能にした可能性があります。
「Duoは、コメント、説明、ソースコードを含むページ全体のコンテキストを分析するため、そのコンテキストのどこにでも隠された指示に脆弱です」とセキュリティ研究者のOmer Mayrazは述べました。
これはまた、攻撃者がAIシステムを騙して、合成されたコードに悪意のあるJavaScriptパッケージを含めたり、安全なものとして悪意のあるURLを提示したりすることができ、被害者を資格情報を収集する偽のログインページにリダイレクトさせることができることを意味します。
さらに、GitLab Duo Chatの特定のマージリクエストやその中のコード変更に関する情報にアクセスする能力を利用することで、Legit Securityは、プロジェクトのマージリクエストの説明に隠されたプロンプトを挿入し、Duoによって処理されると、プライベートなソースコードが攻撃者が制御するサーバーに流出することが可能であることを発見しました。
これは、ストリーミングマークダウンレンダリングを使用して応答をHTMLに解釈しレンダリングすることによって可能になっています。言い換えれば、間接的なプロンプトインジェクションを介してHTMLコードを供給すると、コードセグメントがユーザーのブラウザで実行される可能性があります。
2025年2月12日に責任ある開示が行われた後、GitLabによって問題が対処されました。
「この脆弱性は、GitLab DuoのようなAIアシスタントの両刃の剣の性質を浮き彫りにしています。開発ワークフローに深く統合されると、コンテキストだけでなくリスクも引き継ぎます」とMayrazは述べました。
「一見無害なプロジェクトコンテンツに隠された指示を埋め込むことで、Duoの動作を操作し、プライベートなソースコードを流出させ、AIの応答が意図しない有害な結果をもたらす方法を実証しました。」
この開示は、Pen Test Partnersが明らかにしたように、Microsoft Copilot for SharePoint、またはSharePoint Agentsが、ローカル攻撃者によって機密データや文書にアクセスするために悪用される可能性があることを示しています。「制限付きビュー」権限を持つファイルからでも。
「主な利点の一つは、短時間で大規模なデータセット、例えば大企業のSharePointサイトを検索し、トロールすることができることです」と同社は述べています。「これにより、私たちにとって有用な情報を見つける可能性が大幅に増加します。」
攻撃技術は、新しい研究に続いており、ElizaOS(以前はAi16z)、自動化されたWeb3操作のための新興の分散型AIエージェントフレームワークが、プロンプトや過去のインタラクション記録に悪意のある指示を注入することで操作され、保存されたコンテキストを効果的に破損させ、意図しない資産転送を引き起こす可能性があることを示しています。
「この脆弱性の影響は特に深刻です。ElizaOSエージェントは、複数のユーザーと同時に対話するように設計されており、すべての参加者からの共有コンテキスト入力に依存しています」とプリンストン大学の学者グループが論文で書いています。
「悪意のあるアクターによる単一の成功した操作が、システム全体の整合性を損ない、検出や緩和が困難な連鎖的な影響を生み出す可能性があります。」
プロンプトインジェクションや脱獄を除けば、今日のLLMに悩まされているもう一つの重要な問題は幻覚です。これは、モデルが入力データに基づかない応答を生成したり、単に捏造したりする場合に発生します。
AIテスト会社Giskardが発表した新しい研究によれば、LLMに対して回答を簡潔にするよう指示することが、事実性に悪影響を及ぼし、幻覚を悪化させる可能性があります。
「この効果は、効果的な反論には一般的により長い説明が必要であるために発生するようです」と述べています。「簡潔にすることを強制されると、モデルは短くても不正確な回答を作成するか、質問を完全に拒否して役に立たないように見えるかの選択を迫られます。」
翻訳元: https://thehackernews.com/2025/05/gitlab-duo-vulnerability-enabled.html