Исследователи обратили внимание на риски, связанные с ИИ-агентами: оказалось, что даже обычный README-файл в репозитории может стать точкой атаки. Если спрятать в нём вредоносную инструкцию, агент, который помогает разработчику развернуть проект, установить зависимости и запустить команды, может послушно выполнить лишнее действие — например, отправить данные на внешний сервер.
Речь в исследовании (PDF) идёт о так называемой семантической инъекции. Суть в том, что в документацию добавляют шаг, который выглядит как нормальная часть установки: синхронизация файлов, загрузка конфигурации, отправка логов или ещё что-то в таком духе.
Для человека это может выглядеть вполне буднично, а вот ИИ-агент нередко воспринимает такой текст как прямую инструкцию. В результате вместе с «настройкой проекта» он может утянуть наружу локальные файлы, конфиги или другие данные.
Для проверки этой идеи исследователи собрали набор ReadSecBench — 500 файлов README из опенсорс-репозиториев на Java, Python, C, C++ и JavaScript, в которые добавили вредоносные вставки.
После этого они смотрели, как разные ИИ-агенты будут следовать такой документации при настройке проекта. В ряде сценариев скрытые инструкции срабатывали в 85% случаев.
Особенно показательно, что многое зависело от формулировки. Если вредоносная команда была написана в лоб, как обычное указание, атака проходила примерно в 84% тестов. А если спрятанная инструкция находилась не прямо в основном README, а, например, через пару переходов по ссылкам внутри документации, успешность вообще доходила примерно до 91%.
Ещё один неприятный момент: люди тоже далеко не всегда замечают подвох. В рамках эксперимента 15 участников вручную просматривали файлы README и пытались отметить что-то подозрительное. Никто из них не смог точно выявить вредоносные инструкции. Более чем в половине случаев рецензенты вообще не оставили замечаний о странном содержимом, а ещё 40% комментариев сводились к стилистике и формулировкам, а не к реальной угрозе.
Автоматические системы защиты тоже показали неидеальный результат. Сканеры часто ругались на обычные README-файлы, потому что документация и так полна команд, путей и кусков кода. Модели-классификаторы давали меньше ложных срабатываний, но всё равно пропускали часть вредоносных инструкций, особенно если те были вынесены в связанные файлы, а не лежали прямо в основном README.








