> ## Documentation Index
> Fetch the complete documentation index at: https://docs2.openclaw.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Безпека

# `openclaw security`

Інструменти безпеки (аудит + необов’язкові виправлення).

Пов’язано:

* Посібник із безпеки: [Безпека](/uk/gateway/security)

## Аудит

```bash theme={"theme":{"light":"min-light","dark":"min-dark"}}
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` залишається на холодному шляху конфігурації/файлової системи/лише читання. За замовчуванням він не виявляє збирачі безпеки runtime Plugin, тому регулярні аудити не завантажують runtime кожного встановленого Plugin. Використовуйте `--deep`, щоб додати live-проби Gateway за принципом найкращих зусиль і збирачі аудиту безпеки, що належать Plugin; явні внутрішні викликачі також можуть увімкнути ці збирачі, що належать Plugin, коли вже мають відповідну runtime-область.

Аудит попереджає, коли кілька відправників DM спільно використовують основний сеанс, і рекомендує **безпечний режим DM**: `session.dmScope="per-channel-peer"` (або `per-account-channel-peer` для каналів із кількома обліковими записами) для спільних вхідних скриньок.
Це призначено для посилення захисту кооперативних/спільних вхідних скриньок. Один Gateway, спільний для операторів, які взаємно не довіряють один одному або є ворожими, не є рекомендованою конфігурацією; розділяйте межі довіри окремими gateway (або окремими користувачами/хостами ОС).
Він також виводить `security.trust_model.multi_user_heuristic`, коли конфігурація вказує на ймовірний вхідний трафік від кількох спільних користувачів (наприклад, відкрита політика DM/груп, налаштовані групові цілі або правила відправників із wildcard), і нагадує, що OpenClaw за замовчуванням використовує модель довіри персонального асистента.
Для навмисних конфігурацій зі спільними користувачами рекомендація аудиту полягає в тому, щоб ізолювати всі сеанси в sandbox, обмежити доступ до файлової системи робочою областю і не розміщувати персональні/приватні ідентичності або облікові дані в цьому runtime.
Він також попереджає, коли малі моделі (`<=300B`) використовуються без sandboxing і з увімкненими web/browser-інструментами.
Для вхідного Webhook під час запуску записується некритичне попередження безпеки, а аудит позначає повторне використання `hooks.token` активних значень автентифікації зі спільним секретом Gateway, зокрема `gateway.auth.token` / `OPENCLAW_GATEWAY_TOKEN` і `gateway.auth.password` / `OPENCLAW_GATEWAY_PASSWORD`. Він також попереджає, коли:

* `hooks.token` короткий
* `hooks.path="/"`
* `hooks.defaultSessionKey` не задано
* `hooks.allowedAgentIds` не обмежено
* перевизначення `sessionKey` у запиті ввімкнено
* перевизначення ввімкнено без `hooks.allowedSessionKeyPrefixes`

Якщо автентифікацію Gateway паролем надано лише під час запуску, передайте те саме значення до `openclaw security audit --auth password --password <password>`, щоб аудит міг перевірити його щодо `hooks.token`.
Запустіть `openclaw doctor --fix`, щоб ротувати збережений повторно використаний `hooks.token`, а потім оновіть зовнішніх відправників hook для використання нового токена hook.

