Команды CLI

security

Инструменты безопасности (аудит + опциональные исправления). Связанные темы:

Аудит

openclaw security audit
openclaw security audit --deep
openclaw security audit --fix
openclaw security audit --json

Аудит предупреждает, когда несколько отправителей личных сообщений используют основную сессию, и рекомендует безопасный режим ЛС: session.dmScope="per-channel-peer" (или per-account-channel-peer для многопользовательских каналов) для общих входящих сообщений. Это предназначено для усиления безопасности совместных/общих входящих. Использование одного общего Шлюза взаимно недоверяющими/враждебными операторами не является рекомендуемой конфигурацией; разделите границы доверия с помощью отдельных шлюзов (или отдельных пользователей/хостов ОС). Он также выдает предупреждение security.trust_model.multi_user_heuristic, когда конфигурация предполагает вероятный входящий трафик от нескольких пользователей (например, открытая политика ЛС/групп, настроенные групповые цели или правила отправителей с подстановочными знаками), и напоминает, что OpenClaw по умолчанию использует модель доверия личного помощника. Для преднамеренных настроек с несколькими пользователями рекомендации аудита: изолировать все сессии в песочнице, ограничить доступ к файловой системе рабочей областью и не хранить личные/приватные идентификаторы или учетные данные в этой среде выполнения. Он также предупреждает, когда небольшие модели (<=300B) используются без песочницы и с включенными веб/браузерными инструментами. Для входящих вебхуков он предупреждает, когда hooks.defaultSessionKey не установлен, когда разрешены переопределения sessionKey в запросе, и когда переопределения разрешены без hooks.allowedSessionKeyPrefixes. Он также предупреждает, когда настройки Docker для песочницы сконфигурированы при выключенном режиме песочницы, когда gateway.nodes.denyCommands использует неэффективные шаблонные/неизвестные записи (точное совпадение имени команды узла, а не фильтрация текста оболочки), когда gateway.nodes.allowCommands явно разрешает опасные команды узлов, когда глобальный tools.profile="minimal" переопределяется профилями инструментов агента, когда открытые группы предоставляют доступ к инструментам среды выполнения/файловой системы без защиты песочницей/рабочей областью, и когда установленные инструменты плагинов расширений могут быть доступны при разрешительной политике инструментов. Он также отмечает gateway.allowRealIpFallback=true (риск подмены заголовков при неправильной настройке прокси) и discovery.mdns.mode="full" (утечка метаданных через записи TXT mDNS). Он также предупреждает, когда браузер в песочнице использует сеть Docker bridge без sandbox.browser.cdpSourceRange. Он также отмечает опасные режимы сети Docker для песочницы (включая host и присоединение к пространству имен container:*). Он также предупреждает, когда существующие контейнеры Docker браузера в песочнице имеют отсутствующие/устаревшие метки хэшей (например, контейнеры до миграции без openclaw.browserConfigEpoch) и рекомендует openclaw sandbox recreate --browser --all. Он также предупреждает, когда записи установки плагинов/хуков на основе npm не зафиксированы, отсутствуют метаданные целостности или есть расхождение с текущими установленными версиями пакетов. Он предупреждает, когда белые списки каналов полагаются на изменяемые имена/адреса электронной почты/теги вместо стабильных идентификаторов (Discord, Slack, Google Chat, MS Teams, Mattermost, IRC, где применимо). Он предупреждает, когда gateway.auth.mode="none" оставляет HTTP API Шлюза доступными без общего секрета (/tools/invoke плюс любые включенные конечные точки /v1/*). Настройки с префиксом dangerous/dangerously являются явными операторскими переопределениями на случай аварии; включение одной из них само по себе не является отчетом об уязвимости безопасности. Для полного перечня опасных параметров см. раздел «Сводка небезопасных или опасных флагов» в Безопасность.

JSON вывод

Используйте --json для проверок CI/политик:

openclaw security audit --json | jq '.summary'
openclaw security audit --deep --json | jq '.findings[] | select(.severity=="critical") | .checkId'

Если --fix и --json используются вместе, вывод включает как действия по исправлению, так и итоговый отчет:

openclaw security audit --fix --json | jq '{fix: .fix.ok, summary: .report.summary}'

Что меняет --fix

--fix применяет безопасные, детерминированные исправления:

  • изменяет распространенную настройку groupPolicy="open" на groupPolicy="allowlist" (включая варианты для учетных записей в поддерживаемых каналах)
  • устанавливает logging.redactSensitive с "off" на "tools"
  • ужесточает разрешения для файлов состояния/конфигурации и общих чувствительных файлов (credentials/*.json, auth-profiles.json, sessions.json, файлы сессий *.jsonl)

--fix не:

  • обновляет токены/пароли/API-ключи
  • отключает инструменты (gateway, cron, exec и т.д.)
  • изменяет выбор привязки шлюза, аутентификации или сетевой доступности
  • удаляет или переписывает плагины/навыки

secretssessions