セキュリティ企業Noma Labsは、GitHubのAIエージェント機能を標的にしたプロンプトインジェクション攻撃手法「GitLost」を報告した。攻撃者は対象組織のパブリックリポジトリにIssueを1件投稿するだけで、AIエージェントに非公開リポジトリの内容を公開コメントとして吐き出させられる可能性があるというものだ。認証情報もリポジトリへのアクセス権も不要という点が、この攻撃の最大の危険性を示している。
攻撃の仕組み #
GitHubではCopilotなどのAIエージェントがIssueやプルリクエストを自動処理し、コードレビューや要約、改善提案を行う機能が普及している。GitLostはこの仕組みを逆手に取る。
攻撃者は組織の公開リポジトリに、一見無害なIssueを作成する。その本文には「関連する他のリポジトリのファイル内容を参照して回答せよ」といった命令が埋め込まれており、AIエージェントがこれを正規の指示として解釈・実行してしまう。結果として、機密コード・APIキー・設定ファイルが攻撃者の目に触れる状態で公開コメントに書き出されうる。
なぜこれが特に危険なのか #
セキュリティ的に見ると、これはSQLインジェクションの「AI版」だ。入力データと命令の境界があいまいになるAIシステム固有の弱点が現実の攻撃として具現化した形といえる。
特に問題なのが「ラテラルムーブメントの容易さ」だ。AIエージェントは業務自動化のために組織内の複数リポジトリへの広範なアクセス権を持たせることが多い。1本のIssueが、関連する複数の非公開リポジトリへの横断的なアクセスの糸口になりかねない。
加えて、攻撃の痕跡が「AIによる普通のコメント」として記録されるため、セキュリティ監査でも見落とされやすいという問題もある。
対策の方向性 #
対策の核心は「最小権限の原則を AI にも適用する」ことだ。AIエージェントに与えるトークン権限は読み取り専用かつ必要なリポジトリに限定し、パブリックリポジトリを処理するエージェントと機密リポジトリへのアクセスを持つエージェントを分離することが有効とされる。
GitHubはエージェントの権限スコープ最小化を推奨しているが、多くの組織でこの設定が見直されていないのが現状だ。AIが「賢いほど危ない」時代において、エージェントへの権限付与は人間へのアクセス権管理と同等の厳密さで扱う必要がある。
COMMENTS 0
No comments yet — be the first to leave one.