9.8 KiB
| read_when | summary | title | x-i18n | ||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
Довідка CLI для `openclaw security` (аудит і виправлення поширених помилок безпеки) | безпека |
|
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
Аудит попереджає, коли кілька відправників DM ділять основну сесію, і рекомендує безпечний режим DM: session.dmScope="per-channel-peer" (або per-account-channel-peer для каналів із кількома обліковими записами) для спільних вхідних.
Це призначено для посилення безпеки кооперативних/спільних вхідних. Один Gateway, спільний для операторів, які не довіряють одне одному або діють зловмисно, не є рекомендованим налаштуванням; розділяйте межі довіри за допомогою окремих gateway (або окремих користувачів ОС/хостів).
Він також генерує security.trust_model.multi_user_heuristic, коли конфігурація вказує на ймовірний спільний користувацький вхідний потік (наприклад, відкрита політика DM/груп, налаштовані групові цілі або правила відправників із шаблоном *), і нагадує, що за замовчуванням OpenClaw має модель довіри персонального асистента.
Для навмисних конфігурацій зі спільними користувачами рекомендація аудиту полягає в тому, щоб ізолювати всі сесії в пісочниці, обмежити доступ до файлової системи областю workspace та не тримати особисті/приватні ідентичності або облікові дані в цьому середовищі виконання.
Він також попереджає, коли малі моделі (<=300B) використовуються без пісочниці та з увімкненими інструментами web/browser.
Для вхідних Webhook він попереджає, коли hooks.token повторно використовує токен Gateway, коли hooks.token закороткий, коли hooks.path="/", коли hooks.defaultSessionKey не задано, коли hooks.allowedAgentIds не обмежено, коли дозволено перевизначення sessionKey у запиті, а також коли перевизначення дозволені без hooks.allowedSessionKeyPrefixes.
Він також попереджає, коли параметри Docker пісочниці налаштовані, але режим пісочниці вимкнений, коли gateway.nodes.denyCommands використовує неефективні шаблоноподібні/невідомі записи (лише точне зіставлення імен команд node, а не фільтрація тексту shell), коли gateway.nodes.allowCommands явно вмикає небезпечні команди node, коли глобальний tools.profile="minimal" перевизначається профілями інструментів агента, коли відкриті групи надають доступ до інструментів runtime/filesystem без захисту пісочницею/workspace, а також коли інструменти встановлених extension plugins можуть бути досяжні за надто дозволяючої політики інструментів.
Він також позначає gateway.allowRealIpFallback=true (ризик підміни заголовків, якщо проксі налаштовано неправильно) і discovery.mdns.mode="full" (витік метаданих через записи mDNS TXT).
Він також попереджає, коли браузер пісочниці використовує мережу Docker bridge без sandbox.browser.cdpSourceRange.
Він також позначає небезпечні режими мережі Docker для пісочниці (включно з host і приєднанням до простору імен container:*).
Він також попереджає, коли наявні Docker-контейнери браузера пісочниці мають відсутні/застарілі хеш-мітки (наприклад, доміграційні контейнери без openclaw.browserConfigEpoch) і рекомендує openclaw sandbox recreate --browser --all.
Він також попереджає, коли записи про встановлення plugin/hook на базі npm не закріплені, не мають метаданих цілісності або розходяться з версіями пакетів, установлених зараз.
Він попереджає, коли allowlists каналів спираються на змінні names/emails/tags замість стабільних ID (Discord, Slack, Google Chat, Microsoft Teams, Mattermost, IRC-області, де застосовно).
Він попереджає, коли gateway.auth.mode="none" залишає HTTP API Gateway доступними без спільного секрету (/tools/invoke плюс будь-яка увімкнена кінцева точка /v1/*).
Параметри з префіксами dangerous/dangerously є явними аварійними перевизначеннями для операторів; увімкнення одного з них саме по собі не є звітом про вразливість безпеки.
Повний перелік небезпечних параметрів див. у розділі «Insecure or dangerous flags summary» у Безпека.
Поведінка SecretRef:
security auditвизначає підтримувані SecretRef у режимі лише для читання для цільових шляхів.- Якщо SecretRef недоступний у поточному шляху команди, аудит продовжується і повідомляє
secretDiagnostics(замість аварійного завершення). --tokenі--passwordлише перевизначають auth для глибокої перевірки в межах цього виклику команди; вони не переписують config або зіставлення 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, якщо такий список існує, а config ще не визначаєallowFrom - встановлює
logging.redactSensitiveз"off"на"tools" - посилює права доступу для state/config і поширених чутливих файлів
(
credentials/*.json,auth-profiles.json,sessions.json, session*.jsonl) - також посилює права для файлів include конфігурації, на які посилається
openclaw.json - використовує
chmodна POSIX-хостах і скиданняicaclsна Windows
--fix не робить такого:
- не ротує токени/паролі/API key
- не вимикає інструменти (
gateway,cron,execтощо) - не змінює вибір прив’язки/автентифікації/мережевої доступності gateway
- не видаляє й не переписує plugins/Skills