Gateway
Перевірки аудиту безпеки
openclaw security audit виводить структуровані результати перевірки, згруповані за checkId. Ця
сторінка є довідковим каталогом цих ідентифікаторів. Опис високорівневої моделі загроз
і рекомендації щодо посилення захисту див. у розділі Безпека.
Деякі перевірки виконуються лише з openclaw security audit --deep: сканування коду
плагінів/Skills (plugins.code_safety*, skills.code_safety*) і перевірки за допомогою
активного зондування Gateway (gateway.probe_*). Усі інші перевірки в цій таблиці виконуються
звичайною командою openclaw security audit.
Рівень серйозності на кшталт warn/critical означає, що той самий checkId може бути виведений
із будь-яким із цих рівнів залежно від конфігурації (наприклад, від того, чи доступний Gateway
віддалено). Найбільш показові значення, які ви, найімовірніше, побачите в реальних розгортаннях
(перелік не є вичерпним):
checkId |
Серйозність | Чому це важливо | Основний ключ/шлях виправлення | Автовиправлення |
|---|---|---|---|---|
fs.state_dir.perms_world_writable |
критична | Інші користувачі/процеси можуть змінювати весь стан OpenClaw | дозволи файлової системи для ~/.openclaw |
так |
fs.state_dir.perms_group_writable |
попередження | Користувачі групи можуть змінювати весь стан OpenClaw | дозволи файлової системи для ~/.openclaw |
так |
fs.state_dir.perms_readable |
попередження | Інші користувачі можуть читати каталог стану | дозволи файлової системи для ~/.openclaw |
так |
fs.state_dir.symlink |
попередження | Ціль каталогу стану стає ще однією межею довіри | структура файлової системи каталогу стану | ні |
fs.config.perms_writable |
критична | Інші можуть змінювати політику автентифікації/інструментів і конфігурацію | дозволи файлової системи для ~/.openclaw/openclaw.json |
так |
fs.config.symlink |
попередження | Запис у конфігураційні файли через символічні посилання не підтримується та створює ще одну межу довіри | замініть звичайним конфігураційним файлом або спрямуйте OPENCLAW_CONFIG_PATH на справжній файл |
ні |
fs.config.perms_group_readable |
попередження | Користувачі групи можуть читати токени/налаштування конфігурації | дозволи файлової системи для конфігураційного файлу | так |
fs.config.perms_world_readable |
критична | Конфігурація може розкрити токени/налаштування | дозволи файлової системи для конфігураційного файлу | так |
fs.config_include.perms_writable |
критична | Інші можуть змінювати підключений конфігураційний файл | дозволи підключеного файлу, на який посилається openclaw.json |
так |
fs.config_include.perms_group_readable |
попередження | Користувачі групи можуть читати підключені секрети/налаштування | дозволи підключеного файлу, на який посилається openclaw.json |
так |
fs.config_include.perms_world_readable |
критична | Підключені секрети/налаштування доступні для читання всім | дозволи підключеного файлу, на який посилається openclaw.json |
так |
fs.auth_profiles.perms_writable |
критична | Інші можуть впроваджувати або замінювати збережені облікові дані моделей | дозволи для agents/<agentId>/agent/auth-profiles.json |
так |
fs.auth_profiles.perms_readable |
попередження | Інші можуть читати ключі API й токени OAuth | дозволи для agents/<agentId>/agent/auth-profiles.json |
так |
fs.credentials_dir.perms_writable |
критична | Інші можуть змінювати стан сполучення каналів/облікових даних | дозволи файлової системи для ~/.openclaw/credentials |
так |
fs.credentials_dir.perms_readable |
попередження | Інші можуть читати стан облікових даних каналів | дозволи файлової системи для ~/.openclaw/credentials |
так |
fs.sessions_store.perms_readable |
попередження | Інші можуть читати стенограми/метадані сеансів | дозволи сховища сеансів | так |
fs.log_file.perms_readable |
попередження | Інші можуть читати відредаговані, але все ще конфіденційні журнали | дозволи файлу журналу Gateway | так |
fs.synced_dir |
попередження | Стан/конфігурація в iCloud/Dropbox/Drive розширює доступ до токенів/стенограм | перемістіть конфігурацію/стан із синхронізованих папок | ні |
gateway.bind_no_auth |
критична | Віддалене прив’язування без спільного секрету | gateway.bind, gateway.auth.* |
ні |
gateway.loopback_no_auth |
критична | local loopback через зворотний проксі може стати неавтентифікованим | gateway.auth.*, налаштування проксі |
ні |
gateway.trusted_proxies_missing |
попередження | Заголовки зворотного проксі наявні, але їм не довіряють | gateway.trustedProxies |
ні |
gateway.http.no_auth |
попередження/критична | HTTP API Gateway доступні з auth.mode="none" |
gateway.auth.mode, gateway.http.endpoints.*, plugins.entries.admin-http-rpc |
ні |
gateway.http.session_key_override_enabled |
інформація | Клієнти HTTP API можуть перевизначати sessionKey |
gateway.http.allowSessionKeyOverride |
ні |
gateway.tools_invoke_http.dangerous_allow |
попередження/критична | Повторно вмикає небезпечні інструменти через HTTP API для власників/адміністраторів | gateway.tools.allow |
ні |
gateway.nodes.allow_commands_dangerous |
попередження/критична | Вмикає команди Node із серйозним впливом (введення на робочому столі/камера/екран/контакти/календар/SMS) | gateway.nodes.allowCommands |
ні |
gateway.nodes.deny_commands_ineffective |
попередження | Схожі на шаблони записи заборони не відповідають тексту оболонки або групам | gateway.nodes.denyCommands |
ні |
gateway.tailscale_funnel |
критична | Відкритий доступ із загальнодоступного інтернету | gateway.tailscale.mode |
ні |
gateway.tailscale_serve |
інформація | Доступ із tailnet увімкнено через Serve | gateway.tailscale.mode |
ні |
gateway.control_ui.allowed_origins_required |
критична | Control UI не через local loopback без явного списку дозволених джерел браузера | gateway.controlUi.allowedOrigins |
ні |
gateway.control_ui.allowed_origins_wildcard |
попередження/критична | allowedOrigins=["*"] вимикає список дозволених джерел браузера |
gateway.controlUi.allowedOrigins |
ні |
gateway.control_ui.host_header_origin_fallback |
попередження/критична | Вмикає резервне визначення джерела за заголовком Host (послаблення захисту від переприв’язування DNS) | gateway.controlUi.dangerouslyAllowHostHeaderOriginFallback |
ні |
gateway.control_ui.insecure_auth |
попередження | Увімкнено перемикач сумісності з небезпечною автентифікацією | gateway.controlUi.allowInsecureAuth |
ні |
gateway.control_ui.device_auth_disabled |
критична | Вимикає перевірку ідентичності пристрою | gateway.controlUi.dangerouslyDisableDeviceAuth |
ні |
gateway.real_ip_fallback_enabled |
попередження/критична | Довіра до резервного X-Real-IP може дозволити підміну IP-адреси джерела через неправильне налаштування проксі |
gateway.allowRealIpFallback, gateway.trustedProxies |
ні |
gateway.token_too_short |
попередження | Короткий спільний токен легше підібрати повним перебором | gateway.auth.token |
ні |
gateway.auth_no_rate_limit |
попередження | Відкрита автентифікація без обмеження частоти підвищує ризик підбору | gateway.auth.rateLimit |
ні |
gateway.trusted_proxy_auth |
критична | Ідентичність проксі тепер стає межею автентифікації | gateway.auth.mode="trusted-proxy" |
ні |
gateway.trusted_proxy_no_proxies |
критична | Автентифікація через довірений проксі без IP-адрес довірених проксі є небезпечною | gateway.trustedProxies |
ні |
gateway.trusted_proxy_no_user_header |
критично | Автентифікація через довірений проксі не може безпечно визначити ідентичність користувача | gateway.auth.trustedProxy.userHeader |
ні |
gateway.trusted_proxy_no_allowlist |
попередження | Автентифікація через довірений проксі приймає будь-якого автентифікованого користувача вищого рівня | gateway.auth.trustedProxy.allowUsers |
ні |
gateway.trusted_proxy_allow_loopback |
попередження | Автентифікація через довірений проксі приймає явно дозволені джерела проксі зі зворотним зв’язком | gateway.auth.trustedProxy.allowLoopback |
ні |
gateway.probe_auth_secretref_unavailable |
попередження | Глибока перевірка не змогла визначити SecretRef автентифікації в цьому шляху виконання команди | джерело автентифікації глибокої перевірки / доступність SecretRef | ні |
gateway.probe_failed |
попередження | Оперативна перевірка Gateway завершилася невдало (лише --deep) |
доступність/автентифікація Gateway | ні |
discovery.mdns_full_mode |
попередження/критично | Повний режим mDNS оголошує метадані cliPath/sshPort у локальній мережі |
discovery.mdns.mode, gateway.bind |
ні |
config.insecure_or_dangerous_flags |
попередження | Увімкнено один небезпечний прапорець налагодження з низьким рівнем захисту | ключ, зазначений у подробицях виявленої проблеми | ні |
security.audit.suppressions.active |
інформація | Для результатів аудиту налаштовано виключення, тому вони можуть бути відфільтровані | security.audit.suppressions |
ні |
config.secrets.gateway_password_in_config |
попередження | Пароль Gateway зберігається безпосередньо в конфігурації | gateway.auth.password |
ні |
config.secrets.hooks_token_in_config |
попередження | Токен-носій обробника зберігається безпосередньо в конфігурації | hooks.token |
ні |
hooks.token_reuse_gateway_token |
критично | Токен вхідного доступу обробника також відкриває доступ до автентифікації Gateway | hooks.token, gateway.auth.token, gateway.auth.password |
ні |
hooks.token_too_short |
попередження | Полегшує атаку повним перебором на вхідний доступ обробника | hooks.token |
ні |
hooks.default_session_key_unset |
попередження | Запуски агента обробника розподіляються між згенерованими окремими сеансами для кожного запиту | hooks.defaultSessionKey |
ні |
hooks.allowed_agent_ids_unrestricted |
попередження/критично | Автентифіковані викликачі обробників можуть спрямовувати запити до будь-якого налаштованого агента | hooks.allowedAgentIds |
ні |
hooks.request_session_key_enabled |
попередження/критично | Зовнішній викликач може вибирати sessionKey |
hooks.allowRequestSessionKey |
ні |
hooks.request_session_key_prefixes_missing |
попередження/критично | Форми зовнішніх ключів сеансу нічим не обмежені | hooks.allowedSessionKeyPrefixes |
ні |
hooks.path_root |
критично | Шлях обробника має значення /, що полегшує конфлікти або хибне спрямування вхідних запитів |
hooks.path |
ні |
hooks.installs_unpinned_npm_specs |
попередження | Записи встановлення обробників не прив’язані до незмінних специфікацій npm | метадані встановлення обробника | ні |
hooks.installs_missing_integrity |
попередження | У записах встановлення обробників відсутні метадані цілісності | метадані встановлення обробника | ні |
hooks.installs_version_drift |
попередження | Записи встановлення обробників не відповідають установленим пакетам | метадані встановлення обробника | ні |
logging.redact_off |
попередження | Конфіденційні значення потрапляють до журналів/статусу | logging.redactSensitive |
так |
browser.control_invalid_config |
попередження | Конфігурація керування браузером є недійсною ще до виконання | browser.* |
ні |
browser.control_no_auth |
критично | Керування браузером доступне без автентифікації за токеном/паролем | gateway.auth.* |
ні |
browser.remote_cdp_http |
попередження | Віддалений CDP через звичайний HTTP не має шифрування транспорту | cdpUrl профілю браузера |
ні |
browser.remote_cdp_private_host |
попередження | Віддалений CDP спрямовано на приватний/внутрішній хост | cdpUrl профілю браузера, browser.ssrfPolicy.* |
ні |
sandbox.docker_config_mode_off |
попередження | Конфігурація Docker для пісочниці наявна, але неактивна | agents.*.sandbox.mode |
ні |
sandbox.bind_mount_non_absolute |
попередження | Відносні монтування прив’язки можуть визначатися непередбачувано | agents.*.sandbox.docker.binds[] |
ні |
sandbox.dangerous_bind_mount |
критично | Монтування прив’язки пісочниці спрямовано на заблоковані системні шляхи, шляхи облікових даних або сокета Docker | agents.*.sandbox.docker.binds[] |
ні |
sandbox.dangerous_network_mode |
критично | Мережа Docker пісочниці використовує режим приєднання до простору імен host або container:* |
agents.*.sandbox.docker.network |
ні |
sandbox.dangerous_seccomp_profile |
критично | Профіль seccomp пісочниці послаблює ізоляцію контейнера | agents.*.sandbox.docker.securityOpt |
ні |
sandbox.dangerous_apparmor_profile |
критично | Профіль AppArmor пісочниці послаблює ізоляцію контейнера | agents.*.sandbox.docker.securityOpt |
ні |
sandbox.browser_cdp_bridge_unrestricted |
попередження | Міст браузера пісочниці доступний без обмеження діапазону джерел | sandbox.browser.cdpSourceRange |
ні |
sandbox.browser_container.non_loopback_publish |
критично | Наявний контейнер браузера публікує CDP в інтерфейсах, відмінних від зворотного зв’язку | конфігурація публікації контейнера пісочниці браузера | ні |
sandbox.browser_container.hash_label_missing |
попередження | Наявний контейнер браузера створено до запровадження поточних міток хешу конфігурації | openclaw sandbox recreate --browser --all |
ні |
sandbox.browser_container.hash_epoch_stale |
попередження | Наявний контейнер браузера створено до поточної епохи конфігурації браузера | openclaw sandbox recreate --browser --all |
ні |
sandbox.browser_container.docker_probe_timeout |
попередження | Перевищено час очікування перевірки мітки Docker для контейнера браузера | доступність демона Docker | ні |
tools.exec.host_sandbox_no_sandbox_defaults |
попередження | exec host=sandbox безпечно завершується відмовою, коли пісочницю вимкнено |
tools.exec.host, agents.defaults.sandbox.mode |
ні |
tools.exec.host_sandbox_no_sandbox_agents |
попередження | exec host=sandbox для окремого агента безпечно завершується відмовою, коли пісочницю вимкнено |
agents.list[].tools.exec.host, agents.list[].sandbox.mode |
ні |
tools.exec.security_full_configured |
попередження/критично | Виконання команд на хості працює з security="full" |
tools.exec.security, agents.list[].tools.exec.security |
ні |
tools.exec.agent_skill_mcp_boundary_drift |
попередження | Списки дозволів Skills агента наявні, тоді як виконання команд на хості може отримувати доступ до клієнтів/реєстрів MCP | agents.list[].tools.exec.*, ізоляція пісочниці/ОС, облікові дані сервера MCP |
ні |
tools.exec.fs_tools_disabled_but_exec_enabled |
попередження | Політика інструментів файлової системи не обмежує виконання команд оболонки режимом лише для читання | tools.deny, agents.list[].tools.deny, agents.*.sandbox.workspaceAccess |
ні |
tools.exec.auto_allow_skills_enabled |
попередження | Схвалення виконання неявно довіряють виконуваним файлам Skills | файл схвалень хоста | ні |
tools.exec.allowlist_interpreter_without_strict_inline_eval |
попередження | Списки дозволів інтерпретаторів допускають вбудоване обчислення без обов’язкового повторного схвалення | tools.exec.strictInlineEval, agents.list[].tools.exec.strictInlineEval, список дозволів схвалення виконання |
ні |
tools.exec.safe_bins_interpreter_unprofiled |
попередження | Виконувані файли інтерпретаторів/середовищ виконання в safeBins без явних профілів підвищують ризик виконання |
tools.exec.safeBins, tools.exec.safeBinProfiles, agents.list[].tools.exec.* |
ні |
tools.exec.safe_bins_broad_behavior |
попередження | Інструменти широкого призначення в safeBins послаблюють модель довіри з низьким ризиком, засновану на фільтрації stdin |
tools.exec.safeBins, agents.list[].tools.exec.safeBins |
ні |
tools.exec.safe_bin_trusted_dirs_risky |
попередження | safeBinTrustedDirs містить змінювані або ризиковані каталоги |
tools.exec.safeBinTrustedDirs, agents.list[].tools.exec.safeBinTrustedDirs |
ні |
tools.elevated.allowFrom.<provider>.wildcard |
критично | tools.elevated.allowFrom.<provider> містить "*", схвалюючи кожного відправника |
tools.elevated.allowFrom.<provider> |
ні |
tools.elevated.allowFrom.<provider>.large |
попередження | Список дозволів підвищених привілеїв для <provider> містить понад 25 записів |
tools.elevated.allowFrom.<provider> |
ні |
agents.claude_cli.permission_mode_overridden_by_yolo |
попередження | --permission-mode Claude CLI ігнорується, оскільки виконання OpenClaw є повністю автономним |
аргументи tools.exec.security, tools.exec.ask, cliBackends.claude-cli |
ні |
skills.workspace.symlink_escape |
попередження | Шлях skills/**/SKILL.md робочого простору розгортається за межі кореня робочого простору (зміщення ланцюжка символічних посилань) |
стан файлової системи skills/** робочого простору |
ні |
skills.workspace.scan_truncated |
попередження | Сканування Skills у робочому просторі досягло обмеження на кількість відвіданих каталогів до завершення | вирівняйте/спростіть дерево каталогів skills/ робочого простору |
ні |
plugins.extensions_no_allowlist |
попередження | Плагіни встановлено без явного списку дозволених плагінів | plugins.allowlist |
ні |
plugins.allow_phantom_entries |
попередження | plugins.allow містить ідентифікатор, якому не відповідає жоден установлений плагін |
plugins.allow |
ні |
plugins.installs_unpinned_npm_specs |
попередження | Записи індексу плагінів не прив’язані до незмінних специфікацій npm | метадані встановлення плагіна | ні |
plugins.installs_missing_integrity |
попередження | У записах індексу плагінів відсутні метадані цілісності | метадані встановлення плагіна | ні |
plugins.installs_version_drift |
попередження | Записи індексу плагінів не відповідають установленим пакетам | метадані встановлення плагіна | ні |
plugins.code_safety |
попередження/критично | Сканування коду плагіна виявило підозрілі або небезпечні шаблони (лише з --deep) |
код плагіна / джерело встановлення | ні |
plugins.code_safety.entry_path |
попередження | Шлях точки входу плагіна вказує на приховані розташування або розташування в node_modules |
entry маніфесту плагіна |
ні |
plugins.code_safety.entry_escape |
критично | Точка входу плагіна виходить за межі каталогу плагіна | entry маніфесту плагіна |
ні |
plugins.code_safety.manifest_parse_error |
попередження | Не вдалося проаналізувати маніфест плагіна під час сканування безпеки коду | файл маніфесту плагіна | ні |
plugins.code_safety.scan_failed |
попередження | Не вдалося завершити сканування коду плагіна (лише з --deep) |
шлях плагіна / середовище сканування | ні |
plugins.<pluginId>.security_audit_failed |
попередження | Збирач даних аудиту безпеки, що належить плагіну, спричинив помилку | збирач даних аудиту безпеки цього плагіна | ні |
skills.code_safety |
попередження/критично | Метадані/код інсталятора Skills містять підозрілі або небезпечні шаблони (лише з --deep) |
джерело встановлення Skills | ні |
skills.code_safety.scan_failed |
попередження | Не вдалося завершити сканування коду Skills (лише з --deep) |
середовище сканування Skills | ні |
security.exposure.open_channels_with_exec |
попередження/критично | Спільні/публічні кімнати мають доступ до агентів із дозволеним виконанням | channels.*.dmPolicy, channels.*.groupPolicy, tools.exec.*, agents.list[].tools.exec.* |
ні |
security.exposure.open_groups_with_elevated |
критично | Відкриті приватні повідомлення/групи та інструменти з підвищеними привілеями створюють шляхи ін’єкції підказок із серйозними наслідками | шляхи політики приватних повідомлень верхнього рівня або вкладені, перевизначення облікових записів, channels.*.groupPolicy |
ні |
security.exposure.open_groups_with_runtime_or_fs |
критично/попередження | Відкриті приватні повідомлення/групи мають доступ до інструментів команд/файлів без захисту пісочниці/робочого простору | шляхи політики приватних повідомлень/груп, tools.profile/deny, tools.fs.workspaceOnly, agents.*.sandbox.mode |
ні |
security.exposure.open_groups_with_control_plane_tools |
критично | Відкриті приватні повідомлення/групи мають доступ до інструментів площини керування Gateway/Cron | шляхи політики приватних повідомлень/груп, tools.allow, tools.alsoAllow, tools.profile, gateway, cron |
ні |
security.trust_model.multi_user_heuristic |
попередження | Конфігурація виглядає багатокористувацькою, тоді як модель довіри Gateway призначена для особистого помічника | розділіть межі довіри або посильте захист для спільного використання (sandbox.mode, заборона інструментів/обмеження робочого простору) |
ні |
tools.profile_minimal_overridden |
попередження | Перевизначення агента обходять глобальний мінімальний профіль | agents.list[].tools.profile |
ні |
plugins.tools_reachable_permissive_policy |
попередження | Інструменти розширень доступні в контекстах із дозвільною політикою | tools.profile + дозвіл/заборона інструментів |
ні |
models.legacy |
попередження | Застарілі сімейства моделей усе ще налаштовано | вибір моделі | ні |
models.weak_tier |
попередження | Налаштовані моделі нижчі за поточні рекомендовані рівні | вибір моделі | ні |
models.small_params |
критично/інформація | Малі моделі та небезпечні поверхні інструментів підвищують ризик ін’єкції | вибір моделі + політика пісочниці/інструментів | ні |
channels.<provider>.dm.open |
критично | Політика приватних повідомлень <provider> має значення "open"; будь-хто може надіслати боту приватне повідомлення |
channels.<provider>.dmPolicy, .allowFrom |
ні |
channels.<provider>.dm.open_invalid |
попередження | dmPolicy="open" без "*" у allowFrom є неузгодженим |
channels.<provider>.allowFrom |
ні |
channels.<provider>.dm.scope_main_multiuser |
попередження | Кілька відправників приватних повідомлень наразі спільно використовують основний сеанс | session.dmScope |
ні |
channels.<provider>.allowFrom.dangerous_name_matching_enabled |
інформація | dangerouslyAllowNameMatching повторно вмикає зіставлення відправників за змінюваним ім’ям/електронною поштою/тегом |
вимкніть dangerouslyAllowNameMatching, використовуйте стабільні ідентифікатори відправників |
ні |
channels.<provider>.account.read_only_resolution |
попередження | Не вдалося повністю визначити обліковий запис каналу для аудиту (відсутній секрет/Gateway) | переконайтеся, що вказані секрети можна отримати, або запустіть перевірку на актуальному знімку Gateway | ні |
channels.<provider>.warning.<n> |
інформація/попередження/критично | Попередження безпеки, специфічне для провайдера, класифіковане за довільним текстом плагіна | див. подробиці результату перевірки | ні |
summary.attack_surface |
інформація | Зведений огляд стану автентифікації, каналів, інструментів і доступності | кілька ключів (див. докладні відомості про виявлену проблему) | ні |
channels.<provider>.* і tools.elevated.allowFrom.<provider>.* checkIds
генеруються для кожного налаштованого каналу/провайдера, тому у фактичному виводі
<provider> — це справжній ідентифікатор каналу (наприклад, telegram, discord), а не буквальний рядок.