CLI commands
Безпека
openclaw security
Інструменти безпеки (аудит + необов’язкові виправлення).
Пов’язано:
- Посібник із безпеки: Безпека
Аудит
openclaw security audit
openclaw security audit --deep
openclaw security audit --deep --password <password>
openclaw security audit --deep --token <token>
openclaw security audit --fix
openclaw security audit --json
Звичайний security audit залишається на холодному шляху конфігурації/файлової системи/лише читання. За замовчуванням він не виявляє колектори безпеки середовища виконання Plugin, тому рутинні аудити не завантажують середовище виконання кожного встановленого Plugin. Використовуйте --deep, щоб включити найкращі можливі живі перевірки Gateway і колектори аудиту безпеки, що належать Plugin; явні внутрішні виклики також можуть підключати ці колектори, що належать Plugin, коли вже мають відповідну область середовища виконання.
Аудит попереджає, коли кілька відправників DM спільно використовують основну сесію, і рекомендує безпечний режим DM: session.dmScope="per-channel-peer" (або per-account-channel-peer для багатооблікових каналів) для спільних вхідних скриньок.
Це призначено для посилення захисту кооперативних/спільних вхідних скриньок. Один Gateway, спільний для взаємно недовірених/ворожих операторів, не є рекомендованою конфігурацією; розділяйте межі довіри окремими шлюзами (або окремими користувачами ОС/хостами).
Він також видає security.trust_model.multi_user_heuristic, коли конфігурація вказує на ймовірний вхід від кількох користувачів (наприклад, відкрита політика DM/груп, налаштовані групові цілі або правила відправників із wildcard), і нагадує, що OpenClaw за замовчуванням має модель довіри персонального асистента.
Для навмисних спільнокористувацьких конфігурацій рекомендація аудиту: ізолювати всі сесії в sandbox, тримати доступ до файлової системи в межах робочої області та не розміщувати персональні/приватні ідентичності чи облікові дані в цьому середовищі виконання.
Він також попереджає, коли малі моделі (<=300B) використовуються без sandboxing і з увімкненими веб-/браузерними інструментами.
Для вхідних Webhook він попереджає, коли hooks.token повторно використовує токен Gateway, коли hooks.token короткий, коли hooks.path="/", коли hooks.defaultSessionKey не задано, коли hooks.allowedAgentIds не обмежено, коли ввімкнено перевизначення sessionKey у запитах і коли перевизначення ввімкнено без hooks.allowedSessionKeyPrefixes.
Він також попереджає, коли налаштування sandbox Docker сконфігуровані, а режим sandbox вимкнено, коли gateway.nodes.denyCommands використовує неефективні шаблоноподібні/невідомі записи (лише точне зіставлення імен команд Node, а не фільтрація shell-тексту), коли gateway.nodes.allowCommands явно вмикає небезпечні команди Node, коли глобальний tools.profile="minimal" перевизначається профілями інструментів агента, коли відкриті групи надають доступ до інструментів середовища виконання/файлової системи без захисту sandbox/робочої області, і коли інструменти встановлених Plugin можуть бути доступні за надто дозволеної політики інструментів.
Він також позначає gateway.allowRealIpFallback=true (ризик підміни заголовків, якщо проксі налаштовано неправильно) і discovery.mdns.mode="full" (витік метаданих через записи mDNS TXT).
Він також попереджає, коли браузер sandbox використовує мережу Docker bridge без sandbox.browser.cdpSourceRange.
Він також позначає небезпечні мережеві режими sandbox Docker (зокрема host і приєднання до просторів імен container:*).
Він також попереджає, коли наявні Docker-контейнери браузера sandbox мають відсутні/застарілі hash-мітки (наприклад, контейнери до міграції без openclaw.browserConfigEpoch) і рекомендує openclaw sandbox recreate --browser --all.
Він також попереджає, коли записи встановлення Plugin/hook на основі npm не зафіксовані до версії, не мають метаданих цілісності або розходяться з поточними встановленими версіями пакетів.
Він попереджає, коли списки дозволів каналів покладаються на змінні імена/електронні адреси/теги замість стабільних ID (Discord, Slack, Google Chat, Microsoft Teams, Mattermost, області IRC, де застосовно).
Він попереджає, коли gateway.auth.mode="none" залишає HTTP API Gateway доступними без спільного секрету (/tools/invoke плюс будь-який увімкнений endpoint /v1/*).
Налаштування з префіксами dangerous/dangerously є явними аварійними перевизначеннями оператора; увімкнення такого налаштування саме по собі не є звітом про вразливість безпеки.
Повний перелік небезпечних параметрів див. у розділі «Підсумок небезпечних або незахищених прапорців» у Безпека.
Поведінка SecretRef:
security auditрозв’язує підтримувані SecretRefs у режимі лише читання для своїх цільових шляхів.- Якщо SecretRef недоступний у поточному шляху команди, аудит продовжується й повідомляє
secretDiagnostics(замість аварійного завершення). --tokenі--passwordлише перевизначають автентифікацію глибокої перевірки для цього виклику команди; вони не переписують конфігурацію або зіставлення SecretRef.
Вивід 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"(включно з варіантами для облікових записів у підтримуваних каналах) - коли групова політика WhatsApp змінюється на
allowlist, заповнюєgroupAllowFromзі збереженого файлаallowFrom, якщо такий список існує, а конфігурація ще не визначаєallowFrom - встановлює
logging.redactSensitiveз"off"на"tools" - посилює дозволи для стану/конфігурації та поширених чутливих файлів
(
credentials/*.json,auth-profiles.json,sessions.json, сесійні*.jsonl) - також посилює дозволи для файлів include конфігурації, на які посилається
openclaw.json - використовує
chmodна POSIX-хостах і скиданняicaclsу Windows
--fix не:
- ротує токени/паролі/API-ключі
- вимикає інструменти (
gateway,cron,execтощо) - змінює вибір bind/auth/мережевого доступу Gateway
- видаляє або переписує plugins/skills