DLP CodeGraph проверяет выбранный контент до отправки model provider и после получения ответа. При совпадении система может заблокировать, замаскировать, предупредить или только записать событие. DLP контролирует случайный egress. Контроль доступа к репозиторию, договор с провайдером, network policy, secret management и человеческое ревью образуют отдельные меры чувствительных процессов.
Граница контроля
Сопровождаемая реализация разделена между:
src/security/config.py— типизированная политика и действия DLP;src/security/dlp/scanner.py— сканирование запросов и ответов;src/security/dlp/actions.py— применение действий;src/security/dlp/webhook.py— опциональная доставка оповещений;src/security/llm/secure_provider.py— защищённая граница model provider;- разделом
security.dlpвconfig.yaml— defaults и environment references.
API публикует аутентифицированные операции конфигурации, политик и активности под актуальной
поверхностью /api/v1/security/dlp. Поля запросов и ответов берите из OpenAPI
развёрнутой версии.
Действия и их смысл
| Значение настройки | Операционный смысл |
|---|---|
BLOCK (block) |
Остановить защищённый запрос и вернуть blocked outcome. |
MASK (mask) |
Заменить совпавший контент до пересечения защищённой границы. |
WARN (warn) |
Продолжить обработку, но записать warning evidence. |
LOG_ONLY (log_only) |
Записать совпадение, не меняя контент. |
Если совпали несколько паттернов, применяется наиболее строгое действие. Настроенные WARN или
LOG_ONLY записывают совпадение и пропускают настроенный поток; доступ, сеть, договор с провайдером
и ручная проверка управляют дальнейшим egress.
Настройка политики
В конфигурации разделены pre_request и post_response, категории, keywords и webhook. В defaults
есть сигналы credentials, PII и source code; точный набор паттернов определяется установленным
src/security/config.py, а не замороженным числом из статьи.
Для каждого развёртывания зафиксируйте:
- включены ли global security и DLP;
- активные категории, их action и severity;
- согласованные keyword lists и владельца;
- default actions для pre-request и post-response;
- владельца webhook endpoint, secret ref, timeout, retry и notification actions;
- процесс exception, expiry, review и rollback.
Не ослабляйте политику только ради успешного тестового промпта. Для проверки нужной ветви применяйте синтетический маркер и удаляйте его после теста.
Поток запроса и ответа
До защищённого model call CodeGraph проверяет system prompt и user prompt по pre-request policy.
BLOCK останавливает вызов, MASK отправляет изменённый контент, а WARN и LOG_ONLY могут
пропустить исходный контент выбранному провайдеру.
После ответа провайдера post-response scanning применяет собственную политику до возврата результата через защищённую поверхность. При оценке egress рассматривайте оба направления. Полная модель описана в руководстве по безопасности LLM.
Оповещения и SIEM
DLP может формировать webhook alerts и сопоставляет действия с событиями SIEM dlp.block,
dlp.mask, dlp.warn и dlp.log. Это разные результаты:
- scanner обнаружил совпадение;
- action изменил либо пропустил контент;
- dispatcher принял событие;
- настроенный handler сообщил о delivery;
- downstream webhook или SIEM действительно получил и проиндексировал событие.
Получение downstream-системой подтверждается handler status, retry или buffer state и evidence получателя. Эти данные сохраняйте, если доставка входит в приёмку.
Проверка развёртывания
Используйте нечувствительные синтетические значения для каждой включённой категории:
- сохраните effective policy и release revision;
- отправьте ожидаемо чистый промпт и промпт с ожидаемым совпадением;
- проверьте выбранное действие и факт вызова провайдера;
- подтвердите masking в возвращённом или отправленном контенте, не записывая исходный секрет;
- просмотрите аутентифицированную DLP activity;
- подтвердите receipt webhook или SIEM, если они настроены;
- верните одобренную политику и запишите результат.
Проверяйте pre-request и post-response независимо. Повторяйте сценарий после смены провайдера, политики, паттернов или security profile.
Ограничения и инциденты
Pattern matching может пропустить преобразованные, разделённые, закодированные, доменные или новые чувствительные данные и способен давать false positive. Сохраняйте независимые controls: source access, least privilege, provider egress restrictions, secret scanning и human approval.
При подозрении на утечку остановите затронутый процесс, сохраните audit evidence без секретов, ротируйте учётные данные, определите scope провайдера и получателя и следуйте incident process заказчика. Изменение политики при восстановлении требует владельца, причины, ревью и срока действия.