Cloud.ru открыл код защиты LLM. Данные больше не утекут
Cloud.ru выложил в открытый доступ исходный код Guardrails Filter - прокси-сервиса, который перехватывает чувствительные данные до того, как они уходят в языковую модель, и восстанавливает их в ответе. Инструмент закрывает одну из самых неудобных дыр в корпоративном использовании LLM: сотрудники годами отправляют в ChatGPT и аналоги паспортные данные, реквизиты, медицинские записи и API-ключи - и мало кто об этом думает.
Что за инструмент и как он устроен
Guardrails Filter работает как прозрачный обратный прокси: встаёт между приложением и любым LLM-провайдером, на лету вычищает персональные данные из запроса, пропускает очищенный текст к модели, а в ответе подставляет оригинальные значения обратно. Никакого машинного обучения - только регулярные выражения с проверкой контрольных цифр. Отсюда и скорость: обработка укладывается в микросекунды, а для работы хватает 1 ядра и 1 ГБ оперативной памяти.
Детектируется около 260 типов сущностей: телефоны, email, ИНН, СНИЛС, ОГРН, номера карт, IP-адреса, учётные данные, API-ключи. Оригинальные значения на время обработки хранятся либо в памяти процесса, либо в Redis или PostgreSQL - по выбору администратора, с поддержкой шифрования.
Нетривиальная часть - не сам поиск, а корректная мутация запроса и ответа. Особенно в стриминговом режиме, когда модель отдаёт текст кусками: нужно восстановить исходные данные в правильных позициях, не сломав структуру. Плюс обработка tool call - там тоже могут всплыть чувствительные переменные окружения.
Две сборки под разные инфраструктуры
Репозиторий содержит два независимых варианта развёртывания.
- Standalone-версия - один Go-бинарь, поднимается одной командой через Docker. Три порта: data-plane, config API с веб-консолью и метрики Prometheus. Достаточно указать GUARDRAILS_UPSTREAM_BASE_URL - и прокси готов принимать трафик от любых LLM-клиентов.
- Extproc-версия - для инфраструктур с Envoy. Подключается как сайдкар к уже существующему шлюзу; логика маскировки применяется централизованно ко всему проходящему трафику без изменений в приложениях.
Оба варианта включают веб-консоль с историей срабатываний, песочницей для тестирования собственных правил и Ghost Mode - режимом наблюдения без активной маскировки, чтобы сначала убедиться в корректности работы. Есть адаптер для Prometheus и готовые дашборды для Grafana.
Метрики качества и контекст рынка
На трёх независимых PII-датасетах инструмент показал precision 92-99,9%, recall на уровне 75-87% и F1-score от 82 до 93%. Разброс объясняется природой данных: форматные сущности вроде ИНН или номера карты распознаются почти безошибочно, а имена и адреса - хуже, потому что пишутся слишком по-разному.
Проблема, которую закрывает Guardrails Filter, давно переросла в индустриальную. По разным оценкам, более 40% корпоративных пользователей LLM хотя бы раз вставляли в запрос данные, которые не должны были покидать периметр компании. Регуляторы в ЕС и России последовательно ужесточают требования к обработке персональных данных - и инструментов для их соблюдения при работе с внешними моделями катастрофически не хватает.
Cloud.ru изначально разрабатывал фильтр для собственной платформы Evolution Foundation Models: банки и страховщики требовали гарантий, что данные не покинут корпоративный контур даже в направлении дружественного публичного облака. Теперь тот же механизм доступен всем - бесплатно, с открытым кодом и без привязки к инфраструктуре конкретного провайдера.
