---
read_when:
    - Anda melihat `checkId` tertentu dalam output `openclaw security audit` dan ingin mengetahui artinya
    - Anda memerlukan kunci/path perbaikan untuk temuan tertentu
    - Anda sedang memilah tingkat keparahan dalam sebuah eksekusi audit keamanan
summary: Katalog referensi `checkId` yang dikeluarkan oleh openclaw security audit
title: Pemeriksaan audit keamanan
x-i18n:
    generated_at: "2026-04-23T09:21:23Z"
    model: gpt-5.4
    provider: openai
    source_hash: b53a8dc798ecc8c37be43758b741c68772b10c92323ab3d26592d7b3cc2c795e
    source_path: gateway/security/audit-checks.md
    workflow: 15
---

# Pemeriksaan audit keamanan

`openclaw security audit` mengeluarkan temuan terstruktur yang dikunci oleh `checkId`. Halaman ini adalah katalog referensi untuk ID tersebut. Untuk model ancaman tingkat tinggi
dan panduan hardening, lihat [Security](/id/gateway/security).

Nilai `checkId` dengan sinyal tinggi yang kemungkinan besar akan Anda lihat pada deployment nyata (tidak
menyeluruh):

| `checkId`                                                     | Severity      | Mengapa ini penting                                                                  | Kunci/path perbaikan utama                                                                            | Auto-fix |
| ------------------------------------------------------------- | ------------- | ------------------------------------------------------------------------------------ | ----------------------------------------------------------------------------------------------------- | -------- |
| `fs.state_dir.perms_world_writable`                           | critical      | Pengguna/proses lain dapat memodifikasi seluruh state OpenClaw                       | izin filesystem pada `~/.openclaw`                                                                    | ya       |
| `fs.state_dir.perms_group_writable`                           | warn          | Pengguna grup dapat memodifikasi seluruh state OpenClaw                              | izin filesystem pada `~/.openclaw`                                                                    | ya       |
| `fs.state_dir.perms_readable`                                 | warn          | Direktori state dapat dibaca oleh pihak lain                                         | izin filesystem pada `~/.openclaw`                                                                    | ya       |
| `fs.state_dir.symlink`                                        | warn          | Target direktori state menjadi batas kepercayaan lain                                | layout filesystem direktori state                                                                     | tidak    |
| `fs.config.perms_writable`                                    | critical      | Pihak lain dapat mengubah auth/kebijakan tool/config                                 | izin filesystem pada `~/.openclaw/openclaw.json`                                                      | ya       |
| `fs.config.symlink`                                           | warn          | File config bersymlink tidak didukung untuk penulisan dan menambahkan batas kepercayaan lain | ganti dengan file config biasa atau arahkan `OPENCLAW_CONFIG_PATH` ke file sebenarnya         | tidak    |
| `fs.config.perms_group_readable`                              | warn          | Pengguna grup dapat membaca token/pengaturan config                                  | izin filesystem pada file config                                                                      | ya       |
| `fs.config.perms_world_readable`                              | critical      | Config dapat mengekspos token/pengaturan                                             | izin filesystem pada file config                                                                      | ya       |
| `fs.config_include.perms_writable`                            | critical      | File include config dapat dimodifikasi oleh pihak lain                               | izin file include yang dirujuk dari `openclaw.json`                                                   | ya       |
| `fs.config_include.perms_group_readable`                      | warn          | Pengguna grup dapat membaca secret/pengaturan yang di-include                        | izin file include yang dirujuk dari `openclaw.json`                                                   | ya       |
| `fs.config_include.perms_world_readable`                      | critical      | Secret/pengaturan yang di-include dapat dibaca semua orang                           | izin file include yang dirujuk dari `openclaw.json`                                                   | ya       |
| `fs.auth_profiles.perms_writable`                             | critical      | Pihak lain dapat menyuntikkan atau mengganti kredensial model yang disimpan          | izin `agents/<agentId>/agent/auth-profiles.json`                                                      | ya       |
| `fs.auth_profiles.perms_readable`                             | warn          | Pihak lain dapat membaca API key dan token OAuth                                     | izin `agents/<agentId>/agent/auth-profiles.json`                                                      | ya       |
| `fs.credentials_dir.perms_writable`                           | critical      | Pihak lain dapat memodifikasi state pairing/kredensial channel                       | izin filesystem pada `~/.openclaw/credentials`                                                        | ya       |
| `fs.credentials_dir.perms_readable`                           | warn          | Pihak lain dapat membaca state kredensial channel                                    | izin filesystem pada `~/.openclaw/credentials`                                                        | ya       |
| `fs.sessions_store.perms_readable`                            | warn          | Pihak lain dapat membaca transkrip/metadata sesi                                     | izin penyimpanan sesi                                                                                 | ya       |
| `fs.log_file.perms_readable`                                  | warn          | Pihak lain dapat membaca log yang sudah disamarkan tetapi tetap sensitif             | izin file log Gateway                                                                                 | ya       |
| `fs.synced_dir`                                               | warn          | State/config di iCloud/Dropbox/Drive memperluas paparan token/transkrip              | pindahkan config/state keluar dari folder tersinkronisasi                                             | tidak    |
| `gateway.bind_no_auth`                                        | critical      | Bind remote tanpa secret bersama                                                     | `gateway.bind`, `gateway.auth.*`                                                                      | tidak    |
| `gateway.loopback_no_auth`                                    | critical      | local loopback yang di-reverse-proxy dapat menjadi tanpa autentikasi                 | `gateway.auth.*`, setup proxy                                                                         | tidak    |
| `gateway.trusted_proxies_missing`                             | warn          | Header reverse-proxy ada tetapi tidak dipercaya                                      | `gateway.trustedProxies`                                                                              | tidak    |
| `gateway.http.no_auth`                                        | warn/critical | API HTTP Gateway dapat dijangkau dengan `auth.mode="none"`                           | `gateway.auth.mode`, `gateway.http.endpoints.*`                                                       | tidak    |
| `gateway.http.session_key_override_enabled`                   | info          | Pemanggil API HTTP dapat menimpa `sessionKey`                                        | `gateway.http.allowSessionKeyOverride`                                                                | tidak    |
| `gateway.tools_invoke_http.dangerous_allow`                   | warn/critical | Mengaktifkan kembali tool berbahaya melalui API HTTP                                 | `gateway.tools.allow`                                                                                 | tidak    |
| `gateway.nodes.allow_commands_dangerous`                      | warn/critical | Mengaktifkan perintah Node berdampak tinggi (kamera/layar/kontak/kalender/SMS)       | `gateway.nodes.allowCommands`                                                                         | tidak    |
| `gateway.nodes.deny_commands_ineffective`                     | warn          | Entri deny mirip pattern tidak cocok dengan teks shell atau grup                     | `gateway.nodes.denyCommands`                                                                          | tidak    |
| `gateway.tailscale_funnel`                                    | critical      | Paparan ke internet publik                                                           | `gateway.tailscale.mode`                                                                              | tidak    |
| `gateway.tailscale_serve`                                     | info          | Paparan Tailnet diaktifkan melalui Serve                                             | `gateway.tailscale.mode`                                                                              | tidak    |
| `gateway.control_ui.allowed_origins_required`                 | critical      | Control UI non-loopback tanpa allowlist origin browser yang eksplisit                | `gateway.controlUi.allowedOrigins`                                                                    | tidak    |
| `gateway.control_ui.allowed_origins_wildcard`                 | warn/critical | `allowedOrigins=["*"]` menonaktifkan allowlist origin browser                        | `gateway.controlUi.allowedOrigins`                                                                    | tidak    |
| `gateway.control_ui.host_header_origin_fallback`              | warn/critical | Mengaktifkan fallback origin Host-header (penurunan hardening DNS rebinding)         | `gateway.controlUi.dangerouslyAllowHostHeaderOriginFallback`                                          | tidak    |
| `gateway.control_ui.insecure_auth`                            | warn          | Toggle kompatibilitas auth tidak aman diaktifkan                                     | `gateway.controlUi.allowInsecureAuth`                                                                 | tidak    |
| `gateway.control_ui.device_auth_disabled`                     | critical      | Menonaktifkan pemeriksaan identitas perangkat                                        | `gateway.controlUi.dangerouslyDisableDeviceAuth`                                                      | tidak    |
| `gateway.real_ip_fallback_enabled`                            | warn/critical | Mempercayai fallback `X-Real-IP` dapat memungkinkan spoofing IP sumber melalui salah konfigurasi proxy | `gateway.allowRealIpFallback`, `gateway.trustedProxies`                                 | tidak    |
| `gateway.token_too_short`                                     | warn          | Token bersama yang pendek lebih mudah di-brute force                                 | `gateway.auth.token`                                                                                  | tidak    |
| `gateway.auth_no_rate_limit`                                  | warn          | Auth yang terekspos tanpa rate limiting meningkatkan risiko brute force               | `gateway.auth.rateLimit`                                                                              | tidak    |
| `gateway.trusted_proxy_auth`                                  | critical      | Identitas proxy kini menjadi batas autentikasi                                       | `gateway.auth.mode="trusted-proxy"`                                                                   | tidak    |
| `gateway.trusted_proxy_no_proxies`                            | critical      | Auth trusted-proxy tanpa IP proxy tepercaya tidak aman                               | `gateway.trustedProxies`                                                                              | tidak    |
| `gateway.trusted_proxy_no_user_header`                        | critical      | Auth trusted-proxy tidak dapat me-resolve identitas pengguna dengan aman             | `gateway.auth.trustedProxy.userHeader`                                                                | tidak    |
| `gateway.trusted_proxy_no_allowlist`                          | warn          | Auth trusted-proxy menerima pengguna upstream terautentikasi mana pun                | `gateway.auth.trustedProxy.allowUsers`                                                                | tidak    |
| `checkId`                                                     | Severity      | Mengapa ini penting                                                                  | Kunci/path perbaikan utama                                                                            | Auto-fix |
| ------------------------------------------------------------- | ------------- | ------------------------------------------------------------------------------------ | ----------------------------------------------------------------------------------------------------- | -------- |
| `gateway.probe_auth_secretref_unavailable`                    | warn          | Deep probe tidak dapat me-resolve auth SecretRef pada jalur perintah ini             | sumber auth deep-probe / ketersediaan SecretRef                                                       | tidak    |
| `gateway.probe_failed`                                        | warn/critical | Probe Gateway live gagal                                                             | keterjangkauan/auth Gateway                                                                           | tidak    |
| `discovery.mdns_full_mode`                                    | warn/critical | Mode penuh mDNS mengiklankan metadata `cliPath`/`sshPort` di jaringan lokal         | `discovery.mdns.mode`, `gateway.bind`                                                                 | tidak    |
| `config.insecure_or_dangerous_flags`                          | warn          | Ada flag debug tidak aman/berbahaya yang diaktifkan                                  | beberapa kunci (lihat detail temuan)                                                                  | tidak    |
| `config.secrets.gateway_password_in_config`                   | warn          | Kata sandi Gateway disimpan langsung di config                                       | `gateway.auth.password`                                                                               | tidak    |
| `config.secrets.hooks_token_in_config`                        | warn          | Token bearer hook disimpan langsung di config                                        | `hooks.token`                                                                                         | tidak    |
| `hooks.token_reuse_gateway_token`                             | critical      | Token ingress hook juga membuka auth Gateway                                         | `hooks.token`, `gateway.auth.token`                                                                   | tidak    |
| `hooks.token_too_short`                                       | warn          | Brute force pada ingress hook menjadi lebih mudah                                    | `hooks.token`                                                                                         | tidak    |
| `hooks.default_session_key_unset`                             | warn          | Eksekusi agent hook menyebar ke sesi per-request yang dihasilkan                     | `hooks.defaultSessionKey`                                                                             | tidak    |
| `hooks.allowed_agent_ids_unrestricted`                        | warn/critical | Pemanggil hook terautentikasi dapat merutekan ke agent terkonfigurasi mana pun       | `hooks.allowedAgentIds`                                                                               | tidak    |
| `hooks.request_session_key_enabled`                           | warn/critical | Pemanggil eksternal dapat memilih `sessionKey`                                       | `hooks.allowRequestSessionKey`                                                                        | tidak    |
| `hooks.request_session_key_prefixes_missing`                  | warn/critical | Tidak ada batas pada bentuk session key eksternal                                    | `hooks.allowedSessionKeyPrefixes`                                                                     | tidak    |
| `hooks.path_root`                                             | critical      | Path hook adalah `/`, sehingga ingress lebih mudah bertabrakan atau salah rute       | `hooks.path`                                                                                          | tidak    |
| `hooks.installs_unpinned_npm_specs`                           | warn          | Catatan instal hook tidak dipin ke spesifikasi npm yang immutable                    | metadata instal hook                                                                                  | tidak    |
| `hooks.installs_missing_integrity`                            | warn          | Catatan instal hook tidak memiliki metadata integritas                               | metadata instal hook                                                                                  | tidak    |
| `hooks.installs_version_drift`                                | warn          | Catatan instal hook bergeser dari paket yang terinstal                               | metadata instal hook                                                                                  | tidak    |
| `logging.redact_off`                                          | warn          | Nilai sensitif bocor ke log/status                                                   | `logging.redactSensitive`                                                                             | ya       |
| `browser.control_invalid_config`                              | warn          | Config kontrol browser tidak valid sebelum runtime                                   | `browser.*`                                                                                           | tidak    |
| `browser.control_no_auth`                                     | critical      | Kontrol browser terekspos tanpa auth token/kata sandi                                | `gateway.auth.*`                                                                                      | tidak    |
| `browser.remote_cdp_http`                                     | warn          | CDP remote melalui HTTP plaintext tidak memiliki enkripsi transport                  | profil browser `cdpUrl`                                                                               | tidak    |
| `browser.remote_cdp_private_host`                             | warn          | CDP remote menargetkan host privat/internal                                          | profil browser `cdpUrl`, `browser.ssrfPolicy.*`                                                       | tidak    |
| `sandbox.docker_config_mode_off`                              | warn          | Config Docker sandbox ada tetapi tidak aktif                                         | `agents.*.sandbox.mode`                                                                               | tidak    |
| `sandbox.bind_mount_non_absolute`                             | warn          | Bind mount relatif dapat di-resolve secara tidak terduga                             | `agents.*.sandbox.docker.binds[]`                                                                     | tidak    |
| `sandbox.dangerous_bind_mount`                                | critical      | Target bind mount sandbox menuju path sistem, kredensial, atau Docker socket yang diblokir | `agents.*.sandbox.docker.binds[]`                                                               | tidak    |
| `sandbox.dangerous_network_mode`                              | critical      | Jaringan Docker sandbox menggunakan mode join-namespace `host` atau `container:*`    | `agents.*.sandbox.docker.network`                                                                     | tidak    |
| `sandbox.dangerous_seccomp_profile`                           | critical      | Profil seccomp sandbox melemahkan isolasi container                                  | `agents.*.sandbox.docker.securityOpt`                                                                 | tidak    |
| `sandbox.dangerous_apparmor_profile`                          | critical      | Profil AppArmor sandbox melemahkan isolasi container                                 | `agents.*.sandbox.docker.securityOpt`                                                                 | tidak    |
| `sandbox.browser_cdp_bridge_unrestricted`                     | warn          | Bridge browser sandbox terekspos tanpa pembatasan rentang sumber                     | `sandbox.browser.cdpSourceRange`                                                                      | tidak    |
| `sandbox.browser_container.non_loopback_publish`              | critical      | Container browser yang ada memublikasikan CDP pada interface non-loopback            | config publish container sandbox browser                                                              | tidak    |
| `sandbox.browser_container.hash_label_missing`                | warn          | Container browser yang ada dibuat sebelum label hash-config saat ini                 | `openclaw sandbox recreate --browser --all`                                                           | tidak    |
| `sandbox.browser_container.hash_epoch_stale`                  | warn          | Container browser yang ada dibuat sebelum epoch config browser saat ini              | `openclaw sandbox recreate --browser --all`                                                           | tidak    |
| `tools.exec.host_sandbox_no_sandbox_defaults`                 | warn          | `exec host=sandbox` gagal tertutup saat sandbox nonaktif                             | `tools.exec.host`, `agents.defaults.sandbox.mode`                                                     | tidak    |
| `tools.exec.host_sandbox_no_sandbox_agents`                   | warn          | `exec host=sandbox` per-agent gagal tertutup saat sandbox nonaktif                   | `agents.list[].tools.exec.host`, `agents.list[].sandbox.mode`                                         | tidak    |
| `tools.exec.security_full_configured`                         | warn/critical | Host exec berjalan dengan `security="full"`                                          | `tools.exec.security`, `agents.list[].tools.exec.security`                                            | tidak    |
| `tools.exec.auto_allow_skills_enabled`                        | warn          | Persetujuan exec secara implisit mempercayai bin Skills                              | `~/.openclaw/exec-approvals.json`                                                                     | tidak    |
| `tools.exec.allowlist_interpreter_without_strict_inline_eval` | warn          | Allowlist interpreter mengizinkan inline eval tanpa reapproval paksa                 | `tools.exec.strictInlineEval`, `agents.list[].tools.exec.strictInlineEval`, exec approvals allowlist  | tidak    |
| `tools.exec.safe_bins_interpreter_unprofiled`                 | warn          | Bin interpreter/runtime dalam `safeBins` tanpa profil eksplisit memperluas risiko exec | `tools.exec.safeBins`, `tools.exec.safeBinProfiles`, `agents.list[].tools.exec.*`                  | tidak    |
| `tools.exec.safe_bins_broad_behavior`                         | warn          | Tool berperilaku luas dalam `safeBins` melemahkan model trust stdin-filter berisiko rendah | `tools.exec.safeBins`, `agents.list[].tools.exec.safeBins`                                      | tidak    |
| `tools.exec.safe_bin_trusted_dirs_risky`                      | warn          | `safeBinTrustedDirs` mencakup direktori yang dapat berubah atau berisiko             | `tools.exec.safeBinTrustedDirs`, `agents.list[].tools.exec.safeBinTrustedDirs`                        | tidak    |
| `skills.workspace.symlink_escape`                             | warn          | Workspace `skills/**/SKILL.md` di-resolve ke luar root workspace (drift rantai symlink) | status filesystem workspace `skills/**`                                                           | tidak    |
| `plugins.extensions_no_allowlist`                             | warn          | Plugin diinstal tanpa allowlist plugin eksplisit                                     | `plugins.allowlist`                                                                                   | tidak    |
| `plugins.installs_unpinned_npm_specs`                         | warn          | Catatan instal plugin tidak dipin ke spesifikasi npm yang immutable                  | metadata instal plugin                                                                                | tidak    |
| `checkId`                                                     | Severity      | Mengapa ini penting                                                                  | Kunci/path perbaikan utama                                                                            | Auto-fix |
| ------------------------------------------------------------- | ------------- | ------------------------------------------------------------------------------------ | ----------------------------------------------------------------------------------------------------- | -------- |
| `plugins.installs_missing_integrity`                          | warn          | Catatan instal plugin tidak memiliki metadata integritas                             | metadata instal plugin                                                                                | tidak    |
| `plugins.installs_version_drift`                              | warn          | Catatan instal plugin bergeser dari paket yang terinstal                             | metadata instal plugin                                                                                | tidak    |
| `plugins.code_safety`                                         | warn/critical | Pemindaian kode plugin menemukan pola yang mencurigakan atau berbahaya               | kode plugin / sumber instalasi                                                                        | tidak    |
| `plugins.code_safety.entry_path`                              | warn          | Path entri plugin menunjuk ke lokasi tersembunyi atau `node_modules`                 | manifest plugin `entry`                                                                               | tidak    |
| `plugins.code_safety.entry_escape`                            | critical      | Entri plugin keluar dari direktori plugin                                            | manifest plugin `entry`                                                                               | tidak    |
| `plugins.code_safety.scan_failed`                             | warn          | Pemindaian kode plugin tidak dapat diselesaikan                                      | path plugin / lingkungan pemindaian                                                                   | tidak    |
| `skills.code_safety`                                          | warn/critical | Metadata/kode penginstal Skills berisi pola yang mencurigakan atau berbahaya         | sumber instalasi skill                                                                                | tidak    |
| `skills.code_safety.scan_failed`                              | warn          | Pemindaian kode skill tidak dapat diselesaikan                                       | lingkungan pemindaian skill                                                                           | tidak    |
| `security.exposure.open_channels_with_exec`                   | warn/critical | Room bersama/publik dapat menjangkau agent dengan exec aktif                         | `channels.*.dmPolicy`, `channels.*.groupPolicy`, `tools.exec.*`, `agents.list[].tools.exec.*`        | tidak    |
| `security.exposure.open_groups_with_elevated`                 | critical      | Grup terbuka + tool elevated menciptakan jalur prompt injection berdampak tinggi     | `channels.*.groupPolicy`, `tools.elevated.*`                                                          | tidak    |
| `security.exposure.open_groups_with_runtime_or_fs`            | critical/warn | Grup terbuka dapat menjangkau tool perintah/file tanpa guard sandbox/workspace       | `channels.*.groupPolicy`, `tools.profile/deny`, `tools.fs.workspaceOnly`, `agents.*.sandbox.mode`    | tidak    |
| `security.trust_model.multi_user_heuristic`                   | warn          | Config tampak multi-user sementara model trust gateway adalah asisten personal       | pisahkan batas kepercayaan, atau hardening shared-user (`sandbox.mode`, deny tool/scoping workspace`) | tidak    |
| `tools.profile_minimal_overridden`                            | warn          | Override agent melewati profil minimal global                                        | `agents.list[].tools.profile`                                                                         | tidak    |
| `plugins.tools_reachable_permissive_policy`                   | warn          | Tool extension dapat dijangkau dalam konteks yang permisif                           | `tools.profile` + allow/deny tool                                                                     | tidak    |
| `models.legacy`                                               | warn          | Keluarga model lama masih dikonfigurasi                                              | pemilihan model                                                                                       | tidak    |
| `models.weak_tier`                                            | warn          | Model yang dikonfigurasi berada di bawah tier yang saat ini direkomendasikan         | pemilihan model                                                                                       | tidak    |
| `models.small_params`                                         | critical/info | Model kecil + surface tool yang tidak aman meningkatkan risiko injection             | pilihan model + kebijakan sandbox/tool                                                                | tidak    |
| `summary.attack_surface`                                      | info          | Ringkasan roll-up tentang postur auth, channel, tool, dan paparan                    | beberapa kunci (lihat detail temuan)                                                                  | tidak    |

## Terkait

- [Security](/id/gateway/security)
- [Configuration](/id/gateway/configuration)
- [Trusted proxy auth](/id/gateway/trusted-proxy-auth)
