Gateway
Controlli di audit di sicurezza
openclaw security audit genera segnalazioni strutturate identificate da checkId. Questa
pagina è il catalogo di riferimento per tali ID. Per il modello di minaccia
di alto livello e le indicazioni per il rafforzamento della sicurezza, consulta Sicurezza.
Valori di checkId ad alto valore informativo che vedrai molto probabilmente nelle distribuzioni reali (non
esaustivo):
checkId |
Gravità | Perché è importante | Chiave/percorso principale per la correzione | Correzione automatica |
|---|---|---|---|---|
fs.state_dir.perms_world_writable |
critico | 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 |
critico | Altri possono modificare criteri/configurazione di auth/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 | sostituire con un file di configurazione normale o puntare 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 |
critico | La configurazione può esporre token/impostazioni | permessi del filesystem sul file di configurazione | sì |
fs.config_include.perms_writable |
critico | 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 inclusi | permessi del file include referenziato da openclaw.json |
sì |
fs.config_include.perms_world_readable |
critico | I segreti/le impostazioni inclusi sono leggibili da tutti | permessi del file include referenziato da openclaw.json |
sì |
fs.auth_profiles.perms_writable |
critico | Altri possono iniettare o sostituire le credenziali dei modelli 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 |
critico | 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 redatti ma comunque 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 | spostare configurazione/stato fuori dalle cartelle sincronizzate | no |
gateway.bind_no_auth |
critico | Bind remoto senza segreto condiviso | gateway.bind, gateway.auth.* |
no |
gateway.loopback_no_auth |
critico | Il loopback tramite proxy inverso può diventare non autenticato | gateway.auth.*, configurazione del proxy |
no |
gateway.trusted_proxies_missing |
avviso | Le intestazioni del proxy inverso sono presenti ma non considerate fidate | gateway.trustedProxies |
no |
gateway.http.no_auth |
avviso/critico | Le API HTTP del Gateway sono raggiungibili con auth.mode="none" |
gateway.auth.mode, gateway.http.endpoints.* |
no |
gateway.http.session_key_override_enabled |
informativo | I chiamanti dell'API HTTP possono sovrascrivere sessionKey |
gateway.http.allowSessionKeyOverride |
no |
gateway.tools_invoke_http.dangerous_allow |
avviso/critico | Riabilita strumenti pericolosi tramite API HTTP | gateway.tools.allow |
no |
gateway.nodes.allow_commands_dangerous |
avviso/critico | Abilita comandi dei nodi ad alto impatto (fotocamera/schermo/contatti/calendario/SMS) | gateway.nodes.allowCommands |
no |
gateway.nodes.deny_commands_ineffective |
avviso | Le voci di negazione simili a pattern non corrispondono al testo shell o ai gruppi | gateway.nodes.denyCommands |
no |
gateway.tailscale_funnel |
critico | Esposizione a Internet pubblico | gateway.tailscale.mode |
no |
gateway.tailscale_serve |
informativo | L'esposizione della tailnet è abilitata tramite Serve | gateway.tailscale.mode |
no |
gateway.control_ui.allowed_origins_required |
critico | UI di controllo non loopback senza allowlist esplicita delle origin del browser | gateway.controlUi.allowedOrigins |
no |
gateway.control_ui.allowed_origins_wildcard |
avviso/critico | allowedOrigins=["*"] disabilita l'allowlist delle origin del browser |
gateway.controlUi.allowedOrigins |
no |
gateway.control_ui.host_header_origin_fallback |
avviso/critico | Abilita il fallback dell'origin basato sull'intestazione Host (riduzione dell'irrobustimento contro DNS rebinding) | gateway.controlUi.dangerouslyAllowHostHeaderOriginFallback |
no |
gateway.control_ui.insecure_auth |
avviso | Toggle di compatibilità per auth non sicura abilitato | gateway.controlUi.allowInsecureAuth |
no |
gateway.control_ui.device_auth_disabled |
critico | Disabilita il controllo dell'identità del dispositivo | gateway.controlUi.dangerouslyDisableDeviceAuth |
no |
gateway.real_ip_fallback_enabled |
avviso/critico | Considerare fidato 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 | gateway.auth.token |
no |
gateway.auth_no_rate_limit |
avviso | Auth esposto senza limitazione della frequenza aumenta il rischio di forza bruta | gateway.auth.rateLimit |
no |
gateway.trusted_proxy_auth |
critico | L'identità del proxy diventa ora il confine di auth | gateway.auth.mode="trusted-proxy" |
no |
gateway.trusted_proxy_no_proxies |
critico | Auth trusted-proxy senza IP di proxy fidati non è sicuro | gateway.trustedProxies |
no |
gateway.trusted_proxy_no_user_header |
critico | Auth trusted-proxy non può risolvere l'identità utente in modo sicuro | gateway.auth.trustedProxy.userHeader |
no |
gateway.trusted_proxy_no_allowlist |
avviso | Auth trusted-proxy accetta qualsiasi utente upstream autenticato | gateway.auth.trustedProxy.allowUsers |
no |
gateway.trusted_proxy_allow_loopback |
warn | L'autenticazione trusted-proxy accetta origini proxy loopback esplicitamente consentite | gateway.auth.trustedProxy.allowLoopback |
no |
gateway.probe_auth_secretref_unavailable |
warn | Il deep probe non è riuscito a risolvere gli auth SecretRef in questo percorso di comando | origine auth del deep-probe / disponibilità dei SecretRef | no |
gateway.probe_failed |
warn/critical | Il probe live del Gateway non è riuscito | raggiungibilità/auth del gateway | no |
discovery.mdns_full_mode |
warn/critical | La modalità completa mDNS pubblicizza i metadati cliPath/sshPort sulla rete locale |
discovery.mdns.mode, gateway.bind |
no |
config.insecure_or_dangerous_flags |
warn | Qualsiasi flag di debug non sicuro/pericoloso abilitato | più chiavi (vedi dettagli del finding) | no |
config.secrets.gateway_password_in_config |
warn | La password del Gateway è archiviata direttamente nella configurazione | gateway.auth.password |
no |
config.secrets.hooks_token_in_config |
warn | Il token bearer degli hook è archiviato 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ù semplice sull'ingresso degli hook | hooks.token |
no |
hooks.default_session_key_unset |
warn | Le esecuzioni dell'agente hook si distribuiscono in sessioni per richiesta generate | 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 alle forme delle chiavi di sessione esterne | hooks.allowedSessionKeyPrefixes |
no |
hooks.path_root |
critical | Il percorso hook è /, rendendo l'ingresso più facile da far collidere o instradare male |
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 degli hook | no |
hooks.installs_missing_integrity |
warn | I record di installazione degli hook non hanno metadati di integrità | metadati di installazione degli hook | no |
hooks.installs_version_drift |
warn | I record di installazione degli hook divergono dai pacchetti installati | metadati di installazione degli hook | no |
logging.redact_off |
warn | Valori sensibili trapelano nei log/stati | logging.redactSensitive |
yes |
browser.control_invalid_config |
warn | La configurazione del controllo browser non è valida prima del runtime | browser.* |
no |
browser.control_no_auth |
critical | Controllo browser esposto senza autenticazione tramite token/password | gateway.auth.* |
no |
browser.remote_cdp_http |
warn | CDP remoto su HTTP in chiaro privo di crittografia del trasporto | profilo browser cdpUrl |
no |
browser.remote_cdp_private_host |
warn | CDP remoto punta a un host privato/interno | profilo browser cdpUrl, browser.ssrfPolicy.* |
no |
sandbox.docker_config_mode_off |
warn | Configurazione Docker della sandbox presente ma inattiva | agents.*.sandbox.mode |
no |
sandbox.bind_mount_non_absolute |
warn | I mount bind relativi possono essere risolti in modo imprevedibile | agents.*.sandbox.docker.binds[] |
no |
sandbox.dangerous_bind_mount |
critical | Il mount bind della sandbox punta a percorsi di sistema, credenziali o socket Docker bloccati | agents.*.sandbox.docker.binds[] |
no |
sandbox.dangerous_network_mode |
critical | La rete Docker della sandbox usa host o la modalità namespace-join container:* |
agents.*.sandbox.docker.network |
no |
sandbox.dangerous_seccomp_profile |
critical | Il profilo seccomp della sandbox indebolisce l'isolamento del container | agents.*.sandbox.docker.securityOpt |
no |
sandbox.dangerous_apparmor_profile |
critical | Il profilo AppArmor della sandbox indebolisce l'isolamento del container | agents.*.sandbox.docker.securityOpt |
no |
sandbox.browser_cdp_bridge_unrestricted |
warn | Il bridge browser della sandbox è esposto senza restrizione dell'intervallo di origine | sandbox.browser.cdpSourceRange |
no |
sandbox.browser_container.non_loopback_publish |
critical | Il container browser esistente pubblica CDP su interfacce non loopback | configurazione publish del container sandbox del browser | no |
sandbox.browser_container.hash_label_missing |
warn | Il container browser esistente precede le etichette hash di configurazione correnti | openclaw sandbox recreate --browser --all |
no |
sandbox.browser_container.hash_epoch_stale |
warn | Il container browser esistente precede l'epoca di configurazione browser corrente | openclaw sandbox recreate --browser --all |
no |
tools.exec.host_sandbox_no_sandbox_defaults |
warn | exec host=sandbox fallisce in modalità chiusa quando la sandbox è disattivata |
tools.exec.host, agents.defaults.sandbox.mode |
no |
tools.exec.host_sandbox_no_sandbox_agents |
warn | exec host=sandbox per agente fallisce in modalità chiusa quando la sandbox è disattivata |
agents.list[].tools.exec.host, agents.list[].sandbox.mode |
no |
tools.exec.security_full_configured |
warn/critical | L'esecuzione host è in esecuzione con security="full" |
tools.exec.security, agents.list[].tools.exec.security |
no |
tools.exec.fs_tools_disabled_but_exec_enabled |
warn | La policy degli strumenti del filesystem non rende l'esecuzione della shell di sola lettura | tools.deny, agents.list[].tools.deny, agents.*.sandbox.workspaceAccess |
no |
tools.exec.auto_allow_skills_enabled |
warn | Le approvazioni exec considerano attendibili implicitamente i bin di skill | ~/.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 approvazioni exec |
no |
tools.exec.safe_bins_interpreter_unprofiled |
warn | 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 |
warn | Gli strumenti a comportamento ampio in safeBins indeboliscono il modello di fiducia a basso rischio con 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 dell'area di lavoro viene risolto fuori dalla radice dell'area di lavoro (deriva della catena di symlink) |
stato del filesystem skills/** dell'area di lavoro |
no |
plugins.extensions_no_allowlist |
avviso | I Plugin sono installati senza una lista consentiti esplicita per i Plugin | plugins.allowlist |
no |
plugins.installs_unpinned_npm_specs |
avviso | I record dell'indice dei Plugin non sono fissati a specifiche npm immutabili | metadati di installazione dei Plugin | no |
plugins.installs_missing_integrity |
avviso | I record dell'indice dei Plugin non hanno metadati di integrità | metadati di installazione dei Plugin | no |
plugins.installs_version_drift |
avviso | I record dell'indice dei Plugin divergono dai pacchetti installati | metadati di installazione dei Plugin | no |
plugins.code_safety |
avviso/critico | La scansione del codice del Plugin ha trovato pattern sospetti o pericolosi | codice del Plugin / origine dell'installazione | no |
plugins.code_safety.entry_path |
avviso | Il percorso di ingresso del Plugin punta a posizioni nascoste o node_modules |
entry del manifesto del Plugin |
no |
plugins.code_safety.entry_escape |
critico | L'ingresso del Plugin esce dalla directory del Plugin | entry del manifesto del Plugin |
no |
plugins.code_safety.scan_failed |
avviso | La scansione del codice del Plugin non è stata completata | percorso del Plugin / ambiente di scansione | no |
skills.code_safety |
avviso/critico | I metadati/il codice dell'installer delle Skills contiene pattern sospetti o pericolosi | origine di installazione della skill | no |
skills.code_safety.scan_failed |
avviso | La scansione del codice della skill non è stata completata | ambiente di scansione della skill | no |
security.exposure.open_channels_with_exec |
avviso/critico | 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 |
critico | 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 |
critico/avviso | I gruppi aperti possono raggiungere strumenti di comando/file senza protezioni di sandbox/workspace | channels.*.groupPolicy, tools.profile/deny, tools.fs.workspaceOnly, agents.*.sandbox.mode |
no |
security.trust_model.multi_user_heuristic |
avviso | La configurazione sembra multiutente mentre il modello di fiducia del Gateway è da assistente personale | separare i confini di fiducia, oppure rafforzamento per utente condiviso (sandbox.mode, negazione degli strumenti/ambito del workspace) |
no |
tools.profile_minimal_overridden |
avviso | Gli override degli agenti aggirano il profilo minimale globale | agents.list[].tools.profile |
no |
plugins.tools_reachable_permissive_policy |
avviso | Gli strumenti dell'estensione sono raggiungibili in contesti permissivi | tools.profile + consenti/nega strumenti |
no |
models.legacy |
avviso | Famiglie di modelli legacy sono ancora configurate | selezione del modello | no |
models.weak_tier |
avviso | I modelli configurati sono al di sotto dei livelli attualmente consigliati | selezione del modello | no |
models.small_params |
critico/info | Modelli piccoli + superfici di strumenti non sicure aumentano il rischio di injection | scelta del modello + criteri di sandbox/strumenti | no |
summary.attack_surface |
info | Riepilogo complessivo della postura di auth, canale, strumenti ed esposizione | più chiavi (vedi dettaglio della segnalazione) | no |