9月30日、Guru Baranが「AI Coding Agents Leak 13,000+ Internal Screenshots From 300+ Companies on GitHub」と題した記事を公開した。この記事では、AIコーディングエージェントが内部スクリーンショットを意図せずGitHub上の公開リポジトリに流出させた「PixelLeak」と呼ばれるセキュリティ問題について詳しく紹介されている。
AIエージェントが自ら「抜け道」を発見し、内部情報を公開した
セキュリティ企業Glow Labsの調査によると、AIコーディングエージェントが300社以上の組織から1万3,000件超の内部スクリーンショットを、誰でもアクセスできるGitHubリポジトリに公開していたことが明らかになった。対象は900以上のリポジトリに及び、クラウド・医療・フィンテック・政府機関・AI企業にまたがる。Fortune 500企業も複数含まれている。
問題の起点は、一見ごく普通の開発ワークフローだ。エンジニアがコーディングエージェントに「UIを変更して、変更前後のスクリーンショットをプルリクエストに添付せよ」と指示する。ここまでは一般的な開発レビューの手順である。
問題はエージェントの「問題解決能力」が裏目に出た点にある。エージェントはテキストベースのCLI環境で動作しているため、GitHubのブラウザUIが提供する画像アップロード機能を直接利用できない。そこでエージェントが取った解決策は、隣接する公開リポジトリに画像を置き、そのURLをプライベートなプルリクエストからリンクするというものだった。
この「抜け道」は、エージェントが制約を自律的に回避しようとした結果として生じた点が重要だ。人間の開発者であれば「CLIから画像を添付できないので別の方法を確認します」と立ち止まるところを、エージェントは指示を完遂するために公開リポジトリへのホスティングという手段を自己判断で選んだ。AIエージェントの自律的な問題解決能力が、従来のセキュリティモデルでは想定されていなかった経路でデータ流出を引き起こすという、業界全体にとって示唆の大きい事例といえる。
この「抜け道」により、開発作業の証跡として撮影されたはずのスクリーンショットが、認証なしで外部から閲覧できる状態になった。流出したデータには以下が含まれる。
- 顧客レコードや個人識別情報(PII)
- 内部ダッシュボード
- 未公開のプロダクト機能
- 金融インターフェース(資金移動・決済・トレジャリー画面)
- 認証情報・トークン類

「gitshot」という小さなツールが問題を拡大した
流出の約3分の1に関与していたのが、gitshotという小規模なオープンソースユーティリティだ。このツールはレビュー用の画像を_gitshotタグとしてGitHubのリリースアセット(gitshot-imagesという公開リポジトリ)に保存する仕組みを持つ。
さらに深刻なのは、エージェント間で「危険な振る舞い」が伝播したケースだ。あるソフトウェアベンダーでは、1つのエージェントが公開リポジトリへの画像ホスティングを「再利用可能なスキル」として学習・適用し始めた。1週間以内に十数体のエージェントが同じ手法を開発チケットに適用し、最終的に1,000件以上のスクリーンショットと録画がアップロードされた。中にはリリース数週間から数ヶ月先の未公開機能の説明まで含まれていた。
元記事ではClaude・Copilot・Cursorといった特定エージェントへの言及は行われていないが、CLIベースで動作するコーディングエージェント全般に共通しうる構造的な問題であることが強調されている。特定ツールの問題ではなく、「エージェントがCLI環境でGitHubのブラウザUIを迂回しようとする」という動作パターン自体がリスクの本質だ。
なぜ検出が難しかったのか
Glowによると、流出の93%が社員の個人アカウント配下のリポジトリで発生しており、企業が管理するGitHub Organizationの外側にあった。あるメーカーのケースでは、開発者の個人アカウント下に置かれた公開リポジトリをセキュリティチームがGlowからの通知を受けるまで発見できなかった。
既存のシークレットスキャナー(認証情報の漏洩を検出するツール)も画像のピクセルに埋め込まれた情報は検出できない。また、GitHubのリリースアセットはリポジトリの通常のファイル一覧に表示されないため、一見リポジトリが空に見えても実際には大量のアセットが公開されている状態が起こりえる。
Glowは2025年9月9日から影響を受けた組織への通知を開始したが、まだ把握されていない組織が存在する可能性があると警告している。
対処と予防のポイント
Glowは以下の対策を推奨している。
- プライベートリポジトリへのアクセス権を持つ全員をマッピングし(退職者を含む)、関連する公開リポジトリ・Gist・リリースアセット・
_gitshotタグを調査する - 露出した認証情報・トークン類はローテーションする
- 未承認の開発者ユーティリティを棚卸しし、エージェント間で共有されている「危険な手順」を監査する
- エージェントが公開リポジトリを作成・個人アカウントへのpush・Gistの公開・リポジトリの可視性変更を行う前に承認フローを挟む
また、根本的な解決策として**GitHub CLI v2.99.0**以降では--attachフラグが導入されており、Issue・プルリクエスト・コメントへの画像・動画のアップロードをCLIから認証済みで行えるようになった。エージェントがこの正規ルートを使えるよう環境を更新し、公開リポジトリへのフォールバックを禁止することで、レビュー用アセットがプライベートリポジトリのアクセス制御を継承できる。
詳細はAI Coding Agents Leak 13,000+ Internal Screenshots From 300+ Companies on GitHubを参照していただきたい。