Исследователи обнаружили новую технику 'Ghostcommit', скрывающую вредоносные команды в файлах изображений и обманывающую ИИ для кражи конфиденциальных данных
Команда исследователей безопасности продемонстрировала технику 'Ghostcommit', которая позволяет внедрять вредоносные команды в файлы изображений PNG, чтобы избежать обнаружения и успешно обманывать ИИ, заставляя его писать код для извлечения важной информации из проекта.
ASSET Research Group, группа исследователей безопасности, представила новую технику атаки под названием 'Ghostcommit', которая позволяет скрывать вредоносные команды типа Prompt Injection (ввод команд для несанкционированного управления ИИ) в безобидных на вид файлах изображений, таких как PNG, для кражи конфиденциальных данных, таких как API Keys или пароли баз данных, из репозиториев разработчиков.
Метод Ghostcommit использует слепые пятна популярных инструментов для проверки кода на основе ИИ (AI code reviewer), таких как CodeRabbit и Bugbot, которые обычно не предназначены для открытия или анализа содержимого файлов изображений, что позволяет скрытым командам легко оставаться незамеченными. Эта техника работает путем разделения атаки на две части. Первая часть — это обычный на вид текстовый файл (в данном случае AGENTS.md), который инструктирует AI agent 'извлечь константы для сборки' из указанного файла изображения (docs/images/build-spec.png). Вторая часть, являющаяся сердцем атаки, — это вредоносная команда, встроенная в виде текста в сам файл изображения. Эта команда предписывает ИИ посимвольно прочитать содержимое файла .env (файла, который разработчики часто используют для хранения конфиденциальных данных), затем преобразовать его в числовые ASCII-коды, прежде чем записать их в код.
В реальном тесте исследователи продемонстрировали это на Cursor, AI agent, работающем на модели Claude Sonnet. Выяснилось, что Cursor был успешно обманут и выполнил скрытую в изображении команду с первой попытки. Он сгенерировал список из 311 чисел, которые на самом деле представляли собой все конфиденциальные данные проекта — API keys, URL баз данных и учетные данные для доступа к облаку, — преобразованные в коды и смешанные с обычным, на вид, обзором кода.
Эта уязвимость возможна потому, что для текстоориентированных систем проверки кода файлы изображений представляют собой просто Binary Blob (группу двоичных данных), которые невозможно прочитать или понять. Исследователи отмечают, что это не совсем новая концепция. Ранее исследователи из Trail of Bits также демонстрировали более сложную технику, используя изображения, которые при уменьшении ИИ превращались в команды Prompt Injection для обмана таких инструментов, как Gemini CLI. В настоящее время команда ASSET Research Group разрабатывает мультимодальную (понимающую различные форматы данных) систему защиты для одновременной проверки изображений, текста и поведения AI agent, чтобы устранить подобные уязвимости в будущем.
Эта уязвимость указывает на серьезные слепые пятна в современных инструментах ИИ для разработки программного обеспечения и служит предупреждением для таиландских разработчиков, использующих AI agent, что даже на вид безобидные файлы изображений могут стать путем для злоумышленников для кражи критически важных данных проекта.