От беззащитного бота до крепости. Четыре уровня защиты MAS — атакуй, наблюдай, понимай.
Атака, при которой злоумышленник внедряет инструкции в контекст LLM, заставляя модель выполнять непредусмотренные действия. SQL-инъекция, но для нейросетей.
Пользователь явно просит модель сменить поведение: Ignore all previous instructions, role hijacking, запрос системного промпта.
Вредоносные инструкции скрыты в данных, которые модель читает: документы, email, web-страницы. Агент выполняет инъекцию, не зная об этом.
Серия безобидных запросов, каждый сам по себе безопасен, но в комбинации они готовят и эксплуатируют уязвимость. Трудно детектировать.
Извлечение конфиденциальных данных: системные промпты, API-ключи, персональные данные клиентов, внутренняя конфигурация системы.
Персональные данные клиентов, условия NDA, внутренние регламенты — всё, что есть в контексте LLM, может быть извлечено.
Бот рекомендует конкурента, оскорбляет клиента или выдаёт фейковую информацию о продуктах. Скриншот в соцсетях — и готов скандал.
Агент одобряет операцию, которую не должен. В банковском контексте это может означать прямые финансовые потери.
Простейшая архитектура — один вызов LLM. Системный промпт, сырые документы в контексте, сообщение пользователя. Без какой-либо фильтрации. Документы содержат скрытую инъекцию, которая активируется при обращении к данным о пенсионном вкладе.
Добавляем Sanitizer на входе и Output Guard на выходе. Прямые инъекции теперь блокируются. Но indirect injection через документы проходит — sanitizer проверяет только user input, а не содержимое документов.
Ключевая идея — изоляция контекстов. Doc Checker получает ТОЛЬКО документы, без user input. Он не знает, что спросил пользователь, поэтому его нельзя обмануть через input. Любой текст, который выглядит как инструкция в банковском документе — аномалия.
Радикальный подход: LLM никогда не видит сырые документы. Данные заранее извлечены в структурированный JSON — «light assets». В JSON нет места для инструкций. Дополнительно — Qwen 3 30B с thinking-режимом, которая рассуждает перед ответом.
| Lv.1 Naive | Lv.2 Chain | Lv.3 Inspector | Lv.4 Fortress | |
|---|---|---|---|---|
| Модель | DeepSeek V3 | DeepSeek V3 | DeepSeek V3 | Qwen 3 30B |
| Агенты | 1 | 3 | 4 | 3 + offline |
| Direct injection | Vulnerable | Blocked | Blocked | Blocked |
| Indirect injection | Vulnerable | Vulnerable | Detected | Impossible |
| Data exfiltration | Vulnerable | Partial | Blocked | Blocked |
| Данные | Raw docs | Raw docs | Cleaned docs | JSON facts |
| LLM вызовов | 1 | 3 | 4 | 3 |