fs.state_dir.perms_world_writable | critica | Altri utenti/processi possono modificare l’intero stato di OpenClaw | permessi del file system su ~/.openclaw | sì |
fs.state_dir.perms_group_writable | avviso | Gli utenti del gruppo possono modificare l’intero stato di OpenClaw | permessi del file system su ~/.openclaw | sì |
fs.state_dir.perms_readable | avviso | La directory di stato è leggibile da altri | permessi del file system su ~/.openclaw | sì |
fs.state_dir.symlink | avviso | La destinazione della directory di stato diventa un ulteriore confine di attendibilità | struttura del file system della directory di stato | no |
fs.config.perms_writable | critica | Altri possono modificare autenticazione, criteri degli strumenti e configurazione | permessi del file system su ~/.openclaw/openclaw.json | sì |
fs.config.symlink | avviso | I file di configurazione collegati simbolicamente non supportano la scrittura e aggiungono un ulteriore confine di attendibilità | sostituire con un normale file di configurazione o impostare OPENCLAW_CONFIG_PATH sul file reale | no |
fs.config.perms_group_readable | avviso | Gli utenti del gruppo possono leggere token e impostazioni della configurazione | permessi del file system sul file di configurazione | sì |
fs.config.perms_world_readable | critica | La configurazione può esporre token e impostazioni | permessi del file system sul file di configurazione | sì |
fs.config_include.perms_writable | critica | Il file incluso nella configurazione può essere modificato da altri | permessi del file incluso a cui fa riferimento openclaw.json | sì |
fs.config_include.perms_group_readable | avviso | Gli utenti del gruppo possono leggere segreti e impostazioni inclusi | permessi del file incluso a cui fa riferimento openclaw.json | sì |
fs.config_include.perms_world_readable | critica | I segreti e le impostazioni inclusi sono leggibili da chiunque | permessi del file incluso a cui fa riferimento openclaw.json | sì |
fs.auth_profiles.perms_writable | critica | Altri possono inserire 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 | critica | Altri possono modificare lo stato di associazione e delle credenziali dei canali | permessi del file system su ~/.openclaw/credentials | sì |
fs.credentials_dir.perms_readable | avviso | Altri possono leggere lo stato delle credenziali dei canali | permessi del file system su ~/.openclaw/credentials | sì |
fs.sessions_store.perms_readable | avviso | Altri possono leggere trascrizioni e metadati delle sessioni | permessi dell’archivio delle sessioni | sì |
fs.log_file.perms_readable | avviso | Altri possono leggere registri oscurati ma comunque sensibili | permessi del file di registro del Gateway | sì |
fs.synced_dir | avviso | Lo stato o la configurazione in iCloud/Dropbox/Drive ampliano l’esposizione di token e trascrizioni | spostare configurazione e stato fuori dalle cartelle sincronizzate | no |
gateway.bind_no_auth | critica | Associazione remota senza segreto condiviso | gateway.bind, gateway.auth.* | no |
gateway.loopback_no_auth | critica | Il local loopback tramite proxy inverso potrebbe diventare privo di autenticazione | gateway.auth.*, configurazione del proxy | no |
gateway.trusted_proxies_missing | avviso | Le intestazioni del proxy inverso sono presenti ma non sono considerate 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.*, plugins.entries.admin-http-rpc | 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 l’API HTTP per i chiamanti proprietari/amministratori | gateway.tools.allow | no |
gateway.nodes.allow_commands_dangerous | avviso/critica | Abilita comandi Node ad alto impatto (input desktop/fotocamera/schermo/contatti/calendario/SMS) | gateway.nodes.allowCommands | no |
gateway.nodes.deny_commands_ineffective | avviso | Le voci di esclusione simili a modelli non corrispondono al testo della shell o ai gruppi | gateway.nodes.denyCommands | no |
gateway.tailscale_funnel | critica | Esposizione alla rete Internet pubblica | 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 | UI di controllo non su local loopback senza un elenco esplicito delle origini del browser consentite | gateway.controlUi.allowedOrigins | no |
gateway.control_ui.allowed_origins_wildcard | avviso/critica | allowedOrigins=["*"] disabilita l’elenco delle origini del browser consentite | gateway.controlUi.allowedOrigins | no |
gateway.control_ui.host_header_origin_fallback | avviso/critica | Abilita il ripiego sull’origine basata sull’intestazione Host, riducendo la protezione contro il rebinding DNS | gateway.controlUi.dangerouslyAllowHostHeaderOriginFallback | no |
gateway.control_ui.insecure_auth | avviso | L’opzione di compatibilità per l’autenticazione non sicura è abilitata | gateway.controlUi.allowInsecureAuth | no |
gateway.control_ui.device_auth_disabled | critica | Disabilita la verifica dell’identità del dispositivo | gateway.controlUi.dangerouslyDisableDeviceAuth | no |
gateway.real_ip_fallback_enabled | avviso/critica | Considerare attendibile il ripiego su X-Real-IP può consentire la falsificazione dell’IP di origine tramite un’errata configurazione del proxy | gateway.allowRealIpFallback, gateway.trustedProxies | no |
gateway.token_too_short | avviso | Un token condiviso breve è più facile da violare con un attacco di forza bruta | gateway.auth.token | no |
gateway.auth_no_rate_limit | avviso | L’autenticazione esposta senza limitazione della frequenza aumenta il rischio di attacchi di forza bruta | gateway.auth.rateLimit | no |
gateway.trusted_proxy_auth | critica | L’identità del proxy diventa il confine di autenticazione | gateway.auth.mode="trusted-proxy" | no |
gateway.trusted_proxy_no_proxies | critica | L’autenticazione tramite proxy attendibile senza IP di proxy attendibili non è sicura | gateway.trustedProxies | no |
gateway.trusted_proxy_no_user_header | critico | L’autenticazione tramite proxy attendibile non può determinare in modo sicuro l’identità dell’utente | gateway.auth.trustedProxy.userHeader | no |
gateway.trusted_proxy_no_allowlist | avviso | L’autenticazione tramite proxy attendibile accetta qualsiasi utente autenticato a monte | gateway.auth.trustedProxy.allowUsers | no |
gateway.trusted_proxy_allow_loopback | avviso | L’autenticazione tramite proxy attendibile accetta origini proxy loopback esplicitamente consentite | gateway.auth.trustedProxy.allowLoopback | no |
gateway.probe_auth_secretref_unavailable | avviso | Il controllo approfondito non ha potuto risolvere i SecretRef di autenticazione in questo percorso del comando | origine dell’autenticazione del controllo approfondito / disponibilità dei SecretRef | no |
gateway.probe_failed | avviso | Il controllo in tempo reale del Gateway non è riuscito (solo --deep) | 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 | È abilitato un flag di debug non sicuro/pericoloso | chiave indicata nei dettagli del rilevamento | no |
security.audit.suppressions.active | info | L’output dell’audit contiene esclusioni configurate e potrebbe essere filtrato | security.audit.suppressions | 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 consente anche l’accesso all’autenticazione del Gateway | hooks.token, gateway.auth.token, gateway.auth.password | no |
hooks.token_too_short | avviso | L’ingresso dell’hook è più vulnerabile agli attacchi di forza bruta | hooks.token | no |
hooks.default_session_key_unset | avviso | Le esecuzioni dell’agente dell’hook si distribuiscono in sessioni generate per ogni richiesta | hooks.defaultSessionKey | no |
hooks.allowed_agent_ids_unrestricted | avviso/critico | I chiamanti autenticati dell’hook possono instradare le richieste a 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 | Non esistono limiti alle forme delle chiavi di sessione esterne | hooks.allowedSessionKeyPrefixes | no |
hooks.path_root | critico | Il percorso dell’hook è /, rendendo più probabili collisioni o instradamenti errati dell’ingresso | 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 contengono metadati di integrità | metadati di installazione degli hook | no |
hooks.installs_version_drift | avviso | I record di installazione degli hook non corrispondono più ai pacchetti installati | metadati di installazione degli hook | no |
logging.redact_off | avviso | I valori sensibili vengono esposti nei log/nello stato | logging.redactSensitive | sì |
browser.control_invalid_config | avviso | La configurazione del controllo del browser non è valida prima dell’esecuzione | browser.* | no |
browser.control_no_auth | critico | Il controllo del browser è esposto senza autenticazione tramite token/password | gateway.auth.* | no |
browser.remote_cdp_http | avviso | Il CDP remoto tramite HTTP non cifrato non dispone della crittografia del trasporto | cdpUrl del profilo del browser | no |
browser.remote_cdp_private_host | avviso | Il CDP remoto è indirizzato a un host privato/interno | cdpUrl del profilo del browser, browser.ssrfPolicy.* | no |
sandbox.docker_config_mode_off | avviso | La configurazione Docker della sandbox è presente ma non attiva | agents.*.sandbox.mode | no |
sandbox.bind_mount_non_absolute | avviso | I montaggi bind relativi possono essere risolti in modo imprevedibile | agents.*.sandbox.docker.binds[] | no |
sandbox.dangerous_bind_mount | critico | Il montaggio 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 la modalità di condivisione dello spazio dei nomi host o container:* | agents.*.sandbox.docker.network | no |
sandbox.dangerous_seccomp_profile | critico | Il profilo seccomp della sandbox indebolisce l’isolamento del contenitore | agents.*.sandbox.docker.securityOpt | no |
sandbox.dangerous_apparmor_profile | critico | Il profilo AppArmor della sandbox indebolisce l’isolamento del contenitore | agents.*.sandbox.docker.securityOpt | no |
sandbox.browser_cdp_bridge_unrestricted | avviso | Il bridge del browser della sandbox è esposto senza restrizioni sull’intervallo di origine | sandbox.browser.cdpSourceRange | no |
sandbox.browser_container.non_loopback_publish | critico | Il contenitore del browser esistente pubblica il CDP su interfacce non loopback | configurazione di pubblicazione del contenitore sandbox del browser | no |
sandbox.browser_container.hash_label_missing | avviso | Il contenitore del browser esistente è precedente alle attuali etichette hash della configurazione | openclaw sandbox recreate --browser --all | no |
sandbox.browser_container.hash_epoch_stale | avviso | Il contenitore del browser esistente è precedente all’attuale epoca di configurazione del browser | openclaw sandbox recreate --browser --all | no |
sandbox.browser_container.docker_probe_timeout | avviso | Il controllo delle etichette Docker per il contenitore del browser è scaduto | raggiungibilità del daemon Docker | no |
tools.exec.host_sandbox_no_sandbox_defaults | avviso | exec host=sandbox nega l’esecuzione quando la sandbox è disattivata | tools.exec.host, agents.defaults.sandbox.mode | no |
tools.exec.host_sandbox_no_sandbox_agents | avviso | exec host=sandbox per singolo agente nega l’esecuzione quando la sandbox è disattivata | agents.list[].tools.exec.host, agents.list[].sandbox.mode | no |
tools.exec.security_full_configured | avviso/critico | L’esecuzione sull’host è in funzione con security="full" | tools.exec.security, agents.list[].tools.exec.security | no |
tools.exec.agent_skill_mcp_boundary_drift | avviso | Sono presenti elenchi di autorizzazione delle Skills dell’agente mentre l’esecuzione sull’host può raggiungere client/registri MCP | agents.list[].tools.exec.*, isolamento sandbox/sistema operativo, credenziali del server MCP | no |
tools.exec.fs_tools_disabled_but_exec_enabled | avviso | 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 | avviso | Le approvazioni di esecuzione considerano implicitamente attendibili i binari delle Skills | file delle approvazioni dell’host | no |
tools.exec.allowlist_interpreter_without_strict_inline_eval | avviso | Le liste consentite degli interpreti permettono la valutazione inline senza imporre una nuova approvazione | tools.exec.strictInlineEval, agents.list[].tools.exec.strictInlineEval, lista consentita delle approvazioni di esecuzione | no |
tools.exec.safe_bins_interpreter_unprofiled | avviso | I binari di interpreti/runtime in safeBins privi di profili espliciti ampliano il rischio di esecuzione | tools.exec.safeBins, tools.exec.safeBinProfiles, agents.list[].tools.exec.* | no |
tools.exec.safe_bins_broad_behavior | avviso | Gli strumenti con comportamento ampio in safeBins indeboliscono il modello di attendibilità a basso rischio del 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 |
tools.elevated.allowFrom.<provider>.wildcard | critico | tools.elevated.allowFrom.<provider> include "*", approvando ogni mittente | tools.elevated.allowFrom.<provider> | no |
tools.elevated.allowFrom.<provider>.large | avviso | La lista consentita con privilegi elevati per <provider> contiene più di 25 voci | tools.elevated.allowFrom.<provider> | no |
agents.claude_cli.permission_mode_overridden_by_yolo | avviso | --permission-mode di Claude CLI viene ignorato perché l’esecuzione di OpenClaw è completamente non presidiata | argomenti di tools.exec.security, tools.exec.ask, cliBackends.claude-cli | no |
skills.workspace.symlink_escape | avviso | skills/**/SKILL.md dell’area di lavoro viene risolto fuori dalla radice dell’area di lavoro (deriva della catena di collegamenti simbolici) | stato del filesystem di skills/** nell’area di lavoro | no |
skills.workspace.scan_truncated | avviso | La scansione delle Skills nell’area di lavoro ha raggiunto il limite di directory visitate prima di terminare | appiattire/semplificare l’albero delle directory skills/ dell’area di lavoro | no |
plugins.extensions_no_allowlist | avviso | I Plugin sono installati senza una lista consentita esplicita dei Plugin | plugins.allowlist | no |
plugins.allow_phantom_entries | avviso | plugins.allow elenca un ID senza alcun Plugin installato corrispondente | plugins.allow | no |
plugins.installs_unpinned_npm_specs | avviso | I record dell’indice dei Plugin non sono vincolati a specifiche npm immutabili | metadati di installazione del Plugin | no |
plugins.installs_missing_integrity | avviso | I record dell’indice dei Plugin non contengono metadati di integrità | metadati di installazione del Plugin | no |
plugins.installs_version_drift | avviso | I record dell’indice dei Plugin non corrispondono più ai pacchetti installati | metadati di installazione del Plugin | no |
plugins.code_safety | avviso/critico | La scansione del codice dei Plugin ha rilevato pattern sospetti o pericolosi (solo --deep) | codice del Plugin / origine dell’installazione | no |
plugins.code_safety.entry_path | avviso | 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 | critico | Il percorso di ingresso del Plugin esce dalla directory del Plugin | entry del manifesto del Plugin | no |
plugins.code_safety.manifest_parse_error | avviso | Non è stato possibile analizzare il manifesto del Plugin durante la scansione di sicurezza del codice | file del manifesto del Plugin | no |
plugins.code_safety.scan_failed | avviso | Non è stato possibile completare la scansione del codice del Plugin (solo --deep) | percorso del Plugin / ambiente di scansione | no |
plugins.<pluginId>.security_audit_failed | avviso | Un raccoglitore di audit di sicurezza gestito da un Plugin ha generato un errore | raccoglitore di audit di sicurezza di tale Plugin | no |
skills.code_safety | avviso/critico | I metadati o il codice del programma di installazione delle Skills contengono pattern sospetti o pericolosi (solo --deep) | origine dell’installazione della Skill | no |
skills.code_safety.scan_failed | avviso | Non è stato possibile completare la scansione del codice della Skill (solo --deep) | ambiente di scansione della Skill | no |
security.exposure.open_channels_with_exec | avviso/critico | Le stanze condivise/pubbliche possono raggiungere agenti abilitati all’esecuzione | channels.*.dmPolicy, channels.*.groupPolicy, tools.exec.*, agents.list[].tools.exec.* | no |
security.exposure.open_groups_with_elevated | critico | I messaggi diretti/gruppi aperti e gli strumenti con privilegi elevati creano percorsi di prompt injection ad alto impatto | percorsi della policy dei messaggi diretti di primo livello o annidati, sostituzioni degli account, channels.*.groupPolicy | no |
security.exposure.open_groups_with_runtime_or_fs | critico/avviso | I messaggi diretti/gruppi aperti possono raggiungere strumenti per comandi/file senza protezioni della sandbox/area di lavoro | percorsi delle policy dei messaggi diretti/gruppi, tools.profile/deny, tools.fs.workspaceOnly, agents.*.sandbox.mode | no |
security.exposure.open_groups_with_control_plane_tools | critico | I messaggi diretti/gruppi aperti possono raggiungere gli strumenti del piano di controllo di Gateway/Cron | percorsi delle policy dei messaggi diretti/gruppi, tools.allow, tools.alsoAllow, tools.profile, gateway, cron | no |
security.trust_model.multi_user_heuristic | avviso | La configurazione sembra multiutente, mentre il modello di attendibilità del Gateway è quello di un assistente personale | separare i confini di attendibilità o rafforzare la sicurezza per utenti condivisi (sandbox.mode, negazione degli strumenti/definizione dell’ambito dell’area di lavoro) | no |
tools.profile_minimal_overridden | avviso | Le sostituzioni degli agenti aggirano il profilo minimo globale | agents.list[].tools.profile | no |
plugins.tools_reachable_permissive_policy | avviso | Gli strumenti delle estensioni sono raggiungibili in contesti permissivi | tools.profile + autorizzazione/negazione degli strumenti | no |
models.legacy | avviso | Sono ancora configurate famiglie di modelli obsolete | selezione del modello | no |
models.weak_tier | avviso | I modelli configurati sono inferiori ai livelli attualmente consigliati | selezione del modello | no |
models.small_params | critico/informativo | I modelli piccoli e le superfici degli strumenti non sicure aumentano il rischio di injection | scelta del modello + policy della sandbox/degli strumenti | no |
channels.<provider>.dm.open | critico | La policy dei messaggi diretti di <provider> è "open"; chiunque può inviare messaggi diretti al bot | channels.<provider>.dmPolicy, .allowFrom | no |
channels.<provider>.dm.open_invalid | avviso | dmPolicy="open" senza "*" in allowFrom non è coerente | channels.<provider>.allowFrom | no |
channels.<provider>.dm.scope_main_multiuser | avviso | Più mittenti di messaggi diretti condividono attualmente la sessione principale | session.dmScope | no |
channels.<provider>.allowFrom.dangerous_name_matching_enabled | informativo | dangerouslyAllowNameMatching riabilita la corrispondenza dei mittenti basata su nomi/e-mail/tag modificabili | disabilitare dangerouslyAllowNameMatching, utilizzare ID mittente stabili | no |
channels.<provider>.account.read_only_resolution | avviso | Non è stato possibile risolvere completamente un account del canale per l’audit (segreto/Gateway mancante) | assicurarsi che i segreti referenziati siano risolvibili oppure eseguire su un’istantanea di un Gateway attivo | no |
channels.<provider>.warning.<n> | informativo/avviso/critico | Avviso di sicurezza specifico del provider, classificato a partire dal testo libero del Plugin | vedere i dettagli del risultato | no |
summary.attack_surface | info | Riepilogo aggregato della configurazione di autenticazione, canali, strumenti ed esposizione | più chiavi (vedere i dettagli del rilevamento) | no |