Вразливість GitHub Copilot Chat дозволяла викрадали чужі ключі та інші конфіденційні дані
Дослідник безпеки Омер Майраз виявив критичну вразливість у GitHub Copilot Chat (CVSS 9.6). Вона дозволяла непомітно отримувати вміст приватних репозиторіїв, включно з секретами (AWS-ключі, токени та інші дані). Крім того, через вразливість можна було повністю контролювати відповіді Copilot, пропонуючи шкідливі підказки іншим користувачам. Про це пише Tech Republic.
Проблему, яку було помічено в червні цього року, у серпні було закрито. Після того, як у GitHub отримали звіт через HackerOne, компанія відключила рендеринг зображень у Copilot Chat як тимчасовий захід і випустила виправлення.
Атака комбінувала дві техніки: віддалену промт-ін’єкцію та обхід Content Security Policy (CSP) GitHub.
Дослідник вставляв «приховані» коментарі за допомогою тегу <!– This content will not appear in the rendered Markdown –> або невидимі фрагменти в описи pull request. Як виявилось, цей вміст був доступний Copilot Chat у будь-якого відвідувача сторінки.
Далі застосовувався трюк із GitHub Camo — проксі, через який GitHub переписує зовнішні посилання зображень. Зловмисник заздалегідь згенерував «словник» валідних Camo-URL для символів/літер та попросив Copilot «відмалювати» потрібні дані як послідовність 1×1-картинок.
При завантаженні ці картинки проксирувалися GitHub і робили можливим приховану ексфільтрацію. Скомбінований ефект: Copilot, що працює з жертвами, міг знайти файли з мітками на кшталт AWS_KEY, закодувати їх і повернути назовні.
Атака могла скомпрометувати приватний код та секрети, що є реальним ризиком для CI/CD, хмарних облікових записів та цілісності проектів.
Щоб уникнути проблем, адмінам репозиторіїв та командам рекомендується виконати наступні дії:
- негайно переглянути доступи та аудит логів у GitHub;
- регулярно змінювати ключі та секрети (особливо AWS, токени CI);
- за можливості відключити Copilot Chat для важливих репозиторіїв або обмежити його доступ;
- стежити за оновленнями від GitHub та застосувати виправлення.
GitHub Copilot Chat — це вбудований у GitHub помічник на основі штучного інтелекту, який допомагає розробникам, відповідаючи на запитання, пояснюючи код та пропонуючи реалізації безпосередньо в їхньому робочому процесі.
Copilot Chat враховує контекст: він може використовувати інформацію з репозиторію (наприклад, код, коміти або pull request) для надання персоналізованих відповідей.
Нагадаємо, що GitHub Copilot тепер може автоматично модернізувати застарілі програми Java та .NET.
Сообщить об опечатке
Текст, который будет отправлен нашим редакторам: