GitHubのAI、“Additionally”の一言で非公開リポ丸見えに

公開リポジトリのイシューに仕込んだ指示で、GitHubのAIエージェントが非公開リポジトリの中身を読み込み公開コメントに投稿。合言葉はたった一言「Additionally」、GitHubは記事公開時点で未対応。

みずき:…ねえ。GitHubの新しいAI機能、一言で非公開リポジトリを丸ごと持ち出せたって。

ひかり:えっ、なになに、それめっちゃ気になる……じゃなくて怖いんだけど!? たった一言って、呪文か何か!?

ことね:まあ落ち着いて。舞台は「GitHub Agentic Workflows」——今年2月に始まった、GitHub Actionsの自動化にAIエージェント(CopilotやClaudeなど)を組み込む機能よ。セキュリティ企業ノマ・セキュリティが、そこに“GitLost”という穴を見つけたの。

ひかり:つまりAIが、勝手にお仕事してくれる機能ってこと? で、どうやって非公開のやつを持ち出したの?

ことね:手口はプロンプトインジェクション。公開リポジトリのイシュー——誰でも書き込める報告欄に、偽装した指示を仕込むの。エージェントはそれを“ただの文章”じゃなく“命令”として読んじゃって、非公開リポジトリのREADMEを読み込み、律儀に同じ公開イシューへコメントで貼り付けたのよ。

みずき:…で、その魔法の合言葉は?

ことね:“Additionally”——「ついでに」くらいの一言よ。研究チームがNGワードの前にこれを足しただけで、AIの防御が「拒否すべき指示」じゃなく「さっきの続きの作業」だと誤解して、すり抜けたんですって。

ひかり:えっ、パスワードも盗んでないし、変なプログラムも仕込んでないんだよね!? なのに秘密の中身が漏れちゃうの!?

みずき:…そういえば、ちょっと前にClaude Codeが勝手に経由サーバー見てた話で盛り上がったよね。今度は逆に、イシューに一言書いたら中身を持ち出された。AIエージェントを働かせるのって、そういうリスクとワンセットらしい。

ことね:そこが厄介なところなの。研究者いわく、プロンプトインジェクションは仕組み上“完全には直せない”問題で、GitHubは代替案の提示すら、まだ実装していないそうよ。

まとめ:AIエージェントは「お願い」と「命令」の区別がまだ苦手。たった一言のおまけで、非公開の中身が公開の掲示板に貼り出された。

元記事を読むホームへ