- Сообщения
- 27,432
- Решения
- 29
- Реакции
- 14,421
Самостоятельно размещаемые агентные рантаймы: почему OpenClaw требует изоляции и строгого контроля
Самостоятельно размещаемые агентные рантаймы вроде OpenClaw быстро появляются в корпоративных пилотах и приносят с собой жёсткую реальность: у OpenClaw ограниченный набор встроенных средств безопасности. Рантайм способен принимать недоверенный текст, загружать и выполнять навыки (то есть код) из внешних источников и совершать действия с использованием назначенных ему учётных данных.Фактически это сдвигает границу выполнения с статического кода приложения на динамически поставляемый контент и сторонние возможности — без сопоставимых механизмов контроля идентификации, обработки входных данных и разграничения привилегий.
В незащищённой конфигурации быстро проявляются три риска:
- возможна утечка или эксфильтрация учётных данных и доступных агенту данных;
- может быть изменено постоянное состояние агента, или его "память", из-за чего со временем он начнёт следовать инструкциям злоумышленника;
- хост-среда может быть скомпрометирована, если агента вынудят загрузить и выполнить вредоносный код.
Этот материал объясняет, как две цепочки поставки, присущие самостоятельно размещаемым агентам, — недоверенный код (навыки и расширения) и недоверенные инструкции (внешние текстовые входные данные) — сходятся в единый цикл выполнения. Мы разбираем, как такой дизайн создаёт накапливающийся риск в средах рабочих станций, приводим репрезентативную цепочку компрометации и описываем рекомендации по развёртыванию, мониторингу и поиску угроз, согласованные с мерами безопасности Microsoft, включая Microsoft Defender XDR. Для организаций, которые всё же решат оценивать OpenClaw, приведена минимально допустимая безопасная операционная позиция.
Прояснение ландшафта: рантайм и платформа
Чтобы корректно рассуждать о средствах защиты и не применять неверные меры в неподходящих местах, важно разделять среду, где выполняется код, и среду, по которой распространяются инструкции. Эти поверхности часто обсуждаются вместе, но под атакой они ведут себя по-разному и обычно находятся в зоне ответственности разных команд.OpenClaw (рантайм)
Самостоятельно размещаемый агентный рантайм, работающий на рабочей станции, виртуальной машине или в контейнере. Он может загружать навыки и взаимодействовать с локальными и облачными ресурсами. Ключевой момент с точки зрения безопасности: он наследует уровень доверия (и рисков) машины и идентичностей, которыми может пользоваться. Установка навыка по сути равносильна установке привилегированного кода. Навыки часто обнаруживаются и устанавливаются через ClawHub — публичный реестр навыков OpenClaw.При этом OpenClaw действует в рамках тех прав доступа, которые пользователь предоставил на своём устройстве. Если у него есть разрешения на доступ к определённым приложениям, файлам или учётным записям, он может извлекать из них дополнительную информацию. С учётом требований к конфиденциальности и безопасности Microsoft Defender рекомендует использовать OpenClaw только в изолированных средах, не имеющих доступа к каким-либо недедицированным учётным данным или данным, утечка которых недопустима.
Moltbook (платформа)
Платформа и слой идентификации, ориентированные на агентов, где агенты публикуют данные, читают их и аутентифицируются через API. Ключевая точка риска здесь в том, что платформа может стать высокообъёмным потоком контента, на который злоумышленник способен влиять. Один вредоносный пост может одновременно достичь множества агентов.На практике OpenClaw расширяет границу выполнения кода внутри вашей среды, тогда как Moltbook масштабно расширяет поверхность влияния инструкций. Когда эти два компонента взаимодействуют без адекватных защитных механизмов, один вредоносный вход может привести к устойчивому, аутентифицированному выполнению кода.
Как агенты сдвигают границу безопасности
Большинство команд безопасности уже понимают, как защищать автоматизацию. Агенты меняют риск-профиль потому, что сущность, принимающая решение о действии, не всегда является той, кто это действие выполняет. Во время работы агент загружает сторонний код, читает недоверенный ввод и действует, используя постоянные учётные данные, превращая среду выполнения в новую границу безопасности.Эта граница состоит из трёх компонентов:
- Идентификация — токены, которые агент использует для работы (SaaS API, репозитории, почта, плоскости управления облаком).
- Выполнение — инструменты, с помощью которых он может изменять состояние (файлы, shell, инфраструктура, сообщения).
- Постоянство — механизмы сохранения изменений между запусками (задачи, конфигурации, расписания).
- Косвенная prompt-инъекция. Злоумышленник может скрыть вредоносные инструкции в контенте, который читает агент, направляя использование инструментов или изменяя его память и тем самым влияя на поведение во времени, если не заданы жёсткие границы.
- Вредоносные навыки. Агенты получают навыки из различных источников — по сути, скачивая и выполняя код из Интернета, который может содержать вредоносную логику.
Управляемые платформы и самостоятельно размещаемые рантаймы
В управляемых ассистентах и агентных платформах меры безопасности обычно сосредоточены на областях идентификации, управлении коннекторами и границах данных, поскольку рантайм и обновления контролируются централизованно. В случае самостоятельно размещаемых рантаймов эта ответственность ложится на организацию. Хост-система, поверхность плагинов и локальное состояние становятся частью границы доверия, а сам рантайм часто работает в непосредственной близости к чувствительным учётным данным разработчиков.При использовании самостоятельно размещаемого рантайма вы отвечаете за радиус поражения. Хост, плагины и локальное состояние входят в границу доверия. Если агенту разрешено просматривать внешний контент и устанавливать расширения, следует исходить из того, что рано или поздно он обработает вредоносный ввод. Поэтому меры контроля должны в первую очередь обеспечивать локализацию последствий и восстановляемость, а не полагаться исключительно на предотвращение.
Сквозной сценарий атаки: отравленный навык
Данный сценарий описывает реалистичную цепочку компрометации в открытых агентных экосистемах. Он напрямую соотносится с контрольными точками, на которые могут влиять защитные команды: какие компоненты устанавливаются, к каким ресурсам имеет доступ рантайм и каким образом обеспечивается постоянство изменений. В открытых источниках уже зафиксированы случаи появления вредоносных навыков в публичных реестрах. В ряде инцидентов содержимое реестров представляло собой не маскирующиеся под легитимные компоненты модули, а фактически упакованное в формат навыка вредоносное ПО.
Figure 1: пятишаговая схема, показывающая, как вредоносный навык проходит путь от публичного распространения до устойчивого контроля, чаще за счёт изменений конфигурации или состояния, а не классической установки вредоносного ПО.
Шаг 1: Распространение
Злоумышленник публикует вредоносный навык в ClawHub — публичном реестре навыков OpenClaw. Навык может маскироваться под полезную утилиту либо распространяться как заведомо вредоносный, с продвижением через каналы сообщества. В других случаях навык обнаруживается органически — через поиск — и устанавливается из-за быстрого развития экосистемы и низкого порога установки, который поощряет эксперименты. В результате формируется прямой путь поставки кода из внешнего источника непосредственно в рантайм.Шаг 2: Установка
Разработчик или агент инициирует установку, поскольку навык выглядит релевантным текущей задаче. В конфигурациях с мягкими ограничениями рантайму может быть разрешено выполнять процесс установки без участия человека. В более контролируемых средах установку следует рассматривать как явное событие утверждения, эквивалентное выполнению стороннего кода.Шаг 3: Доступ к состоянию (токены и устойчивые инструкции)
Цель атакующего — получить доступ к состоянию агента, включая токены, кэшированные учётные данные, конфигурационные данные и журналы взаимодействий, а также к каналам устойчивых инструкций, влияющих на будущие запуски: файлам задач, запланированным действиям или конфигурации агента. Если устойчивые инструкции могут изменяться в ходе обычных взаимодействий, одной инъекции достаточно, чтобы эффект сохранялся между запусками.Шаг 4: Повторное использование привилегий через легитимные API
Обладая действительными идентификационными данными, атакующий может выполнять действия через стандартные API и инструменты. Такая активность часто выглядит как легитимная автоматизация, если отсутствуют строгие механизмы мониторинга и журналирования.Шаг 5: Закрепление через конфигурацию
Закрепление обычно реализуется в виде устойчивых изменений конфигурации: новых согласий OAuth, запланированных запусков, изменённых задач агента или инструментов, остающихся постоянно разрешёнными. Цель заключается не столько в развёртывании вредоносного ПО, сколько в сохранении долгосрочного контроля над контуром автоматизации.Вариант атаки: косвенная prompt-инъекция через общие ленты
Если агенты настроены на регулярный опрос общей ленты, злоумышленник может внедрить вредоносные инструкции в контент, который агенты потребляют. Это косвенная prompt-инъекция: полезная нагрузка передаётся по цепочке поставки инструкций, будучи встроенной во внешний контент, а не предоставленной доверенным оператором. В многоагентных конфигурациях один вредоносный поток может одновременно воздействовать на множество агентов. Практический риск заключается в управлении использованием инструментов или в провоцировании раскрытия чувствительных данных у той части агентов, которые обладают высокими полномочиями и слабыми механизмами ограничений.Контроли Microsoft Defender и Microsoft Security для самохостируемых агентов
Минимально безопасная операционная модель (если принято решение запускать OpenClaw)
Наиболее безопасная рекомендация — не устанавливать и не запускать OpenClaw с использованием основных рабочих или личных учётных записей и не разворачивать его на устройствах, содержащих чувствительные данные. В текущем виде следует исходить из того, что рантайм может подвергаться влиянию недоверенного ввода, его состояние может изменяться, а хост-система — быть скомпрометированной через агента.Если существует обоснованная необходимость оценить OpenClaw, следующие ограничения следует рассматривать как базовый уровень:
1) Запуск только в изоляции
Используйте выделенную виртуальную машину или отдельное физическое устройство, не применяемое для повседневной работы. Рассматривайте среду как одноразовую.2) Выделенные учётные данные и нечувствительные данные
Создавайте учётные записи, токены и наборы данных, предназначенные исключительно для работы агента. Предполагается возможность компрометации, поэтому необходимо заранее планировать регулярную ротацию.3) Мониторинг изменений состояния и памяти
Регулярно проверяйте сохранённые инструкции и состояние агента на предмет неожиданных постоянных правил, новых доверенных источников или изменений поведения между запусками.4) Резервное копирование состояния для быстрого восстановления
OpenClaw поддерживает создание и восстановление снимков состояния:- резервное копирование
.openclaw/workspace/сохраняет рабочее состояние агента без учётных данных; - резервное копирование всего каталога
.openclaw/включает также токены и учётные данные. Это упрощает восстановление, но повышает чувствительность резервных копий и может быть неприемлемо при подозрении на компрометацию учётных данных.
5) Воспринимать пересборку как штатную меру контроля
Регулярно переустанавливайте среду и выполняйте немедленную пересборку при обнаружении аномального поведения. Закрепление может проявляться в виде тонких изменений конфигурации, а не явного развёртывания вредоносного ПО.Соответствие действий безопасности и средств Microsoft
Ниже приведено сопоставление ключевых мер безопасности с практическими способами их реализации с использованием решений Microsoft Security и связанных с ними контролей. Ссылки на руководства по внедрению упомянутых средств приведены в разделе References.| Что делать | Как реализовать с помощью контролей Microsoft |
|---|---|
| Идентификация | Использовать отдельные идентичности для агентов. Минимизировать права. Предпочитать краткоживущие токены. Применять контролируемое согласие для привилегированных разрешений. Microsoft Entra ID: принцип наименьших привилегий, Conditional Access, процессы администраторского согласия для чувствительных OAuth-областей. Microsoft Defender for Cloud Apps (App Governance): инвентаризация OAuth-приложений, контроль дрейфа согласий, оповещения о рискованных издателях и уровнях привилегий. |
| Конечные точки и хост | Рассматривать хосты агентов как привилегированные. Отделять пилоты от продакшена. Планировать быструю изоляцию и отзыв токенов. Microsoft Defender for Endpoint: подключение хостов агентов и применение более строгих политик через группы устройств. Microsoft Defender XDR: корреляция активности конечных точек с событиями идентификации и облака для быстрого реагирования и локализации. |
| Цепочка поставки (навыки, расширения, плагины) | По возможности ограничивать источники и издателей установки. Фиксировать версии для одобренных возможностей. Проводить ревизию обновлений. Defender for Endpoint: использование телеметрии и расследований для выявления подозрительных установок расширений и инструментов удалённого доступа. Управление конечными точками и контроль приложений: ограничение неутверждённых путей установки и издателей. |
| Сеть и исходящий трафик | Ограничивать исходящий доступ хостов агентов и рабочих нагрузок до известных и необходимых для бизнеса направлений. Блокировать или изолировать высокорисковые внешние источники потребления контента без обоснования. Defender for Endpoint (фильтрация веб-контента): ограничение категорий и доступа для групп устройств агентов. Сетевые средства Azure и Defender for Cloud: применение сетевых ограничений и мониторинг исходящего поведения с централизованным журналированием. |
| Защита данных | Снижать вероятность попадания чувствительных данных во входные данные агентов и их эксфильтрации через инструменты агента. Microsoft Purview: маркировка чувствительности и Endpoint DLP для аудита или блокирования перемещения помеченных данных процессами агента и во внешние назначения. |
| Мониторинг и реагирование | Журналировать действия агентов и рассматривать аномальное использование инструментов как сигнал инцидента. Подготовить сценарии реагирования на компрометацию идентичностей агентов. Defender XDR: охота за угрозами и корреляция инцидентов. Microsoft Sentinel: при необходимости более глубокой ретенции, обогащения и автоматизации. Операционные плейбуки: изоляция, ротация учётных данных, пересмотр согласий и форензика рабочих пространств. |
Обнаружение и анализ активности агентов (Microsoft Defender XDR)
Эти запросы предназначены для быстрого выявления работы рантаймов агентов в среде и позволяют различать развертывания, функционирующие как привилегированная автоматизация, от обычной пользовательской активности. Это обеспечивает ускоренное определение зоны охвата, приоритизацию и реагирование.Поиск угроз 1: Выявление рантаймов агентов и связанных инструментов
Используется для инвентаризации всех мест, где работают рантаймы агентов, а также учётных записей и командных строк, под которыми они запускаются.
Код:
DeviceProcessEvents
| where Timestamp > ago(30d)
| where ProcessCommandLine has_any ("openclaw","moltbot","clawdbot")
or FileName has_any ("openclaw","moltbot","clawdbot")
| project Timestamp, DeviceName, AccountName=InitiatingProcessAccountName, FileName, FolderPath, ProcessCommandLine
| order by Timestamp desc
Поиск угроз 1b: Вариант для облачных рабочих нагрузок (CloudProcessEvents)
Расширяет инвентаризацию на контейнеры и Kubernetes, которые передают телеметрию процессов через интеграцию с Defender for Cloud.
Код:
CloudProcessEvents
| where Timestamp > ago(30d)
| where ProcessCommandLine has_any ("openclaw","moltbot","clawdbot")
or ProcessName has_any ("openclaw","moltbot","clawdbot")
or FileName has_any ("openclaw","moltbot","clawdbot")
| extend WorkloadId = coalesce(AzureResourceId, AwsResourceName, GcpFullResourceName)
| project Timestamp,
WorkloadId,
KubernetesNamespace,
KubernetesPodName,
ContainerName,
AccountName,
ProcessName,
Filenames,
FolderPath,
ProcessCommandLine
| order by Timestamp desc
Поиск угроз 1c: Установки навыков ClawHub и редкие skill-slug
Используется для выявления установок навыков из ClawHub и обнаружения редко встречающихся slug-ов навыков.
Код:
DeviceProcessEvents
| where Timestamp > ago(30d)
| where ProcessCommandLine has "clawhub install"
| extend SkillSlug = extract(@"\bclawhub\s+install\s+([^\s]+)", 1, ProcessCommandLine)
| where isnotempty(SkillSlug)
| summarize InstallEvents=count(), Devices=dcount(DeviceName), Accounts=dcount(InitiatingProcessAccountName) by SkillSlug
| order by Devices asc, InstallEvents desc
Поиск угроз 2: Установка и изменение расширений на рабочих станциях разработчиков
Позволяет выявлять изменения расширений на рабочих станциях разработчиков, которые часто предшествуют подозрительной активности.
Код:
DeviceFileEvents
| where Timestamp > ago(30d)
| where FolderPath has_any (@"\.vscode\extensions\", @"/.vscode/extensions/")
| where ActionType in ("FileCreated","FileModified","FolderCreated")
| summarize FirstSeen=min(Timestamp), LastSeen=max(Timestamp), FileCount=count()
by DeviceName, InitiatingProcessAccountName, FolderPath
| order by LastSeen desc
Поиск угроз 3: Высокопривилегированные OAuth-приложения и дрейф согласий (App Governance)
Позволяет выявлять новые или изменённые высокопривилегированные OAuth-приложения, связанные с интеграциями агентов (требуется App Governance).
Код:
OAuthAppInfo
| where Timestamp > ago(30d)
| where PrivilegeLevel =~ "High"
| project Timestamp, AppName, VerifiedPublisher, AppOrigin, IsAdminConsented, ConsentedUsersCount, AppStatus, Permissions
| order by Timestamp desc
Поиск угроз 4: Неожиданные слушающие сервисы, созданные процессами агентов
Выявляет процессы агентов, открывающие порты для прослушивания, что может указывать на открытые интерфейсы управления или непреднамеренные сервисы.
Код:
DeviceNetworkEvents
| where Timestamp > ago(30d)
| where ActionType == "ListeningConnectionCreated"
| where InitiatingProcessCommandLine has_any ("openclaw","moltbot","clawdbot")
or InitiatingProcessFileName has_any ("openclaw","moltbot","clawdbot")
| summarize FirstSeen=min(Timestamp), LastSeen=max(Timestamp), Ports=make_set(LocalPort)
by DeviceName, InitiatingProcessFileName, InitiatingProcessAccountName, LocalIP
| order by Timestamp desc
Поиск угроз 5: Запуск неожиданных оболочек или инструментов загрузки агентными рантаймами
Используется для фиксации случаев запуска агентами оболочек или инструментов загрузки, которые не характерны для ожидаемой работы.
Код:
agent operation.
DeviceProcessEvents
| where Timestamp > ago(30d)
| where InitiatingProcessFileName has_any ("openclaw","moltbot","clawdbot")
or InitiatingProcessCommandLine has_any ("openclaw","moltbot","clawdbot")
| where FileName in ("cmd.exe","powershell.exe","pwsh.exe","bash","sh","curl","wget")
| project Timestamp, DeviceName, AccountName=InitiatingProcessAccountName,
Parent=InitiatingProcessFileName, FileName, ProcessCommandLine
| order by Timestamp desc
Последствия для безопасности при использовании самохостируемых агентов
Самохостируемые агенты объединяют небезопасный код и небезопасные инструкции в единый цикл выполнения с использованием действительных учётных данных. Именно это представляет собой основное рисковое поле.Запуск OpenClaw — это не просто настройка, это решение о доверии: какая машина, какие учётные записи и какие данные могут быть подвергнуты воздействию при обработке агентом недоверенного ввода.
Для большинства сред наиболее безопасным решением может быть отказ от развертывания. Если команда всё же принимает решение использовать агент, безопасная стратегия заключается в предположении возможного компромета: изолировать рантайм, ограничить его доступ, осуществлять непрерывный мониторинг и быть готовыми к немедленной перестройке среды.
Немедленно следует выполнить три действия:
- Провести инвентаризацию всех мест развертывания рантайма.
- Проверить учётные записи, используемые агентом, и связанные с ними разрешения.
- Определить, какие входные данные могут влиять на выполнение инструментов.
Ужесточайте контроль и отслеживайте активность по всему циклу. Используйте приведённые запросы для поиска угроз как отправную точку, рассматривая каждое обнаружение как возможность уменьшить потенциальный ущерб до того, как он будет использован злоумышленником.
Ссылки
- Обзор Advanced Hunting в Microsoft Defender XDR
- Справка по таблице CloudProcessEvents
- Справка по таблице OAuthAppInfo и требования
- Фильтрация веб-контента в Defender for Endpoint
- Обзор процесса согласия администратора в Entra
- Обзор Conditional Access в Entra
- Обзор App Governance в Defender for Cloud Apps
- Обзор Endpoint DLP в Microsoft Purview
Исследование подготовлено командой Microsoft Defender Security Research при участии Idan Hen.
Вольный перевод этой статьи