- BrainTools - https://www.braintools.ru -

Атака на GitHub Copilot может извлечь содержимое из приватных репозиториев

Исследователи компании Legit Security представили [1] технику атаки на GitHub Copilot, которая позволяет извлечь содержимое из приватных репозиториев при использовании чат-бота для анализа присылаемых pull-запросов. Так, атака позволила определить хранимые в приватном репозитории ключи для доступа к облачному окружению AWS.

Атака на GitHub Copilot может извлечь содержимое из приватных репозиториев - 1

Атака использует способность GitHub Copilot загружать внешние изображения в зависимости от обрабатываемого содержимого и возможность подставлять в pull-запросы скрытые комментарии. Хакер может создать набор однопиксельных прозрачных изображений, каждое из которых соответствуют спецсимволу, цифре или букве алфавита. Далее он отправляет pull-запрос жертве, в котором указывает скрытый комментарий с инструкцией для чат-бота, оформленный в блоке “<!– комментарий –>”.

Атака на GitHub Copilot может извлечь содержимое из приватных репозиториев - 2
Атака на GitHub Copilot может извлечь содержимое из приватных репозиториев - 3
Атака на GitHub Copilot может извлечь содержимое из приватных репозиториев - 4

Скрытый комментарий предлагает боту найти во всех репозиториях пользователя, включая приватные, строки с кодом, содержащим значение “AWS_KEY”, и вывести их не обычным текстом, а используя визуализацию на основе изображений. Для сопоставления символов и картинок в комментарии приводится таблица. При этом ИИ предписывается при выполнении задания не показывать рассуждения и информацию кроме картинок. Поскольку они прозрачные, мейнтейнер не заметит аномалий, а атакующий сможет воссоздать содержимое найденных строк с ключами AWS путём анализа последовательности загрузки картинок в логе веб-сервера.

Атака на GitHub Copilot может извлечь содержимое из приватных репозиториев - 5

Чтобы обойти защиту CSP (Content Security Policy), которая позволяет только загрузку в GitHub Copilot картинок с серверов GitHub, в качестве прокси задействован сервис GitHub Camo. Он используется на платформе как промежуточное звено для загрузки внешних изображений, например, встраиваемых на страницу README. При этом в таблице сопоставления символов указываются не прямые ссылки, а ссылки на сам прокси, оформленные как “https://camo.githubusercontent.com/хэш_картинки”. До этого через GitHub REST API в Camo добавляются и заверяются необходимые пути для перенаправления загрузки изображений. 

Атака на GitHub Copilot может извлечь содержимое из приватных репозиториев - 6
Атака на GitHub Copilot может извлечь содержимое из приватных репозиториев - 7

Ранее Microsoft заявила [2], что переведёт IT-инфраструктуру GitHub на серверы Azure. Это произойдёт в течение следующих 24 месяцев.

Автор: maybe_elf

Источник [3]


Сайт-источник BrainTools: https://www.braintools.ru

Путь до страницы источника: https://www.braintools.ru/article/20564

URLs in this post:

[1] представили: https://www.legitsecurity.com/blog/camoleak-critical-github-copilot-vulnerability-leaks-private-source-code

[2] заявила: https://habr.com/ru/news/954732/

[3] Источник: https://habr.com/ru/news/955588/?utm_source=habrahabr&utm_medium=rss&utm_campaign=955588

www.BrainTools.ru

Rambler's Top100