Gateway
Controlli di audit di sicurezza
openclaw security audit emette risultati strutturati indicizzati da checkId. Questa
pagina è il catalogo di riferimento per questi ID. Per il modello delle minacce
di alto livello e le linee guida di hardening, consulta Sicurezza.
Valori checkId ad alto segnale che probabilmente vedrai nelle distribuzioni reali (non
esaustivi):
checkId |
Gravità | Perché è importante | Chiave/percorso principale per la correzione | Correzione automatica |
|---|---|---|---|---|
fs.state_dir.perms_world_writable |
critica | Altri utenti/processi possono modificare l’intero stato di OpenClaw | permessi del filesystem su ~/.openclaw |
sì |
fs.state_dir.perms_group_writable |
avviso | Gli utenti del gruppo possono modificare l’intero stato di OpenClaw | permessi del filesystem su ~/.openclaw |
sì |
fs.state_dir.perms_readable |
avviso | La directory di stato è leggibile da altri | permessi del filesystem su ~/.openclaw |
sì |
fs.state_dir.symlink |
avviso | La destinazione della directory di stato diventa un altro confine di fiducia | layout del filesystem della directory di stato | no |
fs.config.perms_writable |
critica | Altri possono modificare criteri/configurazione di autenticazione e strumenti | permessi del filesystem su ~/.openclaw/openclaw.json |
sì |
fs.config.symlink |
avviso | I file di configurazione con symlink non sono supportati per le scritture e aggiungono un altro confine di fiducia | sostituisci con un file di configurazione normale o punta OPENCLAW_CONFIG_PATH al file reale |
no |
fs.config.perms_group_readable |
avviso | Gli utenti del gruppo possono leggere token/impostazioni di configurazione | permessi del filesystem sul file di configurazione | sì |
fs.config.perms_world_readable |
critica | La configurazione può esporre token/impostazioni | permessi del filesystem sul file di configurazione | sì |
fs.config_include.perms_writable |
critica | Il file include di configurazione può essere modificato da altri | permessi del file include referenziato da openclaw.json |
sì |
fs.config_include.perms_group_readable |
avviso | Gli utenti del gruppo possono leggere segreti/impostazioni incluse | permessi del file include referenziato da openclaw.json |
sì |
fs.config_include.perms_world_readable |
critica | I segreti/impostazioni inclusi sono leggibili da tutti | permessi del file include referenziato da openclaw.json |
sì |
fs.auth_profiles.perms_writable |
critica | Altri possono inserire o sostituire le credenziali modello archiviate | permessi di agents/<agentId>/agent/auth-profiles.json |
sì |
fs.auth_profiles.perms_readable |
avviso | Altri possono leggere chiavi API e token OAuth | permessi di agents/<agentId>/agent/auth-profiles.json |
sì |
fs.credentials_dir.perms_writable |
critica | Altri possono modificare lo stato di associazione/credenziali dei canali | permessi del filesystem su ~/.openclaw/credentials |
sì |
fs.credentials_dir.perms_readable |
avviso | Altri possono leggere lo stato delle credenziali dei canali | permessi del filesystem su ~/.openclaw/credentials |
sì |
fs.sessions_store.perms_readable |
avviso | Altri possono leggere trascrizioni/metadati delle sessioni | permessi dell’archivio delle sessioni | sì |
fs.log_file.perms_readable |
avviso | Altri possono leggere log oscurati ma ancora sensibili | permessi del file di log del Gateway | sì |
fs.synced_dir |
avviso | Stato/configurazione in iCloud/Dropbox/Drive amplia l’esposizione di token/trascrizioni | sposta configurazione/stato fuori dalle cartelle sincronizzate | no |
gateway.bind_no_auth |
critica | Bind remoto senza segreto condiviso | gateway.bind, gateway.auth.* |
no |
gateway.loopback_no_auth |
critica | Il loopback tramite reverse proxy può diventare non autenticato | gateway.auth.*, configurazione del proxy |
no |
gateway.trusted_proxies_missing |
avviso | Gli header del reverse proxy sono presenti ma non considerati attendibili | gateway.trustedProxies |
no |
gateway.http.no_auth |
avviso/critica | Le API HTTP del Gateway sono raggiungibili con auth.mode="none" |
gateway.auth.mode, gateway.http.endpoints.* |
no |
gateway.http.session_key_override_enabled |
informativa | I chiamanti dell’API HTTP possono sovrascrivere sessionKey |
gateway.http.allowSessionKeyOverride |
no |
gateway.tools_invoke_http.dangerous_allow |
avviso/critica | Riabilita strumenti pericolosi tramite API HTTP | gateway.tools.allow |
no |
gateway.nodes.allow_commands_dangerous |
avviso/critica | Abilita comandi Node ad alto impatto (fotocamera/schermo/contatti/calendario/SMS) | gateway.nodes.allowCommands |
no |
gateway.nodes.deny_commands_ineffective |
avviso | Le voci di negazione in stile pattern non corrispondono al testo shell o ai gruppi | gateway.nodes.denyCommands |
no |
gateway.tailscale_funnel |
critica | Esposizione a Internet pubblico | gateway.tailscale.mode |
no |
gateway.tailscale_serve |
informativa | L’esposizione alla tailnet è abilitata tramite Serve | gateway.tailscale.mode |
no |
gateway.control_ui.allowed_origins_required |
critica | Control UI non loopback senza allowlist esplicita delle origini browser | gateway.controlUi.allowedOrigins |
no |
gateway.control_ui.allowed_origins_wildcard |
avviso/critica | allowedOrigins=["*"] disabilita l’allowlist delle origini browser |
gateway.controlUi.allowedOrigins |
no |
gateway.control_ui.host_header_origin_fallback |
avviso/critica | Abilita il fallback dell’origine basato sull’header Host (riduzione dell’hardening contro DNS rebinding) | gateway.controlUi.dangerouslyAllowHostHeaderOriginFallback |
no |
gateway.control_ui.insecure_auth |
avviso | Toggle di compatibilità per autenticazione non sicura abilitato | gateway.controlUi.allowInsecureAuth |
no |
gateway.control_ui.device_auth_disabled |
critica | Disabilita il controllo dell’identità del dispositivo | gateway.controlUi.dangerouslyDisableDeviceAuth |
no |
gateway.real_ip_fallback_enabled |
avviso/critica | Considerare attendibile il fallback X-Real-IP può abilitare lo spoofing dell’IP sorgente tramite configurazione errata del proxy |
gateway.allowRealIpFallback, gateway.trustedProxies |
no |
gateway.token_too_short |
avviso | Un token condiviso breve è più facile da forzare con brute force | gateway.auth.token |
no |
gateway.auth_no_rate_limit |
avviso | L’autenticazione esposta senza rate limiting aumenta il rischio di brute force | gateway.auth.rateLimit |
no |
gateway.trusted_proxy_auth |
critica | L’identità del proxy diventa ora il confine di autenticazione | gateway.auth.mode="trusted-proxy" |
no |
gateway.trusted_proxy_no_proxies |
critica | L’autenticazione trusted-proxy senza IP proxy attendibili non è sicura | gateway.trustedProxies |
no |
gateway.trusted_proxy_no_user_header |
critica | L’autenticazione trusted-proxy non può risolvere in sicurezza l’identità utente | gateway.auth.trustedProxy.userHeader |
no |
gateway.trusted_proxy_no_allowlist |
avviso | L’autenticazione trusted-proxy accetta qualsiasi utente upstream autenticato | gateway.auth.trustedProxy.allowUsers |
no |
gateway.trusted_proxy_allow_loopback |
avviso | L'autenticazione trusted-proxy accetta origini proxy di loopback consentite esplicitamente | gateway.auth.trustedProxy.allowLoopback |
no |
gateway.probe_auth_secretref_unavailable |
avviso | Il probe approfondito non ha potuto risolvere le SecretRef di autenticazione in questo percorso di comando | origine di autenticazione del probe approfondito / disponibilità di SecretRef | no |
gateway.probe_failed |
avviso/critico | Il probe live del Gateway non è riuscito | raggiungibilità/autenticazione del Gateway | no |
discovery.mdns_full_mode |
avviso/critico | La modalità completa mDNS pubblicizza i metadati cliPath/sshPort sulla rete locale |
discovery.mdns.mode, gateway.bind |
no |
config.insecure_or_dangerous_flags |
avviso | Qualsiasi flag di debug non sicuro/pericoloso abilitato | più chiavi (vedi dettagli del rilevamento) | no |
config.secrets.gateway_password_in_config |
avviso | La password del Gateway è memorizzata direttamente nella configurazione | gateway.auth.password |
no |
config.secrets.hooks_token_in_config |
avviso | Il token bearer dell'hook è memorizzato direttamente nella configurazione | hooks.token |
no |
hooks.token_reuse_gateway_token |
critico | Il token di ingresso dell'hook sblocca anche l'autenticazione del Gateway | hooks.token, gateway.auth.token |
no |
hooks.token_too_short |
avviso | Forza bruta più facile sull'ingresso dell'hook | hooks.token |
no |
hooks.default_session_key_unset |
avviso | Le esecuzioni dell'agente hook si diramano in sessioni generate per ogni richiesta | hooks.defaultSessionKey |
no |
hooks.allowed_agent_ids_unrestricted |
avviso/critico | I chiamanti hook autenticati possono instradare verso qualsiasi agente configurato | hooks.allowedAgentIds |
no |
hooks.request_session_key_enabled |
avviso/critico | Il chiamante esterno può scegliere sessionKey | hooks.allowRequestSessionKey |
no |
hooks.request_session_key_prefixes_missing |
avviso/critico | Nessun limite alle forme delle chiavi di sessione esterne | hooks.allowedSessionKeyPrefixes |
no |
hooks.path_root |
critico | Il percorso dell'hook è /, rendendo l'ingresso più facile da far collidere o instradare in modo errato |
hooks.path |
no |
hooks.installs_unpinned_npm_specs |
avviso | I record di installazione degli hook non sono vincolati a specifiche npm immutabili | metadati di installazione degli hook | no |
hooks.installs_missing_integrity |
avviso | I record di installazione degli hook non includono metadati di integrità | metadati di installazione degli hook | no |
hooks.installs_version_drift |
avviso | I record di installazione degli hook divergono dai pacchetti installati | metadati di installazione degli hook | no |
logging.redact_off |
avviso | Valori sensibili trapelano nei log/stato | logging.redactSensitive |
sì |
browser.control_invalid_config |
avviso | La configurazione del controllo browser non è valida prima del runtime | browser.* |
no |
browser.control_no_auth |
critico | Controllo browser esposto senza autenticazione tramite token/password | gateway.auth.* |
no |
browser.remote_cdp_http |
avviso | CDP remoto su HTTP semplice non ha crittografia di trasporto | profilo browser cdpUrl |
no |
browser.remote_cdp_private_host |
avviso | CDP remoto punta a un host privato/interno | profilo browser cdpUrl, browser.ssrfPolicy.* |
no |
sandbox.docker_config_mode_off |
avviso | Configurazione Docker della sandbox presente ma inattiva | agents.*.sandbox.mode |
no |
sandbox.bind_mount_non_absolute |
avviso | I mount bind relativi possono risolversi in modo imprevedibile | agents.*.sandbox.docker.binds[] |
no |
sandbox.dangerous_bind_mount |
critico | Il mount bind della sandbox punta a percorsi bloccati di sistema, credenziali o socket Docker | agents.*.sandbox.docker.binds[] |
no |
sandbox.dangerous_network_mode |
critico | La rete Docker della sandbox usa host o la modalità di join del namespace container:* |
agents.*.sandbox.docker.network |
no |
sandbox.dangerous_seccomp_profile |
critico | Il profilo seccomp della sandbox indebolisce l'isolamento del container | agents.*.sandbox.docker.securityOpt |
no |
sandbox.dangerous_apparmor_profile |
critico | Il profilo AppArmor della sandbox indebolisce l'isolamento del container | agents.*.sandbox.docker.securityOpt |
no |
sandbox.browser_cdp_bridge_unrestricted |
avviso | Il bridge browser della sandbox è esposto senza restrizione dell'intervallo di origine | sandbox.browser.cdpSourceRange |
no |
sandbox.browser_container.non_loopback_publish |
critico | Il container browser esistente pubblica CDP su interfacce non di loopback | configurazione di pubblicazione del container browser sandbox | no |
sandbox.browser_container.hash_label_missing |
avviso | Il container browser esistente precede le etichette hash di configurazione correnti | openclaw sandbox recreate --browser --all |
no |
sandbox.browser_container.hash_epoch_stale |
avviso | Il container browser esistente precede l'epoca corrente della configurazione browser | openclaw sandbox recreate --browser --all |
no |
tools.exec.host_sandbox_no_sandbox_defaults |
avviso | exec host=sandbox fallisce in modo chiuso quando la sandbox è disattivata |
tools.exec.host, agents.defaults.sandbox.mode |
no |
tools.exec.host_sandbox_no_sandbox_agents |
avviso | exec host=sandbox per agente fallisce in modo chiuso quando la sandbox è disattivata |
agents.list[].tools.exec.host, agents.list[].sandbox.mode |
no |
tools.exec.security_full_configured |
avviso/critico | L'esecuzione host è in esecuzione con security="full" |
tools.exec.security, agents.list[].tools.exec.security |
no |
tools.exec.auto_allow_skills_enabled |
avviso | Le approvazioni exec considerano attendibili implicitamente i bin delle skill | ~/.openclaw/exec-approvals.json |
no |
tools.exec.allowlist_interpreter_without_strict_inline_eval |
avviso | Le allowlist degli interpreti consentono eval inline senza riapprovazione forzata | tools.exec.strictInlineEval, agents.list[].tools.exec.strictInlineEval, allowlist delle approvazioni exec |
no |
tools.exec.safe_bins_interpreter_unprofiled |
avviso | Bin di interprete/runtime in safeBins senza profili espliciti ampliano il rischio exec |
tools.exec.safeBins, tools.exec.safeBinProfiles, agents.list[].tools.exec.* |
no |
tools.exec.safe_bins_broad_behavior |
avviso | Gli strumenti a comportamento ampio in safeBins indeboliscono il modello di fiducia a basso rischio basato sul filtro stdin |
tools.exec.safeBins, agents.list[].tools.exec.safeBins |
no |
tools.exec.safe_bin_trusted_dirs_risky |
avviso | safeBinTrustedDirs include directory modificabili o rischiose |
tools.exec.safeBinTrustedDirs, agents.list[].tools.exec.safeBinTrustedDirs |
no |
skills.workspace.symlink_escape |
avviso | skills/**/SKILL.md del workspace si risolve fuori dalla radice del workspace (deriva della catena di symlink) |
stato del filesystem skills/** del workspace |
no |
plugins.extensions_no_allowlist |
avviso | I Plugin sono installati senza una allowlist esplicita dei plugin | plugins.allowlist |
no |
plugins.installs_unpinned_npm_specs |
warn | I record dell'indice dei Plugin non sono vincolati a specifiche npm immutabili | metadati di installazione dei Plugin | no |
plugins.installs_missing_integrity |
warn | I record dell'indice dei Plugin non includono metadati di integrità | metadati di installazione dei Plugin | no |
plugins.installs_version_drift |
warn | I record dell'indice dei Plugin divergono dai pacchetti installati | metadati di installazione dei Plugin | no |
plugins.code_safety |
warn/critical | La scansione del codice dei Plugin ha trovato pattern sospetti o pericolosi | codice dei Plugin / sorgente di installazione | no |
plugins.code_safety.entry_path |
warn | Il percorso di ingresso del Plugin punta a posizioni nascoste o in node_modules |
entry del manifesto del Plugin |
no |
plugins.code_safety.entry_escape |
critical | L'ingresso del Plugin esce dalla directory del Plugin | entry del manifesto del Plugin |
no |
plugins.code_safety.scan_failed |
warn | La scansione del codice del Plugin non è stata completata | percorso del Plugin / ambiente di scansione | no |
skills.code_safety |
warn/critical | I metadati/il codice dell'installer delle Skills contengono pattern sospetti o pericolosi | sorgente di installazione delle Skills | no |
skills.code_safety.scan_failed |
warn | La scansione del codice delle Skills non è stata completata | ambiente di scansione delle Skills | no |
security.exposure.open_channels_with_exec |
warn/critical | Le stanze condivise/pubbliche possono raggiungere agenti con exec abilitato | channels.*.dmPolicy, channels.*.groupPolicy, tools.exec.*, agents.list[].tools.exec.* |
no |
security.exposure.open_groups_with_elevated |
critical | Gruppi aperti + strumenti elevati creano percorsi di prompt injection ad alto impatto | channels.*.groupPolicy, tools.elevated.* |
no |
security.exposure.open_groups_with_runtime_or_fs |
critical/warn | I gruppi aperti possono raggiungere strumenti di comando/file senza protezioni sandbox/workspace | channels.*.groupPolicy, tools.profile/deny, tools.fs.workspaceOnly, agents.*.sandbox.mode |
no |
security.trust_model.multi_user_heuristic |
warn | La configurazione sembra multiutente mentre il modello di fiducia del Gateway è da assistente personale | confini di fiducia separati, o rafforzamento per utenti condivisi (sandbox.mode, limitazione deny/workspace degli strumenti) |
no |
tools.profile_minimal_overridden |
warn | Le sovrascritture degli agenti aggirano il profilo minimale globale | agents.list[].tools.profile |
no |
plugins.tools_reachable_permissive_policy |
warn | Gli strumenti delle estensioni sono raggiungibili in contesti permissivi | tools.profile + allow/deny degli strumenti |
no |
models.legacy |
warn | Le famiglie di modelli legacy sono ancora configurate | selezione del modello | no |
models.weak_tier |
warn | I modelli configurati sono al di sotto dei livelli attualmente consigliati | selezione del modello | no |
models.small_params |
critical/info | Modelli piccoli + superfici di strumenti non sicure aumentano il rischio di injection | scelta del modello + policy sandbox/strumenti | no |
summary.attack_surface |
info | Riepilogo complessivo della postura di autenticazione, canali, strumenti ed esposizione | più chiavi (vedi dettaglio del risultato) | no |