Pandex показала риск запуска вредоносного кода через файлы llms.txt
Исследователи смогли заставить ИИ-агентов крупных компаний запускать подготовленный ими Python- и Node-код, используя устаревшие либо ошибочные инструкции на сайтах разработчиков. Проблема связана с файлами llms.txt, которые агенты читают как руководство по работе с программными продуктами.

Исследователи Pandex сообщили о способе заставить ИИ-агентов выполнять произвольный код через файлы llms.txt. Такие файлы часто размещают на сайтах программных продуктов: они позволяют агенту быстро получить описание проекта, сведения о зависимостях и команды для установки, не разбирая всю документацию.
Авторы исследования подготовили Python- и Node-код, который при запуске связывался с их сервером. По данным Pandex, первый запуск одного из подготовленных исследователями вредоносных образцов агентом произошёл уже через четыре минуты после публикации.
Атака не требовала прямой ссылки на llms.txt или явной prompt-инъекции в пользовательском запросе. Достаточно было поручить агенту на основе документации поставщика собрать и запустить Node.js-проект с SDK этого поставщика. Затем агент самостоятельно искал инструкции и мог выполнить указанную в них команду установки.
Pandex проверила 8565 файлов llms.txt и обнаружила 237 ссылок на пакеты и адреса, которые больше не существуют, ещё не были зарегистрированы, содержат опечатки, перенесены в другое место или расходятся с актуальной документацией. Среди них были ссылки на реестры PyPI, npm, RubyGems, NuGet, crates.io и Packagist, а также на истёкшие домены и заброшенные поддомены хостинговых платформ. Такие адреса может занять посторонний человек и разместить там вредоносный пакет или скрипт.
Исследователи также заявили, что нашли как минимум один случай, когда этот приём уже применили с настоящим вредоносным ПО, и уведомили разработчика соответствующего продукта.
В тестах Pandex более автономные модели запускали подготовленный код чаще: GPT-5 Luna и Sol делали это в 90% и более случаев. Claude Opus 4.8 в режиме medium effort запускала подготовленный код примерно в 30% случаев.
Проблема в том, что для агента текст инструкции и команда, которую следует выполнить, оказываются частью одного входного контекста. При этом llms.txt опубликован на официальном сайте продукта и выглядит для модели авторитетным источником. Дополнительные проверки — например, сверка с документацией и проверка доменов — потребовали бы токеноёмкого анализа, которого llms.txt призван помочь избежать.