Инцидент на проде: Как ИИ-ассистент на RAG открыл бэкдор...

Пятница. Дождь за окном. 23:14. На телефон сообщения от бота, дашборды SIEM-системы вспыхивают алертами критического уровня. А коллега пишет "Витя, что-то не так" Быстрое расследование показывает хохму: инженер спросил корпоративного ИИ-бота, как заблокировать проброс портов в iptables. Бот услужливо сгенерировал скрипт. Инженер, не глядя, применил его на сервере, и вместо блокировки открыл уязвимый порт всему интернету. Как продвинутая языковая модель подставила инфраструктуру? Бот работал на базовой архитектуре RAG (Retrieval-Augmented Generation). В корпоративной базе знаний лежал регламент по разрешению трафика. Для векторной базы слова «заблокировать» и «разрешить» в контексте сетевых настроек находятся в одной смысловой координате - это и есть "векторная слепота" во плоти.

Разберем, как перестать надеяться на магию математики и построить безопасный конвейер данных. Сразу отметём вариант "А нечего использовать ИИ": мы люди современные, идём в ногу со временем, правда путём проб и ошибок)

Диагностика: Почему сломался векторный поиск. Скармливать LLM сырые куски текста, опираясь только на косинусное сходство эмбеддингов - архитектурный провал. Игнорирование полярности: Векторные модели блестяще улавливают общую тематику (сети, порты, протоколы), но тупы в отрицаниях. Антонимы сливаются в единый кластер, выдавая опасные инструкции. Смысловой разрыв: Алгоритмы, нарезающие документы на фиксированные блоки по 1000 токенов, уничтожают контекст. В окно генерации может попасть начало из строгого регламента ИБ, а конец — из черновика стажера.

Архитектурное решение: Гибридный подход и фильтрация Векторный поиск обязан работать в связке с лексическим поиском (BM25), который цепляется за точные совпадения технических терминов и команд. Но главный рубеж защиты - предфильтрация по метаданным до этапа векторного сравнения. Финальный рубеж: Re-ranking Даже сузив контекст, мы упираемся в ограничение памяти LLM: модель часто забывает важные факты, оказавшиеся в середине списка. Решение — интеграция моделей Cross-Encoder (например, Cohere Rerank). Они не ищут сходство, а попарно перепроверяют логическую связь между запросом и каждым из 15 найденных чанков. В итоговый промпт отправляются только 3-4 самых точных фрагмента. Языковая модель в RAG — это исключительно речевой интерфейс. Безопасность и техническая точность системы на 100% зависят от классического бэкенда: ролевой изоляции индексов, гибридного скоринга и чистых пайплайнов парсинга.

Вы еще используете простой векторный поиск, или уже экспериментировали с RRF ?

#AI #ИИ

Инцидент на проде: Как ИИ-ассистент на RAG открыл бэкдор... | Сетка — социальная сеть от hh.ru