Gateway
Pemeriksaan audit keamanan
openclaw security audit menghasilkan temuan terstruktur yang diindeks oleh checkId. Halaman ini adalah katalog referensi untuk ID tersebut. Untuk model ancaman tingkat tinggi dan panduan pengerasan, lihat Keamanan.
Nilai checkId bersinyal tinggi yang kemungkinan besar akan Anda lihat dalam penerapan nyata (tidak menyeluruh):
checkId |
Tingkat keparahan | Mengapa ini penting | Kunci/jalur perbaikan utama | Perbaikan otomatis |
|---|---|---|---|---|
fs.state_dir.perms_world_writable |
critical | Pengguna/proses lain dapat mengubah seluruh status OpenClaw | izin filesystem pada ~/.openclaw |
ya |
fs.state_dir.perms_group_writable |
warn | Pengguna grup dapat mengubah seluruh status OpenClaw | izin filesystem pada ~/.openclaw |
ya |
fs.state_dir.perms_readable |
warn | Direktori status dapat dibaca oleh pihak lain | izin filesystem pada ~/.openclaw |
ya |
fs.state_dir.symlink |
warn | Target direktori status menjadi batas kepercayaan lain | tata letak filesystem direktori status | tidak |
fs.config.perms_writable |
critical | Pihak lain dapat mengubah kebijakan/konfigurasi auth/tool | izin filesystem pada ~/.openclaw/openclaw.json |
ya |
fs.config.symlink |
warn | File konfigurasi yang berupa symlink tidak didukung untuk penulisan dan menambahkan batas kepercayaan lain | ganti dengan file konfigurasi reguler atau arahkan OPENCLAW_CONFIG_PATH ke file asli |
tidak |
fs.config.perms_group_readable |
warn | Pengguna grup dapat membaca token/pengaturan konfigurasi | izin filesystem pada file konfigurasi | ya |
fs.config.perms_world_readable |
critical | Konfigurasi dapat mengekspos token/pengaturan | izin filesystem pada file konfigurasi | ya |
fs.config_include.perms_writable |
critical | File include konfigurasi dapat diubah oleh pihak lain | izin file include yang dirujuk dari openclaw.json |
ya |
fs.config_include.perms_group_readable |
warn | Pengguna grup dapat membaca rahasia/pengaturan yang disertakan | izin file include yang dirujuk dari openclaw.json |
ya |
fs.config_include.perms_world_readable |
critical | Rahasia/pengaturan yang disertakan dapat dibaca oleh semua pengguna | izin file include yang dirujuk dari openclaw.json |
ya |
fs.auth_profiles.perms_writable |
critical | Pihak lain dapat menyuntikkan atau mengganti kredensial model yang tersimpan | izin agents/<agentId>/agent/auth-profiles.json |
ya |
fs.auth_profiles.perms_readable |
warn | Pihak lain dapat membaca kunci API dan token OAuth | izin agents/<agentId>/agent/auth-profiles.json |
ya |
fs.credentials_dir.perms_writable |
critical | Pihak lain dapat mengubah status pairing/kredensial channel | izin filesystem pada ~/.openclaw/credentials |
ya |
fs.credentials_dir.perms_readable |
warn | Pihak lain dapat membaca status 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 telah direduksi tetapi masih sensitif | izin file log Gateway | ya |
fs.synced_dir |
warn | Status/konfigurasi di iCloud/Dropbox/Drive memperluas paparan token/transkrip | pindahkan konfigurasi/status dari folder yang disinkronkan | tidak |
gateway.bind_no_auth |
critical | Bind jarak jauh tanpa rahasia bersama | gateway.bind, gateway.auth.* |
tidak |
gateway.loopback_no_auth |
critical | Loopback yang di-reverse proxy dapat menjadi tidak terautentikasi | gateway.auth.*, penyiapan 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 mengganti 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 seperti pola tidak mencocokkan teks shell atau grup | gateway.nodes.denyCommands |
tidak |
gateway.tailscale_funnel |
critical | Paparan 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 eksplisit | gateway.controlUi.allowedOrigins |
tidak |
gateway.control_ui.allowed_origins_wildcard |
warn/critical | allowedOrigins=["*"] menonaktifkan allowlisting origin browser |
gateway.controlUi.allowedOrigins |
tidak |
gateway.control_ui.host_header_origin_fallback |
warn/critical | Mengaktifkan fallback origin header Host (penurunan penguatan terhadap 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 | Memercayai 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 terekspos tanpa pembatasan laju meningkatkan risiko brute-force | gateway.auth.rateLimit |
tidak |
gateway.trusted_proxy_auth |
critical | Identitas proxy kini menjadi batas auth | 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 menyelesaikan 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 |
gateway.trusted_proxy_allow_loopback |
peringatan | Autentikasi proksi tepercaya menerima sumber proksi loopback yang diizinkan secara eksplisit | gateway.auth.trustedProxy.allowLoopback |
tidak |
gateway.probe_auth_secretref_unavailable |
peringatan | Probe mendalam tidak dapat menyelesaikan SecretRefs autentikasi di jalur perintah ini | sumber autentikasi deep-probe / ketersediaan SecretRef | tidak |
gateway.probe_failed |
peringatan/kritis | Probe Gateway langsung gagal | keterjangkauan/autentikasi gateway | tidak |
discovery.mdns_full_mode |
peringatan/kritis | Mode penuh mDNS mengiklankan metadata cliPath/sshPort di jaringan lokal |
discovery.mdns.mode, gateway.bind |
tidak |
config.insecure_or_dangerous_flags |
peringatan | Flag debug tidak aman/berbahaya apa pun diaktifkan | beberapa kunci (lihat detail temuan) | tidak |
config.secrets.gateway_password_in_config |
peringatan | Kata sandi Gateway disimpan langsung di konfigurasi | gateway.auth.password |
tidak |
config.secrets.hooks_token_in_config |
peringatan | Token bearer hook disimpan langsung di konfigurasi | hooks.token |
tidak |
hooks.token_reuse_gateway_token |
kritis | Token ingress hook juga membuka autentikasi Gateway | hooks.token, gateway.auth.token |
tidak |
hooks.token_too_short |
peringatan | Brute force pada ingress hook menjadi lebih mudah | hooks.token |
tidak |
hooks.default_session_key_unset |
peringatan | Operasi agen hook menyebar ke sesi per permintaan yang dihasilkan | hooks.defaultSessionKey |
tidak |
hooks.allowed_agent_ids_unrestricted |
peringatan/kritis | Pemanggil hook yang terautentikasi dapat merutekan ke agen terkonfigurasi mana pun | hooks.allowedAgentIds |
tidak |
hooks.request_session_key_enabled |
peringatan/kritis | Pemanggil eksternal dapat memilih sessionKey | hooks.allowRequestSessionKey |
tidak |
hooks.request_session_key_prefixes_missing |
peringatan/kritis | Tidak ada batasan pada bentuk kunci sesi eksternal | hooks.allowedSessionKeyPrefixes |
tidak |
hooks.path_root |
kritis | Jalur hook adalah /, membuat ingress lebih mudah bertabrakan atau salah rute |
hooks.path |
tidak |
hooks.installs_unpinned_npm_specs |
peringatan | Catatan instalasi hook tidak dipasang ke spesifikasi npm yang tidak dapat diubah | metadata instalasi hook | tidak |
hooks.installs_missing_integrity |
peringatan | Catatan instalasi hook tidak memiliki metadata integritas | metadata instalasi hook | tidak |
hooks.installs_version_drift |
peringatan | Catatan instalasi hook menyimpang dari paket yang terinstal | metadata instalasi hook | tidak |
logging.redact_off |
peringatan | Nilai sensitif bocor ke log/status | logging.redactSensitive |
ya |
browser.control_invalid_config |
peringatan | Konfigurasi kontrol browser tidak valid sebelum runtime | browser.* |
tidak |
browser.control_no_auth |
kritis | Kontrol browser terekspos tanpa autentikasi token/kata sandi | gateway.auth.* |
tidak |
browser.remote_cdp_http |
peringatan | CDP jarak jauh melalui HTTP polos tidak memiliki enkripsi transport | profil browser cdpUrl |
tidak |
browser.remote_cdp_private_host |
peringatan | CDP jarak jauh menargetkan host privat/internal | profil browser cdpUrl, browser.ssrfPolicy.* |
tidak |
sandbox.docker_config_mode_off |
peringatan | Konfigurasi Docker Sandbox ada tetapi tidak aktif | agents.*.sandbox.mode |
tidak |
sandbox.bind_mount_non_absolute |
peringatan | Bind mount relatif dapat diselesaikan secara tidak terduga | agents.*.sandbox.docker.binds[] |
tidak |
sandbox.dangerous_bind_mount |
kritis | Bind mount Sandbox menargetkan jalur sistem, kredensial, atau soket Docker yang diblokir | agents.*.sandbox.docker.binds[] |
tidak |
sandbox.dangerous_network_mode |
kritis | Jaringan Docker Sandbox menggunakan mode namespace-join host atau container:* |
agents.*.sandbox.docker.network |
tidak |
sandbox.dangerous_seccomp_profile |
kritis | Profil seccomp Sandbox melemahkan isolasi kontainer | agents.*.sandbox.docker.securityOpt |
tidak |
sandbox.dangerous_apparmor_profile |
kritis | Profil AppArmor Sandbox melemahkan isolasi kontainer | agents.*.sandbox.docker.securityOpt |
tidak |
sandbox.browser_cdp_bridge_unrestricted |
peringatan | Jembatan browser Sandbox terekspos tanpa pembatasan rentang sumber | sandbox.browser.cdpSourceRange |
tidak |
sandbox.browser_container.non_loopback_publish |
kritis | Kontainer browser yang ada memublikasikan CDP pada antarmuka non-loopback | konfigurasi publikasi kontainer sandbox browser | tidak |
sandbox.browser_container.hash_label_missing |
peringatan | Kontainer browser yang ada mendahului label hash konfigurasi saat ini | openclaw sandbox recreate --browser --all |
tidak |
sandbox.browser_container.hash_epoch_stale |
peringatan | Kontainer browser yang ada mendahului epoch konfigurasi browser saat ini | openclaw sandbox recreate --browser --all |
tidak |
tools.exec.host_sandbox_no_sandbox_defaults |
peringatan | exec host=sandbox gagal tertutup saat sandbox tidak aktif |
tools.exec.host, agents.defaults.sandbox.mode |
tidak |
tools.exec.host_sandbox_no_sandbox_agents |
peringatan | exec host=sandbox per agen gagal tertutup saat sandbox tidak aktif |
agents.list[].tools.exec.host, agents.list[].sandbox.mode |
tidak |
tools.exec.security_full_configured |
peringatan/kritis | Eksekusi host berjalan dengan security="full" |
tools.exec.security, agents.list[].tools.exec.security |
tidak |
tools.exec.auto_allow_skills_enabled |
peringatan | Persetujuan eksekusi memercayai bin Skills secara implisit | ~/.openclaw/exec-approvals.json |
tidak |
tools.exec.allowlist_interpreter_without_strict_inline_eval |
peringatan | Allowlist interpreter mengizinkan eval inline tanpa persetujuan ulang paksa | tools.exec.strictInlineEval, agents.list[].tools.exec.strictInlineEval, allowlist persetujuan eksekusi |
tidak |
tools.exec.safe_bins_interpreter_unprofiled |
peringatan | Bin interpreter/runtime di safeBins tanpa profil eksplisit memperluas risiko eksekusi |
tools.exec.safeBins, tools.exec.safeBinProfiles, agents.list[].tools.exec.* |
tidak |
tools.exec.safe_bins_broad_behavior |
peringatan | Alat berperilaku luas di safeBins melemahkan model kepercayaan filter stdin berisiko rendah |
tools.exec.safeBins, agents.list[].tools.exec.safeBins |
tidak |
tools.exec.safe_bin_trusted_dirs_risky |
peringatan | safeBinTrustedDirs mencakup direktori yang dapat berubah atau berisiko |
tools.exec.safeBinTrustedDirs, agents.list[].tools.exec.safeBinTrustedDirs |
tidak |
skills.workspace.symlink_escape |
peringatan | Workspace skills/**/SKILL.md terselesaikan di luar root workspace (penyimpangan rantai symlink) |
status sistem berkas workspace skills/** |
tidak |
plugins.extensions_no_allowlist |
peringatan | Plugin diinstal tanpa allowlist plugin eksplisit | plugins.allowlist |
tidak |
plugins.installs_unpinned_npm_specs |
warn | Catatan indeks Plugin tidak dipinkan ke spesifikasi npm yang tidak dapat berubah | metadata instalasi Plugin | no |
plugins.installs_missing_integrity |
warn | Catatan indeks Plugin tidak memiliki metadata integritas | metadata instalasi Plugin | no |
plugins.installs_version_drift |
warn | Catatan indeks Plugin menyimpang dari paket yang terpasang | metadata instalasi Plugin | no |
plugins.code_safety |
warn/critical | Pemindaian kode Plugin menemukan pola yang mencurigakan atau berbahaya | kode Plugin / sumber instalasi | no |
plugins.code_safety.entry_path |
warn | Jalur entri Plugin mengarah ke lokasi tersembunyi atau node_modules |
entry manifes Plugin |
no |
plugins.code_safety.entry_escape |
critical | Entri Plugin keluar dari direktori plugin | entry manifes Plugin |
no |
plugins.code_safety.scan_failed |
warn | Pemindaian kode Plugin tidak dapat selesai | jalur Plugin / lingkungan pemindaian | no |
skills.code_safety |
warn/critical | Metadata/kode penginstal Skills berisi pola yang mencurigakan atau berbahaya | sumber instalasi skill | no |
skills.code_safety.scan_failed |
warn | Pemindaian kode skill tidak dapat selesai | lingkungan pemindaian skill | no |
security.exposure.open_channels_with_exec |
warn/critical | Ruang bersama/publik dapat menjangkau agen yang mengaktifkan exec | channels.*.dmPolicy, channels.*.groupPolicy, tools.exec.*, agents.list[].tools.exec.* |
no |
security.exposure.open_groups_with_elevated |
critical | Grup terbuka + alat dengan hak lebih tinggi membuat jalur injeksi prompt berdampak tinggi | channels.*.groupPolicy, tools.elevated.* |
no |
security.exposure.open_groups_with_runtime_or_fs |
critical/warn | Grup terbuka dapat menjangkau alat perintah/berkas tanpa penjaga sandbox/workspace | channels.*.groupPolicy, tools.profile/deny, tools.fs.workspaceOnly, agents.*.sandbox.mode |
no |
security.trust_model.multi_user_heuristic |
warn | Konfigurasi tampak multi-pengguna sementara model kepercayaan Gateway adalah asisten pribadi | pisahkan batas kepercayaan, atau pengerasan pengguna bersama (sandbox.mode, pelarangan alat/pelingkupan workspace) |
no |
tools.profile_minimal_overridden |
warn | Override agen melewati profil minimal global | agents.list[].tools.profile |
no |
plugins.tools_reachable_permissive_policy |
warn | Alat ekstensi dapat dijangkau dalam konteks permisif | tools.profile + izinkan/tolak alat |
no |
models.legacy |
warn | Keluarga model lama masih dikonfigurasi | pemilihan model | no |
models.weak_tier |
warn | Model yang dikonfigurasi berada di bawah tingkat rekomendasi saat ini | pemilihan model | no |
models.small_params |
critical/info | Model kecil + permukaan alat yang tidak aman meningkatkan risiko injeksi | pilihan model + kebijakan sandbox/alat | no |
summary.attack_surface |
info | Ringkasan gabungan postur autentikasi, kanal, alat, dan paparan | beberapa kunci (lihat detail temuan) | no |