Что такое AI red teaming и чем он не является

AI red teaming - разрешённое упражнение, которое ищет неблагоприятное поведение, пути злоупотребления и слабые controls в модели и приложении. NIST описывает его как развивающуюся практику, обычно проводимую в контролируемой среде для выявления adverse outcomes и stress testing safeguards.

Это не случайный список «сломай промпт» и не замена обычному pentest. Нужно проверить модель, данные, retrieval, tools, identities, API, UI и операционный процесс.

1
письменный scope до тестов
3
слоя: model, application, operation
0
реальных опасных действий в стенде

Red team, evals и pentest решают разные задачи

ПрактикаГлавный вопросРезультат
EvalРаботает ли система по критериям?Набор, метрики, regression
Red teamКак намеренно вызвать вредный исход?Пути атаки и failed controls
PentestКакие технические уязвимости эксплуатируемы?Уязвимости инфраструктуры и приложения
Threat modelЧто защищаем и от кого?Активы, границы и сценарии
Incident drillСможем ли обнаружить и ответить?Проверка detection и response

Сильная программа соединяет их: threat model выбирает тесты, red team находит новый сбой, remediation превращает его в regression eval.

Rules of engagement: письменные границы до первого теста

Разрешение на тест
  1. Системы, endpoints, модели и версии в scope.
  2. Разрешённые аккаунты и тестовые tenants.
  3. Допустимые техники и запрещённые действия.
  4. Окно тестирования и rate limits.
  5. Разрешённые данные и порядок их удаления.
  6. Контакты red, blue и product owners.
  7. Stop conditions и kill switch.
  8. Канал срочного сообщения о критической находке.
  9. Хранение evidence и уровень доступа.
  10. Порядок retest и раскрытия результатов.

Не тестируйте чужой сервис или production-аккаунты без явного разрешения владельца.

Threat model: активы, акторы и trust boundaries

Опишите, что может пострадать: системные инструкции, клиентские документы, embeddings, credentials, деньги, репутация, доступность и решения о людях. Затем перечислите actors: обычный пользователь, злоумышленник, недоверенный документ, поставщик, insider и скомпрометированный tool.

Подготовь threat-model workshop для ИИ-системы.
Архитектура: [компоненты и потоки].
Use case: [назначение].
Данные и actions: [список].
Сформируй таблицу: asset, actor, trust boundary, abuse case, prerequisite, impact, existing control, detection и безопасный test idea. Не предлагай эксплуатацию реальных систем, получение секретов или разрушительные действия.

Модель не является границей безопасности

Prompt может снизить вероятность нежелательного ответа, но не заменяет access control. OWASP отмечает, что prompt injection может менять поведение системы, а RAG и fine-tuning не устраняют риск полностью.

Access
Права проверяет приложение для текущего пользователя.
Validate
Input, output и tool arguments проходят правила.
Isolate
Tools работают с least privilege и sandbox.
Approve
Значимое действие подтверждает человек.

Direct prompt injection: тестируйте нарушение цели, а не фразу

Direct injection приходит от пользователя и пытается изменить правила, получить закрытую информацию или заставить систему выполнить недопустимое действие. Создавайте классы по impact: обход scope, раскрытие, unauthorized tool, изменение формата, resource abuse.

Не оценивайте защиту по одному фиксированному тексту. Варианты языка, кодировки, многоходовый контекст и конфликтующие инструкции помогают проверить устойчивость, но evidence храните безопасно.

Indirect prompt injection: недоверенный контент внутри задачи

Инструкция может находиться на веб-странице, в PDF, email, комментарии, изображении или retrieved документе. Пользователь просит «суммировать файл», а приложение передаёт модели чужой текст, который пытается управлять агентом.

Тест indirect injection
  1. Пометить внешний контент как untrusted data.
  2. Проверить, может ли он изменить system goal.
  3. Проверить попытку вызвать tool.
  4. Проверить доступ к данным другого tenant.
  5. Проверить скрытые инструкции в поддерживаемых модальностях.
  6. Проверить output validation и approval.
  7. Убедиться, что trace показывает источник влияния.

