Перейти к основному содержимому
Продвинутый10–16 часов

Лаборатория Source-Sink для Prompt Injection

Постройте red-team лабораторию для прямой и косвенной prompt injection, где риск измеряется реальным путём от контролируемого атакующим source к sensitive sink и побочному эффекту, а не только обходом инструкций.

prompt injectionsource-sink анализэксфильтрация данныхавторизация toolssecurity evaluation

Сценарий

Задача

AI-ассистент читает веб-страницы, документы и RAG-контекст и может вызывать tools. Проверьте, способен ли контролируемый атакующим контент заставить систему раскрыть данные, вызвать опасный tool или изменить business state, даже если модель формально не нарушает системную инструкцию.

Пошаговое выполнение

1. Постройте source-sink модель

Результат: Каждый контролируемый атакующим input и каждый consequential sink имеют явную trust boundary.

Задачи

  • Инвентаризируйте user, web, RAG, tool и memory sources
  • Отметьте secrets, write tools и external egress sinks
  • Свяжите пути source → interpreter → sink
  • Определите, где deterministic policy должна остановить действие

Проверки

  • Нет source без trust classification
  • Write или egress sink не защищён только system prompt

2. Соберите adaptive attack corpus

Результат: Тесты покрывают семейства реалистичных атак, а не один jailbreak prompt.

Задачи

  • Добавьте direct injection
  • Добавьте indirect web и document injection
  • Добавьте RAG poisoning
  • Добавьте tool-result и persistent-memory injection
  • Добавьте обфускацию и multi-step escalation

Проверки

  • Каждый case имеет attack goal и expected safe outcome
  • Корпус versioned и воспроизводим

3. Проверяйте containment, а не только refusal

Результат: Даже скомпрометированное reasoning модели не приводит к опасному side effect.

Задачи

  • Отключайте по одному control
  • Проверяйте allowlists, denylists и schema validation
  • Проверяйте exact-action approval
  • Проверяйте network и URL egress limits
  • Проверяйте secret isolation

Проверки

  • Compromised reasoning не наследует business authority
  • Каждый sensitive sink имеет независимый control

4. Введите release gate

Результат: Критическая source-to-sink regression автоматически блокирует релиз.

Задачи

  • Разделите evals по severity
  • Задайте hard blockers для data exfiltration и unauthorized writes
  • Сохраняйте minimized reproductions
  • Добавляйте incident cases в permanent regression suite

Проверки

  • Никакой aggregate score не скрывает critical failure
  • Каждый production incident может стать воспроизводимым test case

Критерии приёмки

  • Есть полная source-sink карта
  • Корпус содержит direct и indirect injection
  • Sensitive sinks имеют deterministic controls
  • Unauthorized write или egress является hard blocker
  • Есть minimized regression cases и owner residual risk