В марте 2026 года заражённый пакет LiteLLM на PyPI за три часа скачали 47 тысяч раз. Этот инцидент — не случайный сбой, а симптом проблемы, которую за год так и не научились решать: prompt injection. Бот hackerbot-claw без участия человека нашёл неправильно настроенный GitHub Actions, украл токен публикации через скомпрометированную сборку Trivy и залил две версии пакета с бэкдором. Заражённый пакет — шлюз к языковым моделям, используемый CrewAI, DSPy, Microsoft GraphRAG и десятками других агентных фреймворков.

Что такое prompt injection на самом деле? Это уязвимость, при которой языковая модель не отличает инструкции от данных. Всё, что попадает в контекст, модель может прочитать как команду. Граница, которая в обычном софте проведена жёстко (например, в SQL через параметризованные запросы), здесь размыта. Термин ввёл Саймон Уиллисон в 2022 году по аналогии с SQL-инъекцией. Первую атаку публично показал Райли Гудсайд. Проблема в том, что для нейросетей не существует структурного разделения кода и данных — можно лишь вероятностно пытаться фильтровать, что атакующий обходит переформулировкой.

Свойство летальной триадыОписаниеПример
Доступ к приватным даннымАгент может читать почту, документы, базы данных, файловую системуЧтение корпоративных документов
Обработка недоверенного контентаАгент обрабатывает данные, которые могут быть отправлены извнеПолучение письма от неизвестного отправителя
Возможность отправить данные наружуАгент может совершать действия, влияющие на внешние системыОтправка письма, создание pull request, вызов API

«Летальная триада», сформулированная Уиллисоном 16 июня 2025 года, описывает три условия опасного агента: доступ к приватным данным, обработка недоверенного контента, возможность отправить данные наружу. Пока есть только два из трёх — катастрофы нет. Но когда сходятся все три, появляется вектор: злоумышленник готовит контент, агент его обрабатывает, и этот контент заставляет агента сделать что-то с приватными данными и отправить результат наружу. Без единой строчки эксплойта в традиционном коде.

В 2026 году prompt injection перестал быть лабораторным курьёзом. Появилась собственная лента CVE, supply-chain инциденты (как с LiteLLM), и — что важнее всего — нет способа «взять и починить». OpenAI открыто называет эту проблему фронтирной. Когда вендор, чей продукт построен на этих моделях, говорит «мы пока не умеем это надёжно чинить», стоит отнестись серьёзно. Прямая инъекция (когда атакующий сам вводит вредоносные инструкции в чат) менее опасна, чем непрямая (indirect), где пейлоад спрятан в контенте, который агент обрабатывает автоматически.

Итог: prompt injection нельзя запатчить обновлением безопасности. Это архитектурное свойство текущих языковых моделей. Единственная защита — проектировать агентов так, чтобы они не обладали летальной триадой: не давать им одновременно доступ к приватным данным, возможность получать внешний контент и право отправлять данные наружу. Но это ограничивает функциональность, ради которой агентов и создают. Компромисс между безопасностью и полезностью остаётся открытым.