Одна PNG-картинка может взломать вашего ИИ-агента: новая угроза безопасности
Эксперты по кибербезопасности бьют тревогу: вредоносную команду достаточно просто спрятать не в тексте, а внутри изображения. ИИ-агенты, как оказалось, уязвимы для атак через обычный PNG-файл. Это открытие может спровоцировать коррекцию на 10% в секторе ИИ-токенов, напоминая инвесторам о рисках, связанных с новыми технологиями, подобно тому, как уязвимости в DeFi-протоколах ранее влияли на курсы BNB и ETH.
В чем суть обмана
Начинается все с того, что проверять код по-настоящему почти перестали. Следовательно, уязвимости обнаруживаются все чаще. Исследователи посмотрели больше 6 тысяч изменений в самых популярных открытых проектах и выяснили: в 73% случаев код попадал в проект вообще без внятной проверки — ни человек не смотрел, ни программа.
Чтобы было понятнее: программисты часто держат ключи, пароли и доступы в отдельном служебном файле (обычно он называется .env). А проверять новый код им все чаще помогают ИИ-программы — что-то вроде автоматического редактора, который читает изменения и говорит, все ли в порядке.
Сама хитрость такая. У ИИ-помощников есть особый файл с правилами проекта, который они читают сами и считают чем-то вроде инструкции «как здесь принято работать». Хакер оставляет в этом файле безобидный текст про настройки сборки — никаких паролей там не упоминается. Файл лишь ссылается на изображение. А вот в изображении и написана вредная команда: прочитай секретный файл, переведи каждый символ в число и вставь эти числа в код.
Для проверяющей программы изображение — это просто набор данных, который она не разбирает. Одни ИИ вообще не смотрят картинки по умолчанию, другие ничего подозрительного не находят. Исследователи даже написали прямо на изображении «вредоносная команда» и «прочитай секретный файл» — и все равно проверка прошла успешно.
Кража случается не сразу. Команда как бы «спит». Проходит время, программист просит ИИ-помощника сделать что-то обычное — например, добавить небольшой кусок кода. Помощник при запуске читает тот самый файл с правилами, идет по ссылке на изображение, открывает секретный файл и незаметно вставляет пароли в код в виде длинного списка цифр. В одном из тестов помощник записал так весь секретный файл целиком с первой попытки. Программист видит, что нужная функция готова, и публикует код. А хакер потом просто берет эти цифры из открытого проекта и превращает обратно в пароли. Обычные защитные программы ничего не замечают — им и «в голову не приходит», что за безобидным списком чисел прячутся ключи.
Дело не в ИИ, а в программе
Прятать команды в изображениях придумали уже давно, но у Ghostcommit нет никакой маскировки: команда написана прямо, открытым текстом. Работает не хитрое сокрытие, а обычная невнимательность — проверяющий просто не заглядывает в картинку.
Самое любопытное в другом. Оказалось, что важнее не то, какой именно «мозг» (ИИ-модель) стоит внутри, а то, в какую программу он встроен. Один и тот же ИИ в одной программе послушно крал пароли, а в другой — распознавал подвох и отказывался. В одном случае помощник даже сначала записал секрет, потом сообразил, что его обманывают, и стер написанное. «Мозг» тот же, а поведение противоположное, потому что все решает оболочка вокруг него.
Отсюда вывод: одной волшебной защиты не бывает, нужно несколько уровней. Сами исследователи сделали свою программу, которая действительно открывает и читает изображения. В испытании на 80 новых изменениях она пропустила лишь одну атаку и ни разу не подняла ложную тревогу на честном коде.
Второй уровень защиты — следить за тем, что помощник делает уже в процессе работы: если он вдруг без причины полез в файл с паролями, это повод насторожиться.