Внедрение инструкций · 8 октября 2025

CamoLeak: GitHub Copilot Chat мог выдать код и секреты из приватных репозиториев

Исследователь Legit Security показал, что скрытый комментарий в pull request мог заставить GitHub Copilot Chat найти в приватных репозиториях жертвы секреты и исходный код и незаметно передать их злоумышленнику. Исследователи оценили уязвимость в 9.6 по CVSS; GitHub устранил её, полностью отключив отображение изображений в Copilot Chat.

Иллюстрация к инциденту «CamoLeak: GitHub Copilot Chat мог выдать код и секреты из приватных репозиториев»
ЗатронутоGitHub Copilot Chat, разработчики и организации с приватными репозиториями на GitHub
КритичностьКритический
Дата8 октября 2025

Что произошло

В июне 2025 года Омер Майраз (Omer Mayraz) из Legit Security сообщил о проблеме через программу HackerOne. В доказательстве концепции ему удалось извлечь ключи AWS, токены и описание неопубликованной уязвимости из приватного репозитория. 14 августа 2025 года GitHub закрыл канал утечки, отключив рендеринг изображений в Copilot Chat. Публичное описание под названием CamoLeak вышло 8 октября 2025 года. Сообщений о реальных жертвах нет, речь идёт о продемонстрированной уязвимости.

Где нарушилась защита

Copilot Chat читает содержимое pull request, включая разметку, которая не отображается в веб-интерфейсе GitHub, и работает с правами пользователя, задавшего вопрос. Скрытый в комментарии текст попадал в контекст модели как инструкция, и ассистент выполнял поиск по приватным репозиториям жертвы. Для вывода данных использовался собственный прокси изображений GitHub (Camo): трафик выглядел как обычная загрузка картинок через доверенную инфраструктуру и не блокировался политикой безопасности контента. Граница доверия нарушалась там, где контент от постороннего автора получал полномочия владельца репозитория.

Последствия

  • В доказательстве концепции извлечены секреты (ключи AWS, токены), фрагменты приватного кода и описание неопубликованной уязвимости
  • Атакующему достаточно было открыть pull request в репозиторий, с которым работает жертва
  • Оценка исследователей по CVSS 9.6; подтверждённых случаев эксплуатации нет

Реакция

GitHub 14 августа 2025 года отключил отображение изображений в Copilot Chat и заблокировал использование Camo для утечки содержимого; публичное раскрытие состоялось 8 октября 2025 года.

Уроки для бизнеса

  1. Ассистент программиста действует с правами разработчика, поэтому любой текст из чужого pull request или issue становится вектором атаки на приватный код
  2. Доверенная инфраструктура самой платформы может стать каналом утечки, который не видят стандартные фильтры
  3. Секреты в репозиториях остаются главным призом для таких атак, даже если репозиторий приватный

Меры, которые предотвратили бы инцидент

  • Не хранить секреты в коде и репозиториях, использовать хранилища секретов и автоматическое сканирование
  • Ограничить доступ AI-ассистента только к репозиториям, нужным для текущей задачи
  • Отключать или фильтровать внешние изображения и ссылки в ответах ассистентов
  • Внимательно проверять pull request от внешних участников, включая скрытую разметку
Проверка фактов

Первоисточники

Legit Security · 2025-10-08CamoLeak: Critical GitHub Copilot Vulnerability Leaks Private Source CodeThe Register · 2025-10-09GitHub patches Copilot Chat flaw that could leak secrets