Claude Code работает на компьютере разработчика как агентная среда, а не как обычный чат-бот. Она читает и записывает файлы, запускает локальные команды Shell и Bash, обращается к инструментам Model Context Protocol (MCP), использует доступные учётные данные, права и сетевую позицию сотрудника. Через MCP-серверы, skills и плагины агент получает доступ к сторонним системам, позволяя человеку передать ему рутинные операции и заняться проектированием или созданием продукта. По данным Token Security, локальные агенты составляют 68,6% всех ИИ-агентов, обнаруживаемых компанией в средах клиентов. Это уже не редкий эксперимент: большая часть таких программ наследует возможности пользователя, на чьём устройстве запущена.
Архитектура Claude Code разделяет принятие решений и исполнение. Harness, то есть управляющая оболочка, принимает запрос, добавляет историю сеанса и прочий контекст, после чего отправляет полный пакет большой языковой модели. LLM сама не хранит состояние сеанса: нужные сведения оболочка передаёт заново по мере необходимости. Получив решение модели, harness запускает команды, читает файлы, подключается к MCP и проходит аутентификацию в сторонних сервисах. В этой схеме LLM похожа на мозг, работающий в облаке Anthropic, а оболочка на руки, ноги и органы чувств, находящиеся внутри корпоративного устройства. Поэтому контроль одного облачного компонента ничего не говорит обо всём, что способны сделать «руки».
У Claude Code нет привычной для SaaS единой административной панели, охватывающей локальные настройки, идентификацию, доступ и поведение во время выполнения. Такая конструкция меняет модель разделённой ответственности: больше работы достаётся корпоративным администраторам. До августа 2026 года собственные средства Anthropic давали мало сведений о локальных сеансах, и организациям приходилось ставить сторонние расширения даже ради базового надзора. Масштаб самообмана показал заказанный Token Security опрос Cloud Security Alliance среди 418 специалистов по ИТ и безопасности. 68% оценили свою видимость ИИ-агентов как высокую, но 82% за предыдущий год нашли хотя бы одного агента, о котором ничего не знали подразделения безопасности, ИТ и управления.
Первый уровень контроля составляют managed settings, имеющие приоритет над глобальными, проектными и пользовательскими настройками. На каждом устройстве с Claude Code такая запись хранится в JSON-файле на macOS и Linux либо в реестре Windows. Клиенты Claude Code Enterprise могут распространять правила через графический интерфейс; без Enterprise ту же запись разрешается развернуть средствами mobile device management, MDM. Политика поддерживает списки разрешённых и запрещённых MCP-серверов, регулярные выражения для Bash-команд, запрет skills на запуск команд и другие ограничения. Но статические правила не понимают намерение и плохо поспевают за меняющимся сценарием исполнения. Они похожи на большой валун в реке: мешают течению, но не перекрывают его, заодно сужая разработчикам рабочее пространство.
11 августа 2026 года Anthropic добавила в Compliance API три интерфейса для локальных сеансов: GET /v1/compliance/apps/sessions/local возвращает перечень метаданных, GET /v1/compliance/apps/sessions/local/{session_id} выдаёт сведения об одном сеансе, а GET /v1/compliance/apps/sessions/local/{session_id}/messages предоставляет его расшифровку. Раньше API в основном охватывал и Claude Desktop, а данные Claude Code оставались весьма ограниченными. Теперь журнал показывает то, что локальная оболочка передала моделям Anthropic. Сообщения состоят преимущественно из блоков text, tool_use и tool_result и содержат пользовательские запросы, команды Bash, чтение и запись файлов, вызовы MCP, входные параметры и результаты инструментов. Поскольку файлы skills и плагинов с существуют только на устройстве, оболочке приходится передавать их содержимое модели. Иными словами, «всё, что попадает к модели, попадает и в Compliance API». Административные действия тоже журналируются, хотя изменения на уровне организации видны лучше, чем перенастройка, выполненная отдельным пользователем.
Расшифровки позволяют превратить диалог в реестр конкретных операций, но для этого их надо разбирать. Bash-команда находится проще всего: она записана в блоке tool_use с полем "name": "Bash", а полная командная строка лежит во входном значении. Сообщения обёрнуты ролями и метаданными, в том числе user и assistant, где assistant обозначает ответы LLM. Вызовы MCP имеют вид mcp__<server>__<command>. У интеграций первого уровня обычно читаемые названия, поэтому Jira, Slack или Notion узнаются сразу. Пользовательский сервер может отображаться как UUID; тогда сервис устанавливают по окончанию команды, например slack_send_message, либо по собственной таблице соответствий UUID и названий. Каждое подключение MCP означает постоянное учётное данное на устройстве. Token Security сообщает, что 35,1% обнаруженных MCP-серверов созданы сообществом или имеют неизвестное происхождение, то есть примерно треть находится вне официальной экосистемы поставщика.
Skills и плагины требуют косвенного поиска. При запуске skill модель должна получить содержимое , поэтому оболочка либо вставляет его в контекст, либо выполняет Read по соответствующему пути. Входные данные tool_use тогда раскрывают название и расположение skill, а текст tool_result — его содержимое. Плагин сложнее: это пакет, способный включать skills, скрипты и несколько . Его имя восстанавливают по принятой структуре путей, когда скрипт или Markdown-файл загружается в контекст. Так можно составлять перечень агентов, MCP-серверов, skills и плагинов, не читая сами пользовательские запросы: часто хватает блоков tool_use, командных строк, путей и результатов инструментов. Это уменьшает объём естественного языка с персональными или коммерческими данными, к которому получает доступ служба безопасности.
Compliance API всё же не видит события, не дошедшие до LLM. Этот пробел закрывает OpenTelemetry, или OTel, открытый стандарт трассировок, метрик и журналов событий. Поддержка OTel уже встроена в распространённые агентные оболочки и обычно требует настройки, а не отдельной переделки. Особенно показательны hooks: они выполняются локально между решением модели и фактическим вызовом инструмента, могут отменить команду или не позволить отправить запрос. Для облачного журнала такого события попросту не существовало. OTel также записывает решения о разрешении инструмента и их источник: политику, hook либо ручное подтверждение пользователя. Через него видны изменения, связанные с bypassPermissions и Auto mode, которых нет в Compliance API. OTel сразу формирует атомарные события; расшифровки API представляют собой длинный, глубоко вложенный JSON без «регулятора подробности», поэтому их приходится преобразовывать и где-то хранить.
Есть и жёсткая граница покрытия: Compliance API регистрирует взаимодействия только с моделями Anthropic. Сеансы Claude Code, использующие модели через Amazon Bedrock, Microsoft Foundry или Google Cloud, в этот журнал не попадут. Сами расшифровки способны содержать PII, пароли, токены, клиентскую информацию и другие чувствительные сведения, поэтому централизованное хранилище быстро превращается в ценную цель для атакующего. Та же проблема существует на рабочей станции. По умолчанию Claude Code держит всю историю локально 30 дней, чтобы пользователь мог возобновить работу. Получив доступ к устройству, злоумышленник сможет прочитать эти файлы. Разумная политика запрещает вставлять секреты открытым текстом, требует маркировать проекты и сеансы с клиентскими данными, удалять историю по установленному расписанию, обнаруживать пароли и токены в запросах и отдельно расследовать сеансы, где могла пострадать информация клиентов.
Третий источник данных — endpoint detection and response, EDR. Такая технология существовала задолго до LLM-агентов и иногда знает о локальном исполнении Claude Code больше, чем Anthropic: видит процессы, файлы, конфигурации и команды вне облачного сеанса. Compliance API и OTel описывают преимущественно действия агента, но не дают полного перечня установленных skills, плагинов и их.md-файлов, пока те не использованы, а также не замечают процессы, запущенные отдельно от сеанса. Агент защиты конечной точки может собрать настройки, извлечь Markdown-файлы расширений, сопоставить процессы с расшифровками и обнаружить опасную Bash-команду. Работы тут много: Token Security находит в среднем более десяти конфигурационных файлов на одного локального агента, причём они разбросаны по устройству.
Три уровня закрывают разные участки. Managed settings задают статическую базовую политику, но не понимают контекст выполнения. Расшифровки локальных сеансов сохраняют действия, которые видел ИИ, однако ничего не знают об офлайн-конфигурации. Endpoint и EDR собирают файлы и процессы, но лишены семантики разговора с моделью; OTel добавляет hooks, разрешения и отдельные локальные события. Даже вместе они дают доказательства, а не ответ на вопрос о законности. Администратор, увидев плагин, не всегда отличит вредоносную загрузку из интернета от разработки внутреннего инженера. Сверка skills и плагинов с корпоративными репозиториями добавляет происхождение. Если найден один вредоносный skill, по такому сопоставлению можно построить карту всех устройств, где он установлен, и быстрее удалить его.
Управление начинается там, где телеметрия связывается с владельцем агента, служебной задачей, идентичностями, учётными данными, разрешениями и маршрутами доступа к системам. Журнал отвечает, какая команда выполнилась, какой файл читался и какой MCP-сервис вызывался. Он не решает, оправдан ли доступ, ограничен ли минимально необходимыми правами и пора ли его отозвать после завершения задачи. Даже разрушительная команда может быть правомерной в конкретной работе, поэтому ни Anthropic, ни EDR не должны оценивать её по одному внешнему признаку. Плоскостью управления становится идентичность: через неё проверяют владельца и назначение, находят неизвестных агентов, урезают привилегии и закрывают доступ. Token Security применяет этот подход к агентам на конечных устройствах, в облачных средах, SaaS и средах разработки; практическую схему компания показывает в короткой демонстрации.
Архитектура Claude Code разделяет принятие решений и исполнение. Harness, то есть управляющая оболочка, принимает запрос, добавляет историю сеанса и прочий контекст, после чего отправляет полный пакет большой языковой модели. LLM сама не хранит состояние сеанса: нужные сведения оболочка передаёт заново по мере необходимости. Получив решение модели, harness запускает команды, читает файлы, подключается к MCP и проходит аутентификацию в сторонних сервисах. В этой схеме LLM похожа на мозг, работающий в облаке Anthropic, а оболочка на руки, ноги и органы чувств, находящиеся внутри корпоративного устройства. Поэтому контроль одного облачного компонента ничего не говорит обо всём, что способны сделать «руки».
У Claude Code нет привычной для SaaS единой административной панели, охватывающей локальные настройки, идентификацию, доступ и поведение во время выполнения. Такая конструкция меняет модель разделённой ответственности: больше работы достаётся корпоративным администраторам. До августа 2026 года собственные средства Anthropic давали мало сведений о локальных сеансах, и организациям приходилось ставить сторонние расширения даже ради базового надзора. Масштаб самообмана показал заказанный Token Security опрос Cloud Security Alliance среди 418 специалистов по ИТ и безопасности. 68% оценили свою видимость ИИ-агентов как высокую, но 82% за предыдущий год нашли хотя бы одного агента, о котором ничего не знали подразделения безопасности, ИТ и управления.
Первый уровень контроля составляют managed settings, имеющие приоритет над глобальными, проектными и пользовательскими настройками. На каждом устройстве с Claude Code такая запись хранится в JSON-файле на macOS и Linux либо в реестре Windows. Клиенты Claude Code Enterprise могут распространять правила через графический интерфейс; без Enterprise ту же запись разрешается развернуть средствами mobile device management, MDM. Политика поддерживает списки разрешённых и запрещённых MCP-серверов, регулярные выражения для Bash-команд, запрет skills на запуск команд и другие ограничения. Но статические правила не понимают намерение и плохо поспевают за меняющимся сценарием исполнения. Они похожи на большой валун в реке: мешают течению, но не перекрывают его, заодно сужая разработчикам рабочее пространство.
11 августа 2026 года Anthropic добавила в Compliance API три интерфейса для локальных сеансов: GET /v1/compliance/apps/sessions/local возвращает перечень метаданных, GET /v1/compliance/apps/sessions/local/{session_id} выдаёт сведения об одном сеансе, а GET /v1/compliance/apps/sessions/local/{session_id}/messages предоставляет его расшифровку. Раньше API в основном охватывал и Claude Desktop, а данные Claude Code оставались весьма ограниченными. Теперь журнал показывает то, что локальная оболочка передала моделям Anthropic. Сообщения состоят преимущественно из блоков text, tool_use и tool_result и содержат пользовательские запросы, команды Bash, чтение и запись файлов, вызовы MCP, входные параметры и результаты инструментов. Поскольку файлы skills и плагинов с существуют только на устройстве, оболочке приходится передавать их содержимое модели. Иными словами, «всё, что попадает к модели, попадает и в Compliance API». Административные действия тоже журналируются, хотя изменения на уровне организации видны лучше, чем перенастройка, выполненная отдельным пользователем.
Расшифровки позволяют превратить диалог в реестр конкретных операций, но для этого их надо разбирать. Bash-команда находится проще всего: она записана в блоке tool_use с полем "name": "Bash", а полная командная строка лежит во входном значении. Сообщения обёрнуты ролями и метаданными, в том числе user и assistant, где assistant обозначает ответы LLM. Вызовы MCP имеют вид mcp__<server>__<command>. У интеграций первого уровня обычно читаемые названия, поэтому Jira, Slack или Notion узнаются сразу. Пользовательский сервер может отображаться как UUID; тогда сервис устанавливают по окончанию команды, например slack_send_message, либо по собственной таблице соответствий UUID и названий. Каждое подключение MCP означает постоянное учётное данное на устройстве. Token Security сообщает, что 35,1% обнаруженных MCP-серверов созданы сообществом или имеют неизвестное происхождение, то есть примерно треть находится вне официальной экосистемы поставщика.
Skills и плагины требуют косвенного поиска. При запуске skill модель должна получить содержимое , поэтому оболочка либо вставляет его в контекст, либо выполняет Read по соответствующему пути. Входные данные tool_use тогда раскрывают название и расположение skill, а текст tool_result — его содержимое. Плагин сложнее: это пакет, способный включать skills, скрипты и несколько . Его имя восстанавливают по принятой структуре путей, когда скрипт или Markdown-файл загружается в контекст. Так можно составлять перечень агентов, MCP-серверов, skills и плагинов, не читая сами пользовательские запросы: часто хватает блоков tool_use, командных строк, путей и результатов инструментов. Это уменьшает объём естественного языка с персональными или коммерческими данными, к которому получает доступ служба безопасности.
Compliance API всё же не видит события, не дошедшие до LLM. Этот пробел закрывает OpenTelemetry, или OTel, открытый стандарт трассировок, метрик и журналов событий. Поддержка OTel уже встроена в распространённые агентные оболочки и обычно требует настройки, а не отдельной переделки. Особенно показательны hooks: они выполняются локально между решением модели и фактическим вызовом инструмента, могут отменить команду или не позволить отправить запрос. Для облачного журнала такого события попросту не существовало. OTel также записывает решения о разрешении инструмента и их источник: политику, hook либо ручное подтверждение пользователя. Через него видны изменения, связанные с bypassPermissions и Auto mode, которых нет в Compliance API. OTel сразу формирует атомарные события; расшифровки API представляют собой длинный, глубоко вложенный JSON без «регулятора подробности», поэтому их приходится преобразовывать и где-то хранить.
Есть и жёсткая граница покрытия: Compliance API регистрирует взаимодействия только с моделями Anthropic. Сеансы Claude Code, использующие модели через Amazon Bedrock, Microsoft Foundry или Google Cloud, в этот журнал не попадут. Сами расшифровки способны содержать PII, пароли, токены, клиентскую информацию и другие чувствительные сведения, поэтому централизованное хранилище быстро превращается в ценную цель для атакующего. Та же проблема существует на рабочей станции. По умолчанию Claude Code держит всю историю локально 30 дней, чтобы пользователь мог возобновить работу. Получив доступ к устройству, злоумышленник сможет прочитать эти файлы. Разумная политика запрещает вставлять секреты открытым текстом, требует маркировать проекты и сеансы с клиентскими данными, удалять историю по установленному расписанию, обнаруживать пароли и токены в запросах и отдельно расследовать сеансы, где могла пострадать информация клиентов.
Третий источник данных — endpoint detection and response, EDR. Такая технология существовала задолго до LLM-агентов и иногда знает о локальном исполнении Claude Code больше, чем Anthropic: видит процессы, файлы, конфигурации и команды вне облачного сеанса. Compliance API и OTel описывают преимущественно действия агента, но не дают полного перечня установленных skills, плагинов и их.md-файлов, пока те не использованы, а также не замечают процессы, запущенные отдельно от сеанса. Агент защиты конечной точки может собрать настройки, извлечь Markdown-файлы расширений, сопоставить процессы с расшифровками и обнаружить опасную Bash-команду. Работы тут много: Token Security находит в среднем более десяти конфигурационных файлов на одного локального агента, причём они разбросаны по устройству.
Три уровня закрывают разные участки. Managed settings задают статическую базовую политику, но не понимают контекст выполнения. Расшифровки локальных сеансов сохраняют действия, которые видел ИИ, однако ничего не знают об офлайн-конфигурации. Endpoint и EDR собирают файлы и процессы, но лишены семантики разговора с моделью; OTel добавляет hooks, разрешения и отдельные локальные события. Даже вместе они дают доказательства, а не ответ на вопрос о законности. Администратор, увидев плагин, не всегда отличит вредоносную загрузку из интернета от разработки внутреннего инженера. Сверка skills и плагинов с корпоративными репозиториями добавляет происхождение. Если найден один вредоносный skill, по такому сопоставлению можно построить карту всех устройств, где он установлен, и быстрее удалить его.
Управление начинается там, где телеметрия связывается с владельцем агента, служебной задачей, идентичностями, учётными данными, разрешениями и маршрутами доступа к системам. Журнал отвечает, какая команда выполнилась, какой файл читался и какой MCP-сервис вызывался. Он не решает, оправдан ли доступ, ограничен ли минимально необходимыми правами и пора ли его отозвать после завершения задачи. Даже разрушительная команда может быть правомерной в конкретной работе, поэтому ни Anthropic, ни EDR не должны оценивать её по одному внешнему признаку. Плоскостью управления становится идентичность: через неё проверяют владельца и назначение, находят неизвестных агентов, урезают привилегии и закрывают доступ. Token Security применяет этот подход к агентам на конечных устройствах, в облачных средах, SaaS и средах разработки; практическую схему компания показывает в короткой демонстрации.