Что это
Главный класс уязвимостей агентов — prompt injection: LLM выполняет инструкции из любого текста, который попал ему в контекст, не отличая «команду пользователя» от «команды злоумышленника, спрятанной в данных». Саймон Уиллисон сформулировал «летальную трифекту» — комбинацию из трёх способностей, которая делает атаку тривиальной.
Три компонента трифекты:
- Доступ к приватным данным (агент читает почту, документы, БД).
- Контакт с недоверенным контентом (письма, чужие доки, веб-страницы).
- Возможность отправить данные наружу (вызвать API, отрисовать картинку по URL, сгенерить ссылку).
Собрались все три — злоумышленник через инъекцию в данных может выманить приватные данные наружу.
Откуда пошло
- 16 июня 2025 — Саймон Уиллисон публикует заметку «The Lethal Trifecta for AI Agents».
- Лето 2025 — серия реальных эксплойтов: Microsoft 365 Copilot, официальный GitHub MCP-сервер, GitLab Duo и др.
- Meta выпускает рамку «Agents Rule of Two», вдохновлённую трифектой.
Почему это критично сейчас
- MCP поощряет смешивать инструменты из разных источников — то есть собирать все три условия трифекты по неосторожности.
- Исследования сходятся: prompt injection — нерешённая проблема; фильтры и блок-листы недостаточно надёжны.
- Чем автономнее агент (computer-use, фоновые задачи), тем выше ставка ошибки.
Как защищаться
- Разрывай трифекту: не давай одновременно приватные данные + недоверенный контент + канал наружу.
- Read-only там, где не нужна запись; необратимые действия — только с подтверждением человека.
- Изолируй агента (песочница), ограничивай инструменты под-агентов, логируй действия.
На что обратить внимание
- «Мы добавили фильтр инъекций» — не считается надёжной защитой; полагайся на архитектуру прав, а не на фильтр.
- Опасность не только в коде, но и в данных: вредоносная инструкция может прийти в issue, письме, на веб-странице.
- Supply-chain MCP-серверов — отдельный вектор: ставь только проверенное.