Обзор для технического руководства

ИИ-ассистенты и агенты для написания кода работают внутри границы доверия рабочей станции разработчика, имея тот же доступ к файловой системе, командной оболочке и буферу обмена, что и сам разработчик, — это делает их поверхностью утечки данных, недоступной для DLP-решений на сетевом периметре и облачных ретрансляторах. Классы рисков, которые устраняет это решение, описаны в разделе Модель угроз и постановка проблемы.

Что такое Techcatalyst Guard

Techcatalyst Guard — это система предотвращения утечек данных при использовании ИИ (AI-DLP), работающая непосредственно на рабочей станции. Она обнаруживает, маскирует и блокирует конфиденциальные данные — учётные данные, закрытые ключи, токены и персональные данные — до того, как эти данные попадут в ИИ-инструмент для написания кода, ИИ-агента, MCP-сервер или системный буфер обмена. Обнаружение и применение политик выполняются на рабочей станции, в скомпилированном исполняемом файле, без зависимости от содействия со стороны поставщика ИИ-инструмента. Продукт не передаёт трафик через собственный промежуточный сервер и не расшифровывает TLS, не требует от поставщика ИИ-решения интеграции через веб-перехватчик или API и не зависит от того, ведёт ли себя ИИ-инструмент «предсказуемо», — он контролирует точки перехвата, которые существуют независимо от того, каким именно ИИ-инструментом пользуется разработчик: командную оболочку, буфер обмена, локальную файловую систему и локальный транспорт MCP.

Сопутствующая контрольная плоскость, развёрнутая в инфраструктуре организации, распространяет подписанную политику на весь парк агентов и получает аудируемый, намеренно обеднённый поток телеметрии — хеши, счётчики и классификации. См. Телеметрия без раскрытия данных и контрольная плоскость.

Пять непреложных принципов проектирования

Любое предложение об изменении, ослабляющее один из этих принципов, по умолчанию отклоняется — независимо от того, какую функциональность оно могло бы обеспечить.

Свойство Что это означает на практике
Запрет при сбое Если целостность политики, обязательный компонент ядра или подпись не могут быть подтверждены, система запрещает действие. Превышение времени ожидания, отсутствующий файл, неуспешная проверка работоспособности или процесс, который не удаётся идентифицировать, всегда приводят к запрету (deny).
Телеметрия без раскрытия данных Исходящие события содержат только хеши, длины и классификации. См. Телеметрия без раскрытия данных.
Скомпилированное ядро защиты Каждое решение, которое маскирует или блокирует данные, выполняется внутри скомпилированного исполняемого файла (Go, машинный код); в пути принятия решения нет интерпретируемой среды выполнения. См. Защита на уровне ядра.
Локальное принятие решений Агент оценивает сохранённый на рабочей станции подписанный снимок политики; в критическом пути применения политик нет синхронного обращения к серверу. Работа в изолированном от внешней сети контуре — штатный режим для агента рабочей станции.
Аудируемость Каждое решение о применении политики порождает событие безопасности, содержащее идентификатор снимка политики и его отпечаток, на основании которых оно было принято.

Карта компонентов

%%{init: {"theme": "base", "themeVariables": {"fontFamily": "-apple-system, Segoe UI, Helvetica, Arial, sans-serif", "primaryColor": "#eef2f7", "primaryTextColor": "#0b0b0b", "primaryBorderColor": "#5b6b7c", "lineColor": "#5b6b7c", "secondaryColor": "#eef4ff", "tertiaryColor": "#f4f3f0", "clusterBkg": "#f9f9f7", "clusterBorder": "#c3c2b7", "edgeLabelBackground": "#fcfcfb", "actorBkg": "#eef2f7", "actorBorder": "#5b6b7c", "actorTextColor": "#0b0b0b", "actorLineColor": "#5b6b7c", "signalColor": "#52514e", "signalTextColor": "#0b0b0b", "labelBoxBkgColor": "#eef4ff", "labelBoxBorderColor": "#5b6b7c", "labelTextColor": "#0b0b0b", "loopTextColor": "#0b0b0b", "noteBkgColor": "#fdf3d9", "noteBorderColor": "#c98500", "noteTextColor": "#3d2f00", "activationBorderColor": "#5b6b7c", "activationBkgColor": "#eef4ff", "sequenceNumberColor": "#ffffff"}}}%% flowchart TB subgraph WS["Рабочая станция разработчика"] direction TB SA["station-agent<br/>(скомпилированный исполняемый файл Go)"] CLI["команда регистрации<br/>(только управление запуском)"] CLI -.вызывает для применения политики.-> SA end subgraph CP["Контрольная плоскость (в инфраструктуре организации / без внешней сети)"] direction TB API["API политик и событий"] DB[("PostgreSQL")] IDP["OIDC / IdP, совместимый с Keycloak"] UI["Административный интерфейс"] API --> DB API --> IDP UI --> API end SA -- "получение подписанного снимка политики" --> API SA -- "обезличенный сигнал состояния + события\n(только хеши/счётчики)" --> API SA -- "необработанные секреты никогда не пересекают эту границу" --- CP style SA fill:#2a78d6,stroke:#184f95,color:#ffffff,stroke-width:2px

Агент рабочей станции работает корректно неограниченно долго даже при полной недоступности контрольной плоскости, используя последнюю известную подписанную политику. Контрольная плоскость не может отправить команду реального времени, которую агент выполнил бы синхронно, — такого канала не существует. См. Архитектурное решение: скомпилированное ядро защиты с приоритетом локальной работы.

Далее: Модель угроз и постановка проблемы.

results matching ""

    No results matching ""