Він також попереджає, коли налаштування Docker для sandbox сконфігуровано, але режим sandbox вимкнено; коли `gateway.nodes.denyCommands` використовує неефективні записи, схожі на шаблони, або невідомі записи (лише точний збіг імен команд node, а не фільтрація shell-тексту); коли `gateway.nodes.allowCommands` явно вмикає небезпечні команди node; коли глобальний `tools.profile="minimal"` перевизначається профілями інструментів agent; коли інструменти запису/редагування вимкнені, але `exec` все ще доступний без обмежувальної межі файлової системи sandbox; коли відкриті DM або групи відкривають runtime/інструменти файлової системи без sandbox/захисту робочої області; і коли інструменти встановленого Plugin можуть бути доступні за дозвільної політики інструментів.
Він також позначає `gateway.allowRealIpFallback=true` (ризик підробки заголовків, якщо проксі налаштовані неправильно) і `discovery.mdns.mode="full"` (витік метаданих через mDNS TXT-записи).
Він також попереджає, коли браузер sandbox використовує Docker-мережу `bridge` без `sandbox.browser.cdpSourceRange`.
Він також позначає небезпечні режими мережі Docker для sandbox (зокрема `host` і приєднання до namespace `container:*`).
Він також попереджає, коли наявні Docker-контейнери браузера sandbox мають відсутні/застарілі hash-мітки (наприклад, контейнери до міграції без `openclaw.browserConfigEpoch`) і рекомендує `openclaw sandbox recreate --browser --all`.
Він також попереджає, коли записи встановлення Plugin/hook на основі npm не зафіксовані до версії, не мають метаданих цілісності або відрізняються від поточних встановлених версій пакетів.
Він попереджає, коли allowlist каналів покладаються на змінювані імена/електронні адреси/теги замість стабільних ID (Discord, Slack, Google Chat, Microsoft Teams, Mattermost, IRC-області, де застосовно).
Він попереджає, коли `gateway.auth.mode="none"` залишає HTTP API Gateway доступними без спільного секрету (`/tools/invoke` плюс будь-який увімкнений endpoint `/v1/*`).
Налаштування з префіксом `dangerous`/`dangerously` є явними аварійними перевизначеннями оператора; увімкнення одного з них саме по собі не є звітом про вразливість безпеки.
Повний інвентар небезпечних параметрів див. у розділі «Зведення небезпечних або незахищених прапорців» у [Безпека](/uk/gateway/security).

Навмисні постійні знахідки можна прийняти за допомогою `security.audit.suppressions`.
Кожне приглушення відповідає точному `checkId` і може бути звужене за допомогою
`titleIncludes` та/або `detailIncludes` — підрядків без урахування регістру:

```json theme={"theme":{"light":"min-light","dark":"min-dark"}}
{
  "security": {
    "audit": {
      "suppressions": [
        {
          "checkId": "plugins.tools_reachable_permissive_policy",
          "detailIncludes": "Enabled extension plugins: gbrain",
          "reason": "trusted local operator plugin"
        }
      ]
    }
  }
}
```

Приглушені знахідки вилучаються з активного списку `summary` і `findings`.
JSON-вивід зберігає їх у `suppressedFindings` для можливості аудиту.
Коли приглушення налаштовані, активний вивід також зберігає неприглушувану
інформаційну знахідку `security.audit.suppressions.active`, щоб читачі могли зрозуміти, що аудит
було відфільтровано. Небезпечні прапорці конфігурації виводяться по одному прапорцю на знахідку, тому
прийняття одного небезпечного прапорця не приховує інші ввімкнені прапорці, які мають той самий
`config.insecure_or_dangerous_flags` checkId.
Оскільки приглушення можуть приховувати постійний ризик, їх додавання або вилучення через
shell-команди agent-run вимагає підтвердження exec, якщо exec уже не працює
з `security="full"` і `ask="off"` для довіреної локальної автоматизації.

Поведінка SecretRef:

* `security audit` розв’язує підтримувані SecretRef у режимі лише читання для своїх цільових шляхів.
* Якщо SecretRef недоступний у поточному командному шляху, аудит продовжується і повідомляє `secretDiagnostics` (замість аварійного завершення).
* `--token` і `--password` перевизначають лише автентифікацію deep-проби для цього виклику команди; вони не перезаписують конфігурацію або зіставлення SecretRef.

## JSON-вивід

Використовуйте `--json` для CI/перевірок політики:

```bash theme={"theme":{"light":"min-light","dark":"min-dark"}}
openclaw security audit --json | jq '.summary'
openclaw security audit --deep --json | jq '.findings[] | select(.severity=="critical") | .checkId'
```

Якщо `--fix` і `--json` поєднано, вивід містить і дії виправлення, і фінальний звіт:

```bash theme={"theme":{"light":"min-light","dark":"min-dark"}}
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"`
* посилює дозволи для state/config і типових чутливих файлів
  (`credentials/*.json`, `auth-profiles.json`, `sessions.json`, session
  `*.jsonl`)
* також посилює дозволи для файлів include конфігурації, на які посилається `openclaw.json`
* використовує `chmod` на POSIX-хостах і скидання `icacls` у Windows

`--fix` **не**:

* ротувати токени/паролі/API-ключі
* вимикати інструменти (`gateway`, `cron`, `exec` тощо)
* змінювати вибір прив’язки/auth/мережевого доступу gateway
* видаляти або перезаписувати plugins/skills

## Пов’язано

* [Довідник CLI](/uk/cli)
* [Аудит безпеки](/uk/gateway/security)
