Перейти до основного вмісту
Просунутий10–16 годин

Prompt Injection Source-Sink Lab

Побудуйте red-team лабораторію для direct/indirect prompt injection, де ризик вимірюється не лише обходом інструкцій, а фактичним шляхом від attacker-controlled source до sensitive sink і side effect.

prompt injectionsource-sink analysisdata exfiltrationtool authorizationsecurity evaluation

Сценарій

Задача

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

Покрокове виконання

1. Побудуйте source-sink модель

Результат: Кожен attacker-controlled input і кожен consequential sink мають явний trust boundary.

Завдання

  • Інвентаризуйте user/web/RAG/tool/memory sources
  • Позначте secrets, write tools і external egress sinks
  • Зв’яжіть source → interpreter → sink paths
  • Визначте, де 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

Результат: Навіть успішна маніпуляція моделі не дає небезпечного side effect.

Завдання

  • Вимкніть один control за раз
  • Перевірте allowlist/denylist і schema validation
  • Перевірте exact-action approval
  • Перевірте network/URL egress limits
  • Перевірте secret isolation

Перевірки

  • Compromised reasoning не успадковує business authority
  • Sensitive sink має незалежний control

4. Введіть release gate

Результат: Критичний source→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 і residual-risk owner

Матеріали перед виконанням