RAG Poisoning

RAG / retrieval poisoning — «отравление» базы знаний внедрением вредоносных документов: отравленные доки в индексе влияют на вывод и действия агента при поиске. Это форма косвенной Prompt Injection через слой retrieval. Особенно опасно самоотравление — когда выход агента пишется обратно в хранилище.

Суть

Атакующему достаточно внедрить малую долю вредных документов (порядка 0.1% индекса), чтобы поменять логику ответов. Когда retriever достаёт чанк, вместе с полезным текстом в контекст модели попадает скрытая инструкция — и агент может её исполнить.

Зачем это нужно

RAG в блокноте рассматривался как способ дать агенту актуальные данные (RAG, Agentic RAG); эта заметка добавляет к нему security-измерение: индекс — это тоже недоверенный вход. Без провенанса источников любой агент с веб-доступом или пользовательской загрузкой документов уязвим.

Как работает

Вектор:

  • Внедрение скрытого текста в документы, которые попадут в индекс (PDF, веб-страницы).
  • Самоотравляющиеся системы — отдельный риск: самообучающиеся агенты с графами знаний ходят в интернет и дописывают свою базу; если выход пишется обратно в хранилище, ошибочный/вредный контент закрепляется.

Защита — провенанс и изоляция:

  • Провенанс источников — вместе с чанком из векторной базы передаются метаданные: кто добавил документ, когда, через какой канал. Агент принимает решения не только по содержимому, но и по происхождению.
  • Trust-метки источников:
    • source: internal_wiki, trust: high
    • source: user_uploaded_pdf, trust: medium
    • source: scraped_web_page, trust: low
    • source: external_email, trust: untrusted
  • Изоляция недоверенного контента — не давать данным из низкодоверенных источников влиять на flow/вызовы инструментов без дополнительной проверки (spotlighting, см. Guardrails).
  • Retrieval filtering (DLP) — фильтровать результаты поиска до попадания в контекст: документ с зарплатами может быть найден, но не должен уйти в промпт (DLP for LLM).

Связано с

  • Prompt Injection — RAG poisoning = косвенная инъекция через индекс
  • RAG — базовый механизм, к которому добавляется security-слой
  • Guardrails — изоляция недоверенного контента, «документы — это данные»
  • DLP for LLM — retrieval filtering на этапе поиска
  • Agent Security — место в модели угроз

Открытые вопросы

  • Как детектировать уже попавший в индекс отравленный документ (а не только фильтровать на входе)?