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и т.д.) - изменяет выбор привязки шлюза, аутентификации или сетевой доступности
- удаляет или переписывает плагины/навыки