記事本文(要約)
GitLabのAIアシスタント「Duo」に間接的なプロンプトインジェクションの脆弱性が発見され、攻撃者がソースコードを窃取したり、被害者を悪意のあるウェブサイトに誘導する可能性がありました。この脆弱性は、GitLabが提供する全体のDevSecOpsパイプラインに深く統合されているため、特に危険です。
Legit Securityの研究者が、コードやコミットメッセージに隠されたプロンプトを利用してDuoを操ることで、フィッシングやマルウェアのインジェクション、または機密データの抽出が可能であることを発見しました。特に、DuoがMarkdownでレスポンスをブラウザにレンダリングする過程でHTMLインジェクションのリスクが生じ、悪意のあるHTMLを介して被害者のプライベートなソースコードをサーバーに送信する可能性がありました。
この問題は、GitLabがLegit Securityから2月23日に報告を受け、HTMLレンダリングの問題に関して修正を行いました。5月にはすべての問題が対応済みとなり、現在ではDuoのレスポンスに影響を与えることは可能ですが、悪意のある方法ではありません。
※この要約はChatGPTを使用して生成されました。
公開日: Thu, 22 May 2025 10:00:00 GMT
Original URL: https://www.darkreading.com/application-security/gitlab-ai-assistant-opened-devs-to-code-theft
詳細な技術情報
この文章に基づいて、GitLabのAIアシスタント「Duo」に関する脆弱性について詳しく説明します。
CVE番号
具体的なCVE番号は記事中に記載されていませんが、発見された脆弱性はGitLabのAIアシスタント「Duo」に関連しており、セキュリティ研究者によって報告されています。
脆弱性の仕組み
この脆弱性は主に間接的なプロンプトインジェクションという方法により、Duoを悪用できる点にあります。攻撃者はコードに秘密のプロンプトを忍び込ませることで、Duoに不正な指示を出してしまうことが可能でした。これにより、フィッシング攻撃やマルウェアの配布、機密データの流出などが可能になっていました。
特に問題だったのは、DuoがMarkdownを使用してHTMLをブラウザーで直接レンダリングする方式をとっていたため、クライアントサイドのインジェクションリスク(HTMLインジェクション)が存在していました。このリスクはIDEやチャットターミナルでLLMの出力が管理される場合と異なり、ブラウザ上で実行されるため、より広範に影響を与える危険がありました。
攻撃手法
- プロンプトインジェクション: 攻撃者は悪意のあるプロンプトをコードやコミットメッセージ、マージリクエスト、その他のコメントに仕込むことができました。それらがDuoによって処理されると、攻撃者の意図した操作が実行される。
- HTMLインジェクション: HTMLを伴うプロンプトはDuoによってそのままブラウザで解釈され、実行されるため、ブラウザ側でスクリプトが実行される可能性がありました。
潜在的な影響
- ソースコード盗難: 誤って機密のソースコードが流出する恐れがありました。
- フィッシング攻撃: 不正なURLがDuoの提案に含まれることで、ユーザーを悪意のあるウェブサイトに誘導する可能性。
- マルウェアの配布: Duoが誤ったコード修正を提案し、それがマルウェアを含む場合、プロジェクトに悪影響をもたらす。
- 組織的機密情報の漏洩: 機密情報やゼロデイ脆弱性に関する情報が漏洩するリスク。
推奨される対策
- 入力のサニタイズ: すべての入力データを厳密にチェックし、悪意あるプロンプトが実行されないようにする適切なフィルタリングを行う。
- HTMLレンダリングの見直し: MarkdownによるHTMLレンダリングの実施を再評価し、クライアントサイドでのインジェクション攻撃を防ぐ。
- セキュリティ教育の強化: 開発者に対して、AIアシスタントの潜在的なリスクや安全な使用方法についての知識を普及させる。
- セキュリティパッチの適用: GitLabから公開されるセキュリティパッチを迅速に適用し、脆弱性を修正する。