#promptinjection #rag #vectordb #embedding
RAG — основа корпоративного AI. Поверхность атаки — на каждом уровне: от загрузки документов до кэширования ответов. 24 техники в 5 категориях.
Отравление контекста (5 техник)
Инъекция
[System Override] в индексируемый контент. Иерархическая инъекция на уровнях SYSTEM→DOCUMENT→CHUNK→QUERY. Переполнение контекста — мусорный текст вытесняет системный промпт.PoisonedRAG (USENIX Security 2025): 5 документов в базу из миллионов. Успех: PaLM 2 (540B) — 97%, GPT-4 — 97%, GPT-3.5 — 92%, LLaMA-2-7B — 95%, Vicuna-7B — 88%. Большие модели даже уязвимее — лучше следуют инструкциям из подтянутого контента.
Атаки на эмбеддинги и вектора (7 техник)
Универсальный ловушка — документ с cosine similarity 0.99 к любому запросу. Набивка ключевыми словами. Семантический дрифт: пошаговый сдвиг запроса
query → +security → +internal → +confidential.Инверсия эмбеддингов — восстановление исходного текста из векторов через ближайших соседей.
Манипуляция поиском (5 техник)
Переключение на sparse BM25 для обхода семантических фильтров. Манипуляция весами гибридного поиска (sparse 0.9 / dense 0.1). Отключение reranker для доступа к отфильтрованным результатам.
Эксплуатация структуры (4 техники)
Атака на границы чанков:
[CHUNK_END]...[CHUNK_START] читает соседние фрагменты. IDOR через ссылку на документ: doc_id=../../../etc/passwd. Запрос удалённых и черновых документов.Кэш и метаданные (3 техники)
Отравление семантического кэша — подменённая запись с similarity 0.99. Извлечение метаданных — пути к файлам, авторы, ACL. Зондирование базы знаний — структура, типы документов, покрытие тем.
Реальные кейсы
➡️ Qdrant (популярная векторная БД): дефолтный Docker-образ без аутентификации и с открытым CORS. В одном кейсе — 274,944 вредоносных записей с prompt injection, распределённых по векторному пространству. Срабатывали на любой запрос
➡️ 74% успеха отравления через загрузку документов без санитизации (2025)
➡️ RAGPoison (Snyk, август 2025): отравленные эмбеддинги в конкретных точках семантического пространства через доступ на запись в векторную БД
Защита
➡️ Валидация документов — фильтрация injection-паттернов при загрузке
➡️ Детекция аномалий эмбеддингов — поиск "универсальных ловушкек" с аномально высоким сходством
➡️ Изоляция коллекций — строгое разделение по тенантам и правам
➡️ Контроль доступа к документам — row-level security в векторной БД
➡️ Гибридный поиск — BM25 + векторный поиск блокирует gradient-guided атаки
Моё мнение
Поверхность атаки RAG огромная, и индустрия её недооценивает. Все смотрят на prompt injection в чат, а векторная БД стоит с дефолтным Docker без пароля.
PoisonedRAG на USENIX Security развеял миф "большие модели устойчивее". GPT-4 и PaLM 2 ломаются теми же 5 документами, что и 7B-модели. Атака бьёт не по модели, а по пайплайну поиска — мусор на входе, мусор на выходе, независимо от размера мозга.
OWASP добавил Vector and Embedding Weaknesses в LLM Top 10 2025. Отдельная строчка. Потому что это не подкатегория prompt injection — это целый класс с собственными векторами атак.
🔗Источники:
▪️ PoisonedRAG — USENIX Security 2025
▪️ RAGPoison — Snyk Labs
▪️ Prompt Security — RAG Poisoning PoC
▪️ OWASP LLM Top 10 2025
👾 @poxek_ai