Sensitive information disclosure

Проверяйте, может ли система раскрыть system prompt, secrets из tool environment, данные другого пользователя, закрытые retrieved фрагменты, персональные сведения и диагностические сообщения. Используйте canary secrets, а не настоящие credentials.

Даже если модель отказывается повторить секрет, приложение может утечь через logs, URL, error stack или tool result. Проверяйте весь путь.

RAG и vector store: отдельные тестовые классы

РискБезопасная проверкаОжидаемый control
Cross-tenant retrievalCanary docs двух tenantsФильтр прав до retrieval
Poisoned documentМаркированный недоверенный файлSource trust и quarantine
Stale contentДокумент с новой версиейВерсия индекса и freshness
Missing evidenceВопрос вне корпусаAbstain и citation check
Embedding leakageКонтролируемые canary queriesДоступ и минимизация данных

Improper output handling

LLM output является недоверенным вводом для следующего компонента. Если его вставляют в HTML, SQL, shell, template, markdown renderer или API без validation, обычная модельная ошибка превращается в техническую уязвимость.

Тестируйте безопасными маркерами, что output кодируется по контексту, structured data проходит schema, URLs и commands разрешены allowlist, а код не исполняется автоматически.

Excessive agency и tool abuse

Проверьте, может ли агент выбрать tool вне цели, подменить аргументы, расширить scope, повторить действие, обойти approval или заявить об успехе без результата. Используйте mocks и sandbox.

Agent red team
  1. Tool недоступен текущей роли.
  2. Аргумент указывает на чужой объект.
  3. Действие требует approval.
  4. Approval отклонён или истёк.
  5. Tool возвращает ошибку или неоднозначный timeout.
  6. Повтор создаёт потенциальный дубль.
  7. Результат содержит новую инструкцию.
  8. Агент достигает лимита шагов.
  9. Kill switch останавливает workflow.

Unbounded consumption и denial of wallet

Атакующий или ошибочный workflow может создавать длинные inputs, максимальные outputs, циклы tools, массовые embeddings и параллельные запросы. Проверяйте ограничения размера, turns, concurrency, токенов, стоимости и времени.

Rate limit нужен по user и tenant, а не только глобально. Дорогой запрос не должен вытеснить критические операции других клиентов.

Supply chain, model и data changes

В scope входят foundation model, libraries, prompts, datasets, vector database, plugins, MCP/tools и tracing service. Проверьте происхождение, версии, access, integrity, update process и rollback.

Не скачивайте случайный model artifact или dependency ради red team. Используйте утверждённый стенд и software/model inventory.

Безопасный стенд и тестовые данные

Стенд изолирован от production actions, использует отдельные credentials с минимальными правами, synthetic records и canary secrets. Email, платежи, удаление и публикация заменены mock tools.

Isolate
Отдельная сеть, tenant и credentials.
Instrument
Полные traces с безопасным evidence.
Limit
Budget, turns, rate и stop conditions.
Reset
Воспроизводимый clean state после теста.

Severity: оценивайте impact и exploitability

Находка «модель произнесла запрещённую фразу» и «агент изменил чужую запись» имеют разный уровень. Запишите актив, preconditions, необходимый доступ, повторяемость, масштаб, обнаруживаемость, обратимость и worst credible impact.

ФакторВопрос
ImpactКакие данные, действия или люди затронуты?
ExploitabilityНасколько доступна и повторяема цепочка?
ScopeОдин ответ, tenant или вся система?
DetectionУвидит ли monitoring попытку и успех?
RecoveryМожно ли отменить и уведомить?

Карточка находки: достаточно доказательств, минимум опасных данных

