Skip to content

openclaw security auditcheckId로 키가 지정된 구조화된 finding을 방출합니다. 이 페이지는 해당 ID에 대한 참조 카탈로그입니다. 상위 수준의 위협 모델과 하드닝 가이드는 Security를 참조하세요.

실제 배포에서 가장 자주 보게 될 높은 신호의 checkId 값들입니다 (전체가 아닙니다):

checkId심각도왜 중요한가주요 fix 키/경로자동 수정
fs.state_dir.perms_world_writablecritical다른 사용자/프로세스가 전체 OpenClaw state를 수정할 수 있음~/.openclaw의 파일시스템 권한yes
fs.state_dir.perms_group_writablewarn그룹 사용자가 전체 OpenClaw state를 수정할 수 있음~/.openclaw의 파일시스템 권한yes
fs.state_dir.perms_readablewarnstate 디렉터리가 다른 사용자에게 읽을 수 있음~/.openclaw의 파일시스템 권한yes
fs.state_dir.symlinkwarnstate 디렉터리 대상이 또 다른 trust 경계가 됨state 디렉터리 파일시스템 레이아웃no
fs.config.perms_writablecritical다른 사용자가 auth/도구 정책/config를 변경할 수 있음~/.openclaw/openclaw.json의 파일시스템 권한yes
fs.config.symlinkwarn심볼릭 링크된 config 파일은 쓰기가 지원되지 않으며 또 다른 trust 경계를 추가함일반 config 파일로 교체하거나 OPENCLAW_CONFIG_PATH를 실제 파일로 지정no
fs.config.perms_group_readablewarn그룹 사용자가 config 토큰/설정을 읽을 수 있음config 파일의 파일시스템 권한yes
fs.config.perms_world_readablecriticalconfig가 토큰/설정을 노출할 수 있음config 파일의 파일시스템 권한yes
fs.config_include.perms_writablecriticalconfig include 파일이 다른 사용자에 의해 수정될 수 있음openclaw.json에서 참조된 include 파일 권한yes
fs.config_include.perms_group_readablewarn그룹 사용자가 포함된 시크릿/설정을 읽을 수 있음openclaw.json에서 참조된 include 파일 권한yes
fs.config_include.perms_world_readablecritical포함된 시크릿/설정이 전체에게 읽을 수 있음openclaw.json에서 참조된 include 파일 권한yes
fs.auth_profiles.perms_writablecritical다른 사용자가 저장된 모델 자격 증명을 주입하거나 교체할 수 있음agents/<agentId>/agent/auth-profiles.json 권한yes
fs.auth_profiles.perms_readablewarn다른 사용자가 API key와 OAuth 토큰을 읽을 수 있음agents/<agentId>/agent/auth-profiles.json 권한yes
fs.credentials_dir.perms_writablecritical다른 사용자가 채널 pairing/자격 증명 state를 수정할 수 있음~/.openclaw/credentials의 파일시스템 권한yes
fs.credentials_dir.perms_readablewarn다른 사용자가 채널 자격 증명 state를 읽을 수 있음~/.openclaw/credentials의 파일시스템 권한yes
fs.sessions_store.perms_readablewarn다른 사용자가 세션 transcript/메타데이터를 읽을 수 있음세션 store 권한yes
fs.log_file.perms_readablewarn다른 사용자가 redact되었지만 여전히 민감한 로그를 읽을 수 있음gateway 로그 파일 권한yes
fs.synced_dirwarniCloud/Dropbox/Drive의 state/config는 토큰/transcript 노출을 확대함config/state를 동기화 폴더 외부로 이동no
gateway.bind_no_authcritical공유 시크릿 없는 원격 bindgateway.bind, gateway.auth.*no
gateway.loopback_no_authcritical리버스 프록시된 루프백이 인증되지 않을 수 있음gateway.auth.*, 프록시 설정no
gateway.trusted_proxies_missingwarn리버스 프록시 헤더가 존재하지만 신뢰되지 않음gateway.trustedProxiesno
gateway.http.no_authwarn/criticalauth.mode="none"로 gateway HTTP API에 도달 가능gateway.auth.mode, gateway.http.endpoints.*no
gateway.http.session_key_override_enabledinfoHTTP API 호출자가 sessionKey를 재정의할 수 있음gateway.http.allowSessionKeyOverrideno
gateway.tools_invoke_http.dangerous_allowwarn/criticalHTTP API를 통해 위험한 도구를 다시 활성화함gateway.tools.allowno
gateway.nodes.allow_commands_dangerouswarn/critical영향력이 큰 node 명령(카메라/화면/연락처/캘린더/SMS)을 활성화함gateway.nodes.allowCommandsno
gateway.nodes.deny_commands_ineffectivewarn패턴 같은 deny 항목이 셸 텍스트 또는 그룹과 일치하지 않음gateway.nodes.denyCommandsno
gateway.tailscale_funnelcritical공용 인터넷 노출gateway.tailscale.modeno
gateway.tailscale_serveinfoServe를 통한 tailnet 노출이 활성화됨gateway.tailscale.modeno
gateway.control_ui.allowed_origins_requiredcritical명시적 브라우저 오리진 허용 목록 없이 비 루프백 Control UIgateway.controlUi.allowedOriginsno
gateway.control_ui.allowed_origins_wildcardwarn/criticalallowedOrigins=["*"]가 브라우저 오리진 허용 목록을 비활성화함gateway.controlUi.allowedOriginsno
gateway.control_ui.host_header_origin_fallbackwarn/criticalHost 헤더 오리진 폴백 활성화 (DNS rebinding 하드닝 다운그레이드)gateway.controlUi.dangerouslyAllowHostHeaderOriginFallbackno
gateway.control_ui.insecure_authwarn안전하지 않은 auth 호환성 토글이 활성화됨gateway.controlUi.allowInsecureAuthno
gateway.control_ui.device_auth_disabledcritical디바이스 ID 검사를 비활성화함gateway.controlUi.dangerouslyDisableDeviceAuthno
gateway.real_ip_fallback_enabledwarn/criticalX-Real-IP 폴백을 신뢰하면 프록시 구성 오류로 인한 소스 IP 스푸핑이 가능할 수 있음gateway.allowRealIpFallback, gateway.trustedProxiesno
gateway.token_too_shortwarn짧은 공유 토큰은 무차별 대입 공격에 더 취약함gateway.auth.tokenno
gateway.auth_no_rate_limitwarnrate limiting 없이 노출된 auth는 무차별 대입 공격 위험을 높임gateway.auth.rateLimitno
gateway.trusted_proxy_authcritical프록시 ID가 이제 auth 경계가 됨gateway.auth.mode="trusted-proxy"no
gateway.trusted_proxy_no_proxiescritical신뢰된 프록시 IP 없는 trusted-proxy auth는 안전하지 않음gateway.trustedProxiesno
gateway.trusted_proxy_no_user_headercriticaltrusted-proxy auth가 사용자 ID를 안전하게 확인할 수 없음gateway.auth.trustedProxy.userHeaderno
gateway.trusted_proxy_no_allowlistwarntrusted-proxy auth가 인증된 업스트림 사용자를 모두 수락함gateway.auth.trustedProxy.allowUsersno
gateway.probe_auth_secretref_unavailablewarndeep probe가 이 명령 경로에서 auth SecretRef를 확인할 수 없었음deep-probe auth 소스 / SecretRef 가용성no
gateway.probe_failedwarn/critical라이브 Gateway probe 실패gateway 도달성/authno
discovery.mdns_full_modewarn/criticalmDNS full 모드는 로컬 네트워크에 cliPath/sshPort 메타데이터를 광고함discovery.mdns.mode, gateway.bindno
config.insecure_or_dangerous_flagswarn안전하지 않거나 위험한 디버그 플래그가 활성화됨여러 키 (finding 상세 참조)no
config.secrets.gateway_password_in_configwarnGateway 비밀번호가 config에 직접 저장됨gateway.auth.passwordno
config.secrets.hooks_token_in_configwarn훅 bearer 토큰이 config에 직접 저장됨hooks.tokenno
hooks.token_reuse_gateway_tokencritical훅 ingress 토큰이 Gateway auth도 해제함hooks.token, gateway.auth.tokenno
hooks.token_too_shortwarn훅 ingress에 대한 무차별 대입이 더 쉬움hooks.tokenno
hooks.default_session_key_unsetwarn훅 에이전트 실행이 생성된 요청별 세션으로 팬아웃됨hooks.defaultSessionKeyno
hooks.allowed_agent_ids_unrestrictedwarn/critical인증된 훅 호출자가 구성된 모든 에이전트로 라우팅할 수 있음hooks.allowedAgentIdsno
hooks.request_session_key_enabledwarn/critical외부 호출자가 sessionKey를 선택할 수 있음hooks.allowRequestSessionKeyno
hooks.request_session_key_prefixes_missingwarn/critical외부 세션 키 모양에 제한이 없음hooks.allowedSessionKeyPrefixesno
hooks.path_rootcritical훅 경로가 /라서 ingress가 충돌하거나 잘못 라우팅되기 쉬움hooks.pathno
hooks.installs_unpinned_npm_specswarn훅 설치 레코드가 불변 npm spec에 고정되지 않음훅 설치 메타데이터no
hooks.installs_missing_integritywarn훅 설치 레코드에 무결성 메타데이터가 없음훅 설치 메타데이터no
hooks.installs_version_driftwarn훅 설치 레코드가 설치된 패키지와 드리프트됨훅 설치 메타데이터no
logging.redact_offwarn민감한 값이 로그/상태로 유출됨logging.redactSensitiveyes
browser.control_invalid_configwarn런타임 전에 브라우저 컨트롤 config가 유효하지 않음browser.*no
browser.control_no_authcritical토큰/비밀번호 auth 없이 브라우저 컨트롤이 노출됨gateway.auth.*no
browser.remote_cdp_httpwarn일반 HTTP를 통한 원격 CDP는 전송 암호화가 없음브라우저 프로필 cdpUrlno
browser.remote_cdp_private_hostwarn원격 CDP가 프라이빗/내부 호스트를 대상으로 함브라우저 프로필 cdpUrl, browser.ssrfPolicy.*no
sandbox.docker_config_mode_offwarnSandbox Docker config가 존재하지만 비활성 상태agents.*.sandbox.modeno
sandbox.bind_mount_non_absolutewarn상대 bind mount는 예측할 수 없게 해결될 수 있음agents.*.sandbox.docker.binds[]no
sandbox.dangerous_bind_mountcriticalSandbox bind mount가 차단된 시스템, 자격 증명 또는 Docker 소켓 경로를 대상으로 함agents.*.sandbox.docker.binds[]no
sandbox.dangerous_network_modecriticalSandbox Docker 네트워크가 host 또는 container:* 네임스페이스 조인 모드를 사용함agents.*.sandbox.docker.networkno
sandbox.dangerous_seccomp_profilecriticalSandbox seccomp 프로필이 컨테이너 격리를 약화시킴agents.*.sandbox.docker.securityOptno
sandbox.dangerous_apparmor_profilecriticalSandbox AppArmor 프로필이 컨테이너 격리를 약화시킴agents.*.sandbox.docker.securityOptno
sandbox.browser_cdp_bridge_unrestrictedwarnSandbox 브라우저 브리지가 소스 범위 제한 없이 노출됨sandbox.browser.cdpSourceRangeno
sandbox.browser_container.non_loopback_publishcritical기존 브라우저 컨테이너가 비 루프백 인터페이스에서 CDP를 게시함브라우저 sandbox 컨테이너 publish 구성no
sandbox.browser_container.hash_label_missingwarn기존 브라우저 컨테이너가 현재 config-hash 레이블보다 오래됨openclaw sandbox recreate --browser --allno
sandbox.browser_container.hash_epoch_stalewarn기존 브라우저 컨테이너가 현재 브라우저 config epoch보다 오래됨openclaw sandbox recreate --browser --allno
tools.exec.host_sandbox_no_sandbox_defaultswarnsandbox가 꺼져 있을 때 exec host=sandbox가 차단됨tools.exec.host, agents.defaults.sandbox.modeno
tools.exec.host_sandbox_no_sandbox_agentswarnsandbox가 꺼져 있을 때 에이전트별 exec host=sandbox가 차단됨agents.list[].tools.exec.host, agents.list[].sandbox.modeno
tools.exec.security_full_configuredwarn/critical호스트 exec가 security="full"로 실행 중tools.exec.security, agents.list[].tools.exec.securityno
tools.exec.auto_allow_skills_enabledwarnExec 승인이 skill bin을 암묵적으로 신뢰함~/.openclaw/exec-approvals.jsonno
tools.exec.allowlist_interpreter_without_strict_inline_evalwarnInterpreter 허용 목록이 강제 재승인 없이 인라인 eval을 허용함tools.exec.strictInlineEval, agents.list[].tools.exec.strictInlineEval, exec 승인 허용 목록no
tools.exec.safe_bins_interpreter_unprofiledwarnsafeBins의 interpreter/런타임 bin에 명시적 프로필이 없어 exec 위험을 확대함tools.exec.safeBins, tools.exec.safeBinProfiles, agents.list[].tools.exec.*no
tools.exec.safe_bins_broad_behaviorwarnsafeBins의 broad-behavior 도구가 저위험 stdin 필터 신뢰 모델을 약화시킴tools.exec.safeBins, agents.list[].tools.exec.safeBinsno
tools.exec.safe_bin_trusted_dirs_riskywarnsafeBinTrustedDirs에 변경 가능하거나 위험한 디렉터리가 포함됨tools.exec.safeBinTrustedDirs, agents.list[].tools.exec.safeBinTrustedDirsno
skills.workspace.symlink_escapewarnworkspace skills/**/SKILL.md가 workspace 루트 밖으로 해결됨 (심볼릭 링크 체인 드리프트)workspace skills/** 파일시스템 상태no
plugins.extensions_no_allowlistwarn명시적인 플러그인 허용 목록 없이 플러그인이 설치됨plugins.allowlistno
plugins.installs_unpinned_npm_specswarn플러그인 설치 레코드가 불변 npm spec에 고정되지 않음플러그인 설치 메타데이터no
plugins.installs_missing_integritywarn플러그인 설치 레코드에 무결성 메타데이터가 없음플러그인 설치 메타데이터no
plugins.installs_version_driftwarn플러그인 설치 레코드가 설치된 패키지와 드리프트됨플러그인 설치 메타데이터no
plugins.code_safetywarn/critical플러그인 코드 스캔에서 의심스럽거나 위험한 패턴이 발견됨플러그인 코드 / 설치 소스no
plugins.code_safety.entry_pathwarn플러그인 entry 경로가 숨겨진 위치 또는 node_modules 위치를 가리킴플러그인 manifest entryno
plugins.code_safety.entry_escapecritical플러그인 entry가 플러그인 디렉터리를 벗어남플러그인 manifest entryno
plugins.code_safety.scan_failedwarn플러그인 코드 스캔이 완료되지 못함플러그인 경로 / 스캔 환경no
skills.code_safetywarn/criticalSkill 설치 관리자 메타데이터/코드에 의심스럽거나 위험한 패턴이 포함됨skill 설치 소스no
skills.code_safety.scan_failedwarnSkill 코드 스캔이 완료되지 못함skill 스캔 환경no
security.exposure.open_channels_with_execwarn/critical공유/공개 방이 exec이 활성화된 에이전트에 도달할 수 있음channels.*.dmPolicy, channels.*.groupPolicy, tools.exec.*, agents.list[].tools.exec.*no
security.exposure.open_groups_with_elevatedcritical오픈 그룹 + 상승된 도구가 높은 영향의 prompt-injection 경로를 만듦channels.*.groupPolicy, tools.elevated.*no
security.exposure.open_groups_with_runtime_or_fscritical/warn오픈 그룹이 sandbox/workspace 가드 없이 명령/파일 도구에 도달할 수 있음channels.*.groupPolicy, tools.profile/deny, tools.fs.workspaceOnly, agents.*.sandbox.modeno
security.trust_model.multi_user_heuristicwarngateway 신뢰 모델이 personal-assistant인데 config가 멀티유저처럼 보임trust 경계 분리, 또는 shared-user 하드닝 (sandbox.mode, 도구 deny/workspace 스코핑`)no
tools.profile_minimal_overriddenwarn에이전트 재정의가 전역 minimal 프로필을 우회함agents.list[].tools.profileno
plugins.tools_reachable_permissive_policywarn확장 도구가 허용적인 컨텍스트에서 도달 가능tools.profile + 도구 allow/denyno
models.legacywarn레거시 모델 패밀리가 여전히 구성됨모델 선택no
models.weak_tierwarn구성된 모델이 현재 권장 tier보다 낮음모델 선택no
models.small_paramscritical/info작은 모델 + 안전하지 않은 도구 표면이 injection 위험을 높임모델 선택 + sandbox/도구 정책no
summary.attack_surfaceinfoauth, 채널, 도구, 노출 태세에 대한 롤업 요약여러 키 (finding 상세 참조)no