Файлы README научились обманывать ИИ-агентов и утягивать данные

Файлы README научились обманывать ИИ-агентов и утягивать данные

Файлы README научились обманывать ИИ-агентов и утягивать данные

Исследователи обратили внимание на риски, связанные с ИИ-агентами: оказалось, что даже обычный README-файл в репозитории может стать точкой атаки. Если спрятать в нём вредоносную инструкцию, агент, который помогает разработчику развернуть проект, установить зависимости и запустить команды, может послушно выполнить лишнее действие — например, отправить данные на внешний сервер.

Речь в исследовании (PDF) идёт о так называемой семантической инъекции. Суть в том, что в документацию добавляют шаг, который выглядит как нормальная часть установки: синхронизация файлов, загрузка конфигурации, отправка логов или ещё что-то в таком духе.

Для человека это может выглядеть вполне буднично, а вот ИИ-агент нередко воспринимает такой текст как прямую инструкцию. В результате вместе с «настройкой проекта» он может утянуть наружу локальные файлы, конфиги или другие данные.

Для проверки этой идеи исследователи собрали набор ReadSecBench — 500 файлов README из опенсорс-репозиториев на Java, Python, C, C++ и JavaScript, в которые добавили вредоносные вставки.

После этого они смотрели, как разные ИИ-агенты будут следовать такой документации при настройке проекта. В ряде сценариев скрытые инструкции срабатывали в 85% случаев.

 

Особенно показательно, что многое зависело от формулировки. Если вредоносная команда была написана в лоб, как обычное указание, атака проходила примерно в 84% тестов. А если спрятанная инструкция находилась не прямо в основном README, а, например, через пару переходов по ссылкам внутри документации, успешность вообще доходила примерно до 91%.

Ещё один неприятный момент: люди тоже далеко не всегда замечают подвох. В рамках эксперимента 15 участников вручную просматривали файлы README и пытались отметить что-то подозрительное. Никто из них не смог точно выявить вредоносные инструкции. Более чем в половине случаев рецензенты вообще не оставили замечаний о странном содержимом, а ещё 40% комментариев сводились к стилистике и формулировкам, а не к реальной угрозе.

Автоматические системы защиты тоже показали неидеальный результат. Сканеры часто ругались на обычные README-файлы, потому что документация и так полна команд, путей и кусков кода. Модели-классификаторы давали меньше ложных срабатываний, но всё равно пропускали часть вредоносных инструкций, особенно если те были вынесены в связанные файлы, а не лежали прямо в основном README.

Подпишитесь на новости

Claude Code удалил 116 ГБ и сообщил, что файлы выглядят нормально

Пользователь Windows сообщил, что Claude Code при уборке временных файлов удалил около 116 ГБ данных из его домашней директории. Затем агент заверил, что остановил команду и все выглядит целым. По описанию инцидента, удаление продолжалось еще примерно 50 минут.

В отчете на GitHub пользователь рассказывает, что работал над анализом для соревнования Kaggle.

Основная сессия запустила субагента, который решил очистить собственные временные файлы, но сформировал лишнюю команду рекурсивного удаления.

Целью стала домашняя директория, указанная коротким именем Windows формата 8.3. Автор предполагает, что защитная проверка могла не распознать такой вариант пути. Точный механизм отказа защиты и режим разрешений остаются неизвестными.

Через 120 секунд задача автоматически перешла в фон. Агент запросил остановку и получил сообщение об успехе, однако, судя по описанным изменениям файловой системы, удаление продолжалось. Вероятное объяснение — дочерний процесс пережил остановку задачи.

Проверка тоже оказалась поверхностной: агент посмотрел на названия папок верхнего уровня, которые могли сохраняться, пока их содержимое исчезало.

Пользователь сообщил о потере проектов за несколько месяцев, инструментов разработки, SSH-ключей и учетных данных. В корзине удаленные файлы не оказались. Обращение помечено как ошибка высокого приоритета с потерей данных.

Особенно неприятна в этой истории уверенность агента. Наличие папки еще не означает наличие файлов.

RSS: Новости на портале Anti-Malware.ru