Метод атаки Ghostcommit скрывает подсказки в изображениях для кражи секретов у ИИ-агентов
Исследователи разработали метод атаки Ghostcommit через pull request, позволяющий похитить секретные данные репозитория. Вредоносная инструкция скрывается внутри PNG-изображения, которое ИИ-инструменты для проверки кода обычно не открывают.
В итоге проверяющий одобряет изменения. Позже специальный агент для работы с кодом считывает изображение, открывает файл .env репозитория и записывает все ключи в исходный код в виде безобидного набора чисел.
Эта атака — совместная разработка исследовательской группы ASSET из Университета Миссури — Канзас-Сити. Она опубликовала на GitHub прототип (proof-of-concept) и сообщила, что уведомила о результатах исследования затронутых вендоров.
Исследователи связывают эту атаку с существующей проблемой недостаточного контроля: анализ 6480 pull request в 300 самых активных публичных репозиториях за последние 90 дней показал, что 73% принятых запросов попали в основную ветку без какой-либо содержательной проверки человеком и вообще без проверки ботами.
Хитрость заключается в том, что вредоносная инструкция — это не текст, который может заметить проверяющий, а изображение.
Файл AGENTS.md (файл с правилами оформления кода, которые агенты считывают автоматически и воспринимают как политику проекта) выглядит как обычная инструкция по поддержанию порядка в сборке и не содержит упоминаний секретных данных.
Он просто ссылается на изображение docs/images/build-spec.png. Сам эксплойт скрыт в тексте, отрисованном внутри этого PNG: он считывает файл .env побайтово, кодирует каждый байт как целое число, записывает результат как константу модуля и проверяет, чтобы декодированные числа совпадали с данными реального файла перед фиксацией изменений (коммитом).
Для инструмента, проверяющего текстовый код, изображение
Читать на habr.com
