fs.state_dir.perms_world_writable | critical | Altri utenti/processi possono modificare l’intero stato di OpenClaw | permessi del filesystem su ~/.openclaw | sì |
fs.state_dir.perms_group_writable | warn | Gli utenti del gruppo possono modificare l’intero stato di OpenClaw | permessi del filesystem su ~/.openclaw | sì |
fs.state_dir.perms_readable | warn | La directory di stato è leggibile da altri | permessi del filesystem su ~/.openclaw | sì |
fs.state_dir.symlink | warn | La destinazione della directory di stato diventa un altro confine di fiducia | layout del filesystem della directory di stato | no |
fs.config.perms_writable | critical | Altri possono modificare autenticazione/policy degli strumenti/configurazione | permessi del filesystem su ~/.openclaw/openclaw.json | sì |
fs.config.symlink | warn | I file di configurazione symlinkati non sono supportati per la scrittura e aggiungono un altro confine di fiducia | sostituisci con un normale file di configurazione o punta OPENCLAW_CONFIG_PATH al file reale | no |
fs.config.perms_group_readable | warn | Gli utenti del gruppo possono leggere token/impostazioni della configurazione | permessi del filesystem sul file di configurazione | sì |
fs.config.perms_world_readable | critical | La configurazione può esporre token/impostazioni | permessi del filesystem sul file di configurazione | sì |
fs.config_include.perms_writable | critical | Il file include della configurazione può essere modificato da altri | permessi del file include referenziato da openclaw.json | sì |
fs.config_include.perms_group_readable | warn | Gli utenti del gruppo possono leggere secret/impostazioni inclusi | permessi del file include referenziato da openclaw.json | sì |
fs.config_include.perms_world_readable | critical | Secret/impostazioni inclusi sono leggibili da tutti | permessi del file include referenziato da openclaw.json | sì |
fs.auth_profiles.perms_writable | critical | Altri possono iniettare o sostituire credenziali modello memorizzate | permessi di agents/<agentId>/agent/auth-profiles.json | sì |
fs.auth_profiles.perms_readable | warn | Altri possono leggere chiavi API e token OAuth | permessi di agents/<agentId>/agent/auth-profiles.json | sì |
fs.credentials_dir.perms_writable | critical | Altri possono modificare stato di pairing/credenziali del canale | permessi del filesystem su ~/.openclaw/credentials | sì |
fs.credentials_dir.perms_readable | warn | Altri possono leggere lo stato delle credenziali del canale | permessi del filesystem su ~/.openclaw/credentials | sì |
fs.sessions_store.perms_readable | warn | Altri possono leggere trascrizioni/metadati delle sessioni | permessi dell’archivio sessioni | sì |
fs.log_file.perms_readable | warn | Altri possono leggere log redatti ma comunque sensibili | permessi del file di log del gateway | sì |
fs.synced_dir | warn | Stato/configurazione in iCloud/Dropbox/Drive amplia l’esposizione di token/trascrizioni | sposta configurazione/stato fuori dalle cartelle sincronizzate | no |
gateway.bind_no_auth | critical | Bind remoto senza secret condiviso | gateway.bind, gateway.auth.* | no |
gateway.loopback_no_auth | critical | Il loopback con reverse proxy può diventare non autenticato | gateway.auth.*, configurazione proxy | no |
gateway.trusted_proxies_missing | warn | Gli header del reverse proxy sono presenti ma non attendibili | gateway.trustedProxies | no |
gateway.http.no_auth | warn/critical | Le API HTTP del Gateway sono raggiungibili con auth.mode="none" | gateway.auth.mode, gateway.http.endpoints.* | no |
gateway.http.session_key_override_enabled | info | I chiamanti delle API HTTP possono sovrascrivere sessionKey | gateway.http.allowSessionKeyOverride | no |
gateway.tools_invoke_http.dangerous_allow | warn/critical | Riabilita strumenti pericolosi tramite API HTTP | gateway.tools.allow | no |
gateway.nodes.allow_commands_dangerous | warn/critical | Abilita comandi Node ad alto impatto (camera/schermo/contatti/calendario/SMS) | gateway.nodes.allowCommands | no |
gateway.nodes.deny_commands_ineffective | warn | Le voci deny simili a pattern non corrispondono al testo shell o ai gruppi | gateway.nodes.denyCommands | no |
gateway.tailscale_funnel | critical | Esposizione su internet pubblico | gateway.tailscale.mode | no |
gateway.tailscale_serve | info | L’esposizione tailnet è abilitata tramite Serve | gateway.tailscale.mode | no |
gateway.control_ui.allowed_origins_required | critical | Control UI non-loopback senza allowlist esplicita degli origin del browser | gateway.controlUi.allowedOrigins | no |
gateway.control_ui.allowed_origins_wildcard | warn/critical | allowedOrigins=["*"] disabilita l’allowlisting degli origin del browser | gateway.controlUi.allowedOrigins | no |
gateway.control_ui.host_header_origin_fallback | warn/critical | Abilita il fallback origin da header Host (downgrade dell’hardening contro DNS rebinding) | gateway.controlUi.dangerouslyAllowHostHeaderOriginFallback | no |
gateway.control_ui.insecure_auth | warn | Toggle di compatibilità con autenticazione insicura abilitato | gateway.controlUi.allowInsecureAuth | no |
gateway.control_ui.device_auth_disabled | critical | Disabilita il controllo dell’identità del dispositivo | gateway.controlUi.dangerouslyDisableDeviceAuth | no |
gateway.real_ip_fallback_enabled | warn/critical | Fidarsi del fallback X-Real-IP può permettere spoofing dell’IP sorgente tramite misconfigurazione del proxy | gateway.allowRealIpFallback, gateway.trustedProxies | no |
gateway.token_too_short | warn | Un token condiviso corto è più facile da forzare con brute force | gateway.auth.token | no |
gateway.auth_no_rate_limit | warn | Autenticazione esposta senza rate limiting aumenta il rischio di brute force | gateway.auth.rateLimit | no |
gateway.trusted_proxy_auth | critical | L’identità del proxy diventa ora il confine di autenticazione | gateway.auth.mode="trusted-proxy" | no |
gateway.trusted_proxy_no_proxies | critical | L’autenticazione trusted-proxy senza IP proxy attendibili non è sicura | gateway.trustedProxies | no |
gateway.trusted_proxy_no_user_header | critical | L’autenticazione trusted-proxy non può risolvere in sicurezza l’identità dell’utente | gateway.auth.trustedProxy.userHeader | no |
gateway.trusted_proxy_no_allowlist | warn | L’autenticazione trusted-proxy accetta qualsiasi utente upstream autenticato | gateway.auth.trustedProxy.allowUsers | no |
checkId | Severità | Perché è importante | Chiave/percorso principale di correzione | Correzione automatica |
| ------------------------------------------------------------- | ------------- | ------------------------------------------------------------------------------------ | ---------------------------------------------------------------------------------------------------- | --------------------- |
gateway.probe_auth_secretref_unavailable | warn | La probe approfondita non ha potuto risolvere i SecretRef di autenticazione in questo percorso del comando | sorgente auth della probe approfondita / disponibilità di SecretRef | no |
gateway.probe_failed | warn/critical | La probe live del Gateway è fallita | raggiungibilità/autenticazione del gateway | no |
discovery.mdns_full_mode | warn/critical | La modalità mDNS full pubblicizza metadati cliPath/sshPort sulla rete locale | discovery.mdns.mode, gateway.bind | no |
config.insecure_or_dangerous_flags | warn | Sono abilitati flag di debug insicuri/pericolosi | più chiavi (vedi dettaglio del rilievo) | no |
config.secrets.gateway_password_in_config | warn | La password del Gateway è memorizzata direttamente nella configurazione | gateway.auth.password | no |
config.secrets.hooks_token_in_config | warn | Il token bearer degli hook è memorizzato direttamente nella configurazione | hooks.token | no |
hooks.token_reuse_gateway_token | critical | Il token di ingresso degli hook sblocca anche l’autenticazione del Gateway | hooks.token, gateway.auth.token | no |
hooks.token_too_short | warn | Brute force più facile sull’ingresso hook | hooks.token | no |
hooks.default_session_key_unset | warn | Le esecuzioni dell’agente via hook si distribuiscono su sessioni generate per richiesta | hooks.defaultSessionKey | no |
hooks.allowed_agent_ids_unrestricted | warn/critical | I chiamanti hook autenticati possono instradare verso qualsiasi agente configurato | hooks.allowedAgentIds | no |
hooks.request_session_key_enabled | warn/critical | Il chiamante esterno può scegliere sessionKey | hooks.allowRequestSessionKey | no |
hooks.request_session_key_prefixes_missing | warn/critical | Nessun limite sulle forme delle chiavi di sessione esterne | hooks.allowedSessionKeyPrefixes | no |
hooks.path_root | critical | Il percorso hook è /, rendendo più facile la collisione o l’errato instradamento dell’ingresso | hooks.path | no |
hooks.installs_unpinned_npm_specs | warn | I record di installazione degli hook non sono fissati a specifiche npm immutabili | metadati di installazione hook | no |
hooks.installs_missing_integrity | warn | I record di installazione degli hook non hanno metadati di integrità | metadati di installazione hook | no |
hooks.installs_version_drift | warn | I record di installazione degli hook divergono dai pacchetti installati | metadati di installazione hook | no |
logging.redact_off | warn | Valori sensibili fuoriescono in log/status | logging.redactSensitive | sì |
browser.control_invalid_config | warn | La configurazione del browser control non è valida prima del runtime | browser.* | no |
browser.control_no_auth | critical | Browser control esposto senza autenticazione token/password | gateway.auth.* | no |
browser.remote_cdp_http | warn | Il CDP remoto su HTTP semplice non ha cifratura del trasporto | cdpUrl del profilo browser | no |
browser.remote_cdp_private_host | warn | Il CDP remoto punta a un host privato/interno | cdpUrl del profilo browser, browser.ssrfPolicy.* | no |
sandbox.docker_config_mode_off | warn | La configurazione Docker sandbox è presente ma inattiva | agents.*.sandbox.mode | no |
sandbox.bind_mount_non_absolute | warn | I bind mount relativi possono risolversi in modo imprevedibile | agents.*.sandbox.docker.binds[] | no |
sandbox.dangerous_bind_mount | critical | La destinazione del bind mount sandbox punta a percorsi di sistema, credenziali o socket Docker bloccati | agents.*.sandbox.docker.binds[] | no |
sandbox.dangerous_network_mode | critical | La rete Docker sandbox usa host o la modalità di unione namespace container:* | agents.*.sandbox.docker.network | no |
sandbox.dangerous_seccomp_profile | critical | Il profilo seccomp sandbox indebolisce l’isolamento del container | agents.*.sandbox.docker.securityOpt | no |
sandbox.dangerous_apparmor_profile | critical | Il profilo AppArmor sandbox indebolisce l’isolamento del container | agents.*.sandbox.docker.securityOpt | no |
sandbox.browser_cdp_bridge_unrestricted | warn | Il bridge browser sandbox è esposto senza restrizione dell’intervallo sorgente | sandbox.browser.cdpSourceRange | no |
sandbox.browser_container.non_loopback_publish | critical | Il container browser esistente pubblica CDP su interfacce non loopback | configurazione di pubblicazione del container sandbox browser | no |
sandbox.browser_container.hash_label_missing | warn | Il container browser esistente precede le attuali etichette hash di configurazione | openclaw sandbox recreate --browser --all | no |
sandbox.browser_container.hash_epoch_stale | warn | Il container browser esistente precede l’epoca corrente della configurazione browser | openclaw sandbox recreate --browser --all | no |
tools.exec.host_sandbox_no_sandbox_defaults | warn | exec host=sandbox fallisce in modalità fail-closed quando il sandbox è disattivato | tools.exec.host, agents.defaults.sandbox.mode | no |
tools.exec.host_sandbox_no_sandbox_agents | warn | Il exec host=sandbox per agente fallisce in modalità fail-closed quando il sandbox è disattivato | agents.list[].tools.exec.host, agents.list[].sandbox.mode | no |
tools.exec.security_full_configured | warn/critical | L’host exec è in esecuzione con security="full" | tools.exec.security, agents.list[].tools.exec.security | no |
tools.exec.auto_allow_skills_enabled | warn | Le approvazioni exec considerano attendibili implicitamente i bin delle Skills | ~/.openclaw/exec-approvals.json | no |
tools.exec.allowlist_interpreter_without_strict_inline_eval | warn | 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 | warn | I bin 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 | warn | 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 | warn | safeBinTrustedDirs include directory modificabili o rischiose | tools.exec.safeBinTrustedDirs, agents.list[].tools.exec.safeBinTrustedDirs | no |
skills.workspace.symlink_escape | warn | skills/**/SKILL.md del workspace si risolve fuori dalla root del workspace (deriva della catena di symlink) | stato del filesystem del workspace skills/** | no |
plugins.extensions_no_allowlist | warn | I plugin sono installati senza una allowlist esplicita dei plugin | plugins.allowlist | no |
plugins.installs_unpinned_npm_specs | warn | I record di installazione dei plugin non sono fissati a specifiche npm immutabili | metadati di installazione plugin | no |
checkId | Severità | Perché è importante | Chiave/percorso principale di correzione | Correzione automatica |
| ------------------------------------------------------------- | ------------- | ------------------------------------------------------------------------------------ | ---------------------------------------------------------------------------------------------------- | --------------------- |
plugins.installs_missing_integrity | warn | I record di installazione dei plugin non hanno metadati di integrità | metadati di installazione plugin | no |
plugins.installs_version_drift | warn | I record di installazione dei plugin divergono dai pacchetti installati | metadati di installazione plugin | no |
plugins.code_safety | warn/critical | La scansione di sicurezza del codice plugin ha trovato pattern sospetti o pericolosi | codice plugin / sorgente di installazione | no |
plugins.code_safety.entry_path | warn | Il percorso di entry del plugin punta a posizioni nascoste o in node_modules | entry del manifest del plugin | no |
plugins.code_safety.entry_escape | critical | L’entry del plugin esce dalla directory del plugin | entry del manifest del plugin | no |
plugins.code_safety.scan_failed | warn | La scansione di sicurezza del codice plugin non è riuscita a completarsi | percorso del plugin / ambiente di scansione | no |
skills.code_safety | warn/critical | I metadati/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 è riuscita a completarsi | ambiente di scansione delle Skills | no |
security.exposure.open_channels_with_exec | warn/critical | Stanze pubbliche/condivise 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 | separa i confini di fiducia, oppure hardening per utenti condivisi (sandbox.mode, deny degli strumenti/scoping workspace) | no |
tools.profile_minimal_overridden | warn | Gli override dell’agente aggirano il profilo globale minimal | agents.list[].tools.profile | no |
plugins.tools_reachable_permissive_policy | warn | Gli strumenti dell’estensione sono raggiungibili in contesti permissivi | tools.profile + allow/deny degli strumenti | no |
models.legacy | warn | Sono ancora configurate famiglie di modelli legacy | selezione del modello | no |
models.weak_tier | warn | I modelli configurati sono sotto i livelli attualmente consigliati | selezione del modello | no |
models.small_params | critical/info | Modelli piccoli + superfici strumenti non sicure aumentano il rischio di injection | scelta del modello + policy sandbox/strumenti | no |
summary.attack_surface | info | Riepilogo aggregato della postura di autenticazione, canale, strumenti ed esposizione | più chiavi (vedi dettaglio del rilievo) | no |