Механизм обнаружения
Архитектурное ограничение: работа в процессе агента, без сети и внешних моделей
Обнаружение выполняется полностью внутри скомпилированного агента, в памяти, без сетевых запросов и без зависимости от внешних моделей. Это осознанное архитектурное решение в пользу конфиденциальности: отправка потенциально чувствительного текста внешнему средству классификации для проверки того, является ли он чувствительным, свела бы на нет саму суть механизма контроля. Обнаружение сочетает структурное сопоставление шаблонов, статистический анализ энтропии и валидацию по словарям/контрольным суммам. Там, где в интерфейсах продукта упоминается «NLP/NER», имеется в виду распознавание по словарям и грамматическим шаблонам плюс валидация контрольных сумм плюс анализ энтропии.
Категории механизмов обнаружения
Один проход по текстовому буферу запускает все механизмы обнаружения одновременно; каждый из них сообщает о каждом найденном совпадении с указанием смещений в байтах.
Структурные механизмы обнаружения по формату
| Механизм | Логика сопоставления |
|---|---|
| Идентификатор ключа доступа AWS | Префикс AKIA/ASIA и 16 заглавных латинских букв или цифр |
| Секретный ключ доступа AWS | Структурный шаблон формата секретного ключа |
| Токены GitHub | Префиксы ghp_ / gho_ / ghs_ |
| Ключи API Google | Структурный шаблон формата ключей, выпускаемых Google |
| JWT | Три сегмента base64url, разделённых точками, где первый сегмент декодируется в корректный заголовок JOSE |
| Блоки закрытых ключей PEM | От -----BEGIN ... KEY----- до соответствующего маркера END, обрабатывается как единая область; незавершённый блок распространяется до конца буфера. Охватывает PRIVATE KEY, RSA PRIVATE KEY, EC PRIVATE KEY, DSA PRIVATE KEY, OPENSSH PRIVATE KEY. |
token= / api_key= / secret= / password= (в любом регистре) |
Структурное сопоставление по меткам |
| Адрес электронной почты | Любая форма x@y.z (средняя степень уверенности) |
| Адрес в формате EVM | 0x и ровно 40 шестнадцатеричных символов — сопоставление по формату, поскольку у образцов адресов энтропия составляет около 3,98 бита на символ, что ниже общего порога высокой энтропии |
Обнаружение персональных данных РФ с проверкой по контрольной сумме
Имена людей, ИНН (проверяется по официальному алгоритму контрольной суммы ИНН), ОГРН, номера паспортов, СНИЛС, номера водительских удостоверений, даты рождения, адреса и номера банковских карт (проверяются по алгоритму Луна). Совпадение, подтверждённое контрольной суммой, подавляет структурное совпадение с более низкой степенью уверенности в той же позиции — например, значение, уже прошедшее корректную проверку контрольной суммы ИНН, помечается один раз механизмом проверки контрольной суммы, а универсальный механизм высокой энтропии остаётся подавленным.
Универсальное статистическое обнаружение: анализ энтропии
Механизм на основе энтропии Шеннона перехватывает строки с высокой степенью случайности, которые не соответствуют ни одному именованному формату — это предусмотренный резервный механизм для произвольных токенов и ключей, не следующих известным структурным соглашениям конкретного поставщика.
- Чисто шестнадцатеричные последовательности длиной не менее 32 символов (возможен
префикс
0x) оцениваются по более низкому порогу — 3,5–4,0 бита на символ — поскольку случайные шестнадцатеричные данные структурно концентрируются в этом диапазоне ниже при такой длине, чем случайные данные со смешанным алфавитом. Полностью десятичные последовательности явно исключены из этого послабления.- Эта калибровка намеренно смещена в безопасную сторону: она также помечает для маскирования дайджесты MD5 (32 шестнадцатеричных символа), SHA-1 (40) и SHA-256 (64), а также идентификаторы объектов Git наряду с реальным ключевым материалом — так любое значение в этом диапазоне длины и формата оказывается защищено независимо от происхождения.
- UUID явно исключены из универсального механизма анализа энтропии (распознаваемый структурный формат, не являющийся секретом).
Измерение качества обнаружения (калибровка)
Каждое срабатывание агрегируется локально по механизму обнаружения, поверхности и уровню уверенности — совпавшие значения никогда не сохраняются, сохраняются только счётчики и классификации, в соответствии с принципом нераскрытия исходных данных, применяемым даже к внутренним метрикам. Оператор может пометить конкретное найденное совпадение как ложное срабатывание, после чего контрольная плоскость формирует и подписывает по Ed25519 калибровочный пакет на основе утверждённых меток, доступный через отдельную конечную точку API.
В настоящее время калибровка корректирует отчётность: она меняет то, как найденное совпадение оценивается/маркируется для целей отслеживания качества. Пороги обнаружения — базовое условие срабатывания механизма — остаются неизменными. Размеченный оценочный корпус, используемый при тестировании, охватывает 25 размеченных строк (13 ожидаемых положительных и 12 ожидаемых отрицательных примеров) по основным категориям набора механизмов обнаружения.
См. также Маскирование и потоковая защита — здесь описано, как обнаруженный участок редактируется в потоке в реальном времени без нарушения структуры вывода.