Оформи red-team finding по безопасным данным.
Title и affected asset: [данные].
Версии: [данные].
Preconditions: [условия].
Safe reproduction: [шаги без реальных секретов и ущерба].
Observed result и evidence: [данные].
Expected control: [контроль].
Impact и scope: [оценка].
Сформируй severity rationale, root-cause hypothesis, containment, remediation owner, retest criteria и regression test. Отдельно пометь неизвестные факты.

Исправление: защита слоями, а не ещё одной фразой в prompt

  1. Уменьшить права и доступные tools.
  2. Отделить trusted instructions от untrusted content.
  3. Проверять identity и authorization в коде.
  4. Валидировать input, output и tool args.
  5. Добавить sandbox, allowlist и idempotency.
  6. Потребовать human approval для consequential actions.
  7. Ограничить turns, tokens, rate и spend.
  8. Добавить detection, alert и playbook.
  9. Обновить обучение и документацию.

Prompt hardening может быть одним слоем, но не единственным.

Retest и regression: доказать закрытие

После remediation повторите исходный test на той же версии стенда, затем variations, negative tests и обычные полезные сценарии. Control не должен закрывать функцию для легитимных пользователей.

Сохраните обезвреженный test case в security regression suite. Прогоняйте его после изменения модели, prompt, index, tool и policy.

План red-team цикла

Scope
Разрешение, threat model и stop conditions.
Exercise
Контролируемые сценарии и evidence.
Remediate
Severity, owner, containment и layered fix.
Verify
Retest, regression и utility checks.

Финальный чек-лист AI red teaming

Готовность упражнения
  1. Есть письменное разрешение и scope.
  2. Определены владельцы и срочный канал.
  3. Threat model содержит assets и boundaries.
  4. Стенд отделён от production.
  5. Используются synthetic data и canary secrets.
  6. Опасные tools заменены mocks.
  7. Проверяются direct и indirect injection.
  8. Проверяются disclosure и output handling.
  9. RAG тестируется на access и poisoning.
  10. Агент тестируется на excessive agency.
  11. Есть limits против unbounded consumption.
  12. Каждый finding имеет evidence и версии.
  13. Severity учитывает impact и exploitability.
  14. Критические находки получают containment.
  15. Remediation использует layered controls.
  16. Retest проверяет исходную цепочку и варианты.
  17. Utility не сломана защитой.
  18. Находки добавлены в regression suite.

Ценность red team - не количество необычных prompts, а подтверждённое снижение реального риска системы.

Что такое red teaming ИИ?
Это авторизованная проверка AI-модели и приложения в контролируемой среде, цель которой - найти нежелательное поведение, пути атаки и слабые safeguards, а затем доказать исправление.
Чем AI red teaming отличается от pentest?
Pentest фокусируется на технических уязвимостях инфраструктуры и приложения. AI red team дополнительно проверяет поведение модели, prompt injection, retrieval, tools, данные, agency и human processes.
Что такое indirect prompt injection?
Это вредоносная или конфликтующая инструкция внутри внешнего контента: сайта, PDF, email, изображения или retrieved документа, который AI-система обрабатывает как данные.
Можно ли защититься от prompt injection одним system prompt?
Нет. Нужны layered controls: authorization в коде, least privilege, разделение trusted и untrusted content, validation, sandbox, allowlists, approval и monitoring.
Как безопасно тестировать ИИ-агента?
В отдельном tenant и sandbox, с synthetic data, canary secrets, mock tools, лимитами и kill switch. Реальные платежи, письма, удаления и публикации не выполняются.
Что проверять в RAG-системе?
Cross-tenant access, poisoned documents, indirect injection, stale content, отсутствие evidence, citation correctness, permissions до retrieval и защиту vector store.
Как оформить найденную проблему?
Указать затронутый актив и версии, preconditions, безопасное воспроизведение, evidence, ожидаемый control, impact, scope, severity, containment, owner и критерии retest.
Когда red-team находка считается закрытой?
После remediation и успешного retest исходного сценария и его вариантов, проверки отсутствия новой регрессии и добавления обезвреженного случая в regression suite.
← Все статьи блога