← Назад в блог

Слепая зона прав доступа: почему корпоративный RAG сливает секреты руководства

6 октября 2026 г. · 4 мин чтения
Слепая зона прав доступа: почему корпоративный RAG сливает секреты руководства - Векторный поиск отвязывает текст от прав доступа. Почему корпоративный RAG выдает стажерам зарплаты топ-менеджеров и как внедрить строгие ACL-фильтры.

Инженерная команда запускает корпоративного ИИ-помощника в Slack, чтобы сотрудники не тратили время на поиск ответов в разрозненных системах. Чтобы бот был максимально полезен, к нему подключают всю базу знаний компании: Google Диск, Notion, Jira и Confluence. Парсер нарезает документы на чанки, эмбеддинги заливаются в быстрый векторный индекс, и ассистент выходит в продакшен.

В следующий вторник стажер отдела маркетинга за обедом вводит в строку поиска безобидный запрос: «По какой формуле рассчитываются годовые бонусы топ-менеджеров компании?»

У стажера нет доступа к закрытой папке руководства на Google Диске. Если бы он искал этот документ вручную, поисковая строка Google выдала бы пустой экран.

Векторная база данных не проверяет права доступа Google Диска. Она хранит смысловые координаты текста в многомерном пространстве. Вопрос стажера идеально совпадает по смыслу с засекреченной служебной запиской финансового директора. Векторный индекс находит три наиболее близких фрагмента, подмешивает их в системный промпт нейросети, и бот вежливо выводит стажеру в чат точные суммы премий и критерии выплат руководству.

В корпоративной безопасности этот просчет называют слепой зоной прав доступа (ACL Blindspot).

Библиотекарь городской ратуши

Архитектура RAG (Retrieval-Augmented Generation) принципиально разделяет смысл текста и права доступа к нему.

Классические базы данных и корпоративные хранилища проверяют права на уровне файла: перед выполнением запроса система сверяет учетную запись пользователя, проверяет группы в Active Directory и отсекает документы, к которым у сотрудника нет допуска.

Векторный поиск стирает эту границу.

Представьте добросовестного библиотекаря в мэрии, который решил навести идеальный порядок во всех бумагах города исключительно по темам. Он собрал личный дневник мэра, материалы закрытых уголовных дел, заявки на аренду киосков и меню столовой. Библиотекарь срезал со всех папок грифы «Секретно» и разложил листы по общим полкам под вывеской «Городские дела».

Когда любопытный студент заходит и спрашивает: «Какие планы по развитию центральной улицы?», библиотекарь с улыбкой достает с полки документы о тайном сносе жилых домов под коммерческую застройку.

Разница лишь в том, что живой библиотекарь заметит штамп «Для служебного пользования» и насторожится. Векторная база вычисляет математическое косинусное сходство между векторами. Для нее секретная таблица зарплат и открытый регламент отпусков — это просто наборы чисел в одном координатном пространстве.

Почему постфильтрация не спасает

Когда разработчики понимают, что бот сливает закрытые документы, первое интуитивное решение — постфильтрация:

  1. Проверка прав после поиска: Система находит топ-10 самых релевантных фрагментов по смыслу, а затем проверяет, есть ли у пользователя права на чтение каждого из исходных документов.
  2. Ловушка пустого контекста: Если девять из десяти найденных фрагментов принадлежат закрытым файлам руководства, фильтр безопасности вырезает их. Языковая модель получает на вход всего один слабый обрывок и выдает бессмыслицу или галлюцинацию.
  3. Утечка фактов через отказ: Даже если модель отвечает «У меня нет доступа к этой информации», система раскрывает метаданные. Задав вопрос «Подписана ли сделка по покупке конкурента?», пользователь, получивший отказ со ссылкой на документ M&A_Final_2026.pdf, уже узнал сам факт готовящегося поглощения.

Как внедрить строгий контроль на уровне векторов

Защита корпоративного RAG требует переноса прав доступа непосредственно в алгоритм поиска:

  1. Предварительная фильтрация по метаданным (Pre-filtering ACL): Современные векторные базы данных (Qdrant, Pinecone, Weaviate) поддерживают фильтрацию по метаданным в момент обхода графа. При нарезке документов список разрешенных пользователей и групп из Okta или Active Directory вшивается прямо в метаданные чанка. Запрос обязан содержать условие filter: { allowed_groups: user.groups } до вычисления расстояний между векторами.
  2. Синхронизация прав в реальном времени: В живой компании права сотрудников меняются ежедневно. Если сотрудника исключили из закрытого канала бухгалтерии, его права в векторной базе должны обновляться моментально через вебхуки, не дожидаясь ночной переиндексации.
  3. Изоляция критических коллекций: Для чувствительных категорий данных (зарплатные ведомости, протоколы совета директоров, судебные иски) создаются отдельные, физически изолированные векторные коллекции. Доступ к ним требует раздельных токенов авторизации и сквозного аудита запросов.

Векторная база данных, собирающая все документы компании без учета прав доступа — это не корпоративный поиск, а автоматический инсайдер. Проверяла ли ваша команда, что может узнать о компании стажер в свой первый рабочий день?

Есть проект на прицеле?

Давайте обсудим, как мы можем помочь.

Есть идея проекта? →