fs.state_dir.perms_world_writable | critical | 다른 사용자/프로세스가 전체 OpenClaw 상태를 수정할 수 있음 | ~/.openclaw의 파일시스템 권한 | yes |
fs.state_dir.perms_group_writable | warn | 같은 그룹의 사용자가 전체 OpenClaw 상태를 수정할 수 있음 | ~/.openclaw의 파일시스템 권한 | yes |
fs.state_dir.perms_readable | warn | 상태 디렉터리를 다른 사용자가 읽을 수 있음 | ~/.openclaw의 파일시스템 권한 | yes |
fs.state_dir.symlink | warn | 상태 디렉터리 대상이 또 다른 신뢰 경계가 됨 | 상태 디렉터리 파일시스템 레이아웃 | no |
fs.config.perms_writable | critical | 다른 사용자가 인증/도구 정책/config를 변경할 수 있음 | ~/.openclaw/openclaw.json의 파일시스템 권한 | yes |
fs.config.symlink | warn | 심볼릭 링크된 config 파일은 쓰기에 지원되지 않으며 또 다른 신뢰 경계를 추가함 | 일반 config 파일로 교체하거나 OPENCLAW_CONFIG_PATH를 실제 파일로 지정 | no |
fs.config.perms_group_readable | warn | 같은 그룹의 사용자가 config 토큰/설정을 읽을 수 있음 | config 파일의 파일시스템 권한 | yes |
fs.config.perms_world_readable | critical | config가 토큰/설정을 노출할 수 있음 | config 파일의 파일시스템 권한 | yes |
fs.config_include.perms_writable | critical | config include 파일을 다른 사용자가 수정할 수 있음 | openclaw.json에서 참조하는 include 파일의 권한 | yes |
fs.config_include.perms_group_readable | warn | 같은 그룹의 사용자가 포함된 비밀/설정을 읽을 수 있음 | openclaw.json에서 참조하는 include 파일의 권한 | yes |
fs.config_include.perms_world_readable | critical | 포함된 비밀/설정이 모든 사용자에게 읽기 가능함 | openclaw.json에서 참조하는 include 파일의 권한 | yes |
fs.auth_profiles.perms_writable | critical | 다른 사용자가 저장된 모델 자격 증명을 주입하거나 교체할 수 있음 | agents/<agentId>/agent/auth-profiles.json 권한 | yes |
fs.auth_profiles.perms_readable | warn | 다른 사용자가 API 키와 OAuth 토큰을 읽을 수 있음 | agents/<agentId>/agent/auth-profiles.json 권한 | yes |
fs.credentials_dir.perms_writable | critical | 다른 사용자가 채널 페어링/자격 증명 상태를 수정할 수 있음 | ~/.openclaw/credentials의 파일시스템 권한 | yes |
fs.credentials_dir.perms_readable | warn | 다른 사용자가 채널 자격 증명 상태를 읽을 수 있음 | ~/.openclaw/credentials의 파일시스템 권한 | yes |
fs.sessions_store.perms_readable | warn | 다른 사용자가 세션 transcript/메타데이터를 읽을 수 있음 | 세션 저장소 권한 | yes |
fs.log_file.perms_readable | warn | 다른 사용자가 마스킹되었지만 여전히 민감한 로그를 읽을 수 있음 | gateway 로그 파일 권한 | yes |
fs.synced_dir | warn | iCloud/Dropbox/Drive의 상태/config는 토큰/transcript 노출 범위를 넓힘 | config/상태를 동기화 폴더 밖으로 이동 | no |
gateway.bind_no_auth | critical | 공유 비밀 없이 원격 바인딩됨 | gateway.bind, gateway.auth.* | no |
gateway.loopback_no_auth | critical | reverse-proxy된 loopback이 인증 없이 노출될 수 있음 | gateway.auth.*, 프록시 설정 | no |
gateway.trusted_proxies_missing | warn | reverse-proxy 헤더는 존재하지만 신뢰되지 않음 | gateway.trustedProxies | no |
gateway.http.no_auth | warn/critical | auth.mode="none"일 때 Gateway HTTP API에 도달 가능함 | gateway.auth.mode, gateway.http.endpoints.* | no |
gateway.http.session_key_override_enabled | info | HTTP API 호출자가 sessionKey를 재정의할 수 있음 | gateway.http.allowSessionKeyOverride | no |
gateway.tools_invoke_http.dangerous_allow | warn/critical | HTTP API를 통해 위험한 도구를 다시 활성화함 | gateway.tools.allow | no |
gateway.nodes.allow_commands_dangerous | warn/critical | 고위험 Node 명령(camera/screen/contacts/calendar/SMS)을 활성화함 | gateway.nodes.allowCommands | no |
gateway.nodes.deny_commands_ineffective | warn | 패턴 형태의 deny 항목이 셸 텍스트나 그룹과 일치하지 않음 | gateway.nodes.denyCommands | no |
gateway.tailscale_funnel | critical | 퍼블릭 인터넷에 노출됨 | gateway.tailscale.mode | no |
gateway.tailscale_serve | info | Serve를 통해 Tailnet 노출이 활성화됨 | gateway.tailscale.mode | no |
gateway.control_ui.allowed_origins_required | critical | loopback이 아닌 Control UI에서 명시적 브라우저 origin 허용 목록이 없음 | gateway.controlUi.allowedOrigins | no |
gateway.control_ui.allowed_origins_wildcard | warn/critical | allowedOrigins=["*"]가 브라우저 origin 허용 목록 적용을 비활성화함 | gateway.controlUi.allowedOrigins | no |
gateway.control_ui.host_header_origin_fallback | warn/critical | Host 헤더 origin fallback을 활성화함(DNS rebinding 보안 강화 약화) | gateway.controlUi.dangerouslyAllowHostHeaderOriginFallback | no |
gateway.control_ui.insecure_auth | warn | 비보안 인증 호환성 토글이 활성화됨 | gateway.controlUi.allowInsecureAuth | no |
gateway.control_ui.device_auth_disabled | critical | 디바이스 신원 확인을 비활성화함 | gateway.controlUi.dangerouslyDisableDeviceAuth | no |
gateway.real_ip_fallback_enabled | warn/critical | X-Real-IP fallback 신뢰는 프록시 오구성 시 소스 IP 스푸핑을 가능하게 할 수 있음 | gateway.allowRealIpFallback, gateway.trustedProxies | no |
gateway.token_too_short | warn | 짧은 공유 토큰은 무차별 대입 공격이 더 쉬움 | gateway.auth.token | no |
gateway.auth_no_rate_limit | warn | 노출된 인증에 속도 제한이 없으면 무차별 대입 위험이 증가함 | gateway.auth.rateLimit | no |
gateway.trusted_proxy_auth | critical | 이제 프록시 신원이 인증 경계가 됨 | gateway.auth.mode="trusted-proxy" | no |
gateway.trusted_proxy_no_proxies | critical | 신뢰된 프록시 IP 없이 trusted-proxy 인증을 사용하면 안전하지 않음 | gateway.trustedProxies | no |
gateway.trusted_proxy_no_user_header | critical | trusted-proxy 인증이 사용자 신원을 안전하게 확인할 수 없음 | gateway.auth.trustedProxy.userHeader | no |
gateway.trusted_proxy_no_allowlist | warn | trusted-proxy 인증이 인증된 모든 업스트림 사용자를 허용함 | gateway.auth.trustedProxy.allowUsers | no |
checkId | 심각도 | 중요한 이유 | 기본 수정 키/경로 | 자동 수정 |
| ------------------------------------------------------------- | ------------- | ------------------------------------------------------------------------------------ | ---------------------------------------------------------------------------------------------------- | -------- |
gateway.probe_auth_secretref_unavailable | warn | 이 명령 경로에서 Deep probe가 인증 SecretRef를 해석하지 못했음 | deep-probe 인증 소스 / SecretRef 가용성 | no |
gateway.probe_failed | warn/critical | 라이브 Gateway probe 실패 | gateway 도달 가능성/인증 | no |
discovery.mdns_full_mode | warn/critical | mDNS 전체 모드가 로컬 네트워크에 cliPath/sshPort 메타데이터를 광고함 | discovery.mdns.mode, gateway.bind | no |
config.insecure_or_dangerous_flags | warn | 비보안/위험한 디버그 플래그가 하나라도 활성화됨 | 여러 키(발견 항목 세부 정보 참조) | no |
config.secrets.gateway_password_in_config | warn | Gateway 비밀번호가 config에 직접 저장되어 있음 | gateway.auth.password | no |
config.secrets.hooks_token_in_config | warn | Hook bearer 토큰이 config에 직접 저장되어 있음 | hooks.token | no |
hooks.token_reuse_gateway_token | critical | Hook 수신 토큰이 Gateway 인증 해제에도 사용됨 | hooks.token, gateway.auth.token | no |
hooks.token_too_short | warn | Hook 수신에 대한 무차별 대입 공격이 쉬워짐 | hooks.token | no |
hooks.default_session_key_unset | warn | Hook 에이전트 실행이 요청별 생성 세션으로 분산됨 | hooks.defaultSessionKey | no |
hooks.allowed_agent_ids_unrestricted | warn/critical | 인증된 Hook 호출자가 구성된 모든 에이전트로 라우팅할 수 있음 | hooks.allowedAgentIds | no |
hooks.request_session_key_enabled | warn/critical | 외부 호출자가 sessionKey를 선택할 수 있음 | hooks.allowRequestSessionKey | no |
hooks.request_session_key_prefixes_missing | warn/critical | 외부 session key 형식에 대한 제한이 없음 | hooks.allowedSessionKeyPrefixes | no |
hooks.path_root | critical | Hook 경로가 /여서 수신이 충돌하거나 잘못 라우팅되기 쉬움 | hooks.path | no |
hooks.installs_unpinned_npm_specs | warn | Hook 설치 기록이 변경 불가능한 npm 스펙에 고정되어 있지 않음 | Hook 설치 메타데이터 | no |
hooks.installs_missing_integrity | warn | Hook 설치 기록에 무결성 메타데이터가 없음 | Hook 설치 메타데이터 | no |
hooks.installs_version_drift | warn | Hook 설치 기록이 설치된 패키지와 어긋남 | Hook 설치 메타데이터 | no |
logging.redact_off | warn | 민감한 값이 로그/상태에 노출됨 | logging.redactSensitive | yes |
browser.control_invalid_config | warn | 브라우저 제어 config가 런타임 이전부터 잘못되어 있음 | browser.* | no |
browser.control_no_auth | critical | 브라우저 제어가 토큰/비밀번호 인증 없이 노출됨 | gateway.auth.* | no |
browser.remote_cdp_http | warn | 평문 HTTP를 통한 원격 CDP에는 전송 암호화가 없음 | 브라우저 프로필 cdpUrl | no |
browser.remote_cdp_private_host | warn | 원격 CDP가 private/internal 호스트를 대상으로 함 | 브라우저 프로필 cdpUrl, browser.ssrfPolicy.* | no |
sandbox.docker_config_mode_off | warn | Sandbox Docker config는 존재하지만 비활성 상태임 | agents.*.sandbox.mode | no |
sandbox.bind_mount_non_absolute | warn | 상대 경로 bind mount는 예측 불가능하게 해석될 수 있음 | agents.*.sandbox.docker.binds[] | no |
sandbox.dangerous_bind_mount | critical | Sandbox bind mount 대상이 차단된 시스템, 자격 증명 또는 Docker 소켓 경로임 | agents.*.sandbox.docker.binds[] | no |
sandbox.dangerous_network_mode | critical | Sandbox Docker 네트워크가 host 또는 container:* namespace-join 모드를 사용함 | agents.*.sandbox.docker.network | no |
sandbox.dangerous_seccomp_profile | critical | Sandbox seccomp 프로필이 컨테이너 격리를 약화시킴 | agents.*.sandbox.docker.securityOpt | no |
sandbox.dangerous_apparmor_profile | critical | Sandbox AppArmor 프로필이 컨테이너 격리를 약화시킴 | agents.*.sandbox.docker.securityOpt | no |
sandbox.browser_cdp_bridge_unrestricted | warn | Sandbox 브라우저 브리지가 소스 범위 제한 없이 노출됨 | sandbox.browser.cdpSourceRange | no |
sandbox.browser_container.non_loopback_publish | critical | 기존 브라우저 컨테이너가 loopback이 아닌 인터페이스에 CDP를 게시함 | 브라우저 sandbox 컨테이너 게시 config | no |
sandbox.browser_container.hash_label_missing | warn | 기존 브라우저 컨테이너가 현재 config 해시 레이블 이전 버전임 | openclaw sandbox recreate --browser --all | no |
sandbox.browser_container.hash_epoch_stale | warn | 기존 브라우저 컨테이너가 현재 브라우저 config epoch 이전 버전임 | openclaw sandbox recreate --browser --all | no |
tools.exec.host_sandbox_no_sandbox_defaults | warn | sandbox가 꺼져 있으면 exec host=sandbox는 실패 시 닫힌 상태로 동작함 | tools.exec.host, agents.defaults.sandbox.mode | no |
tools.exec.host_sandbox_no_sandbox_agents | warn | sandbox가 꺼져 있으면 에이전트별 exec host=sandbox는 실패 시 닫힌 상태로 동작함 | agents.list[].tools.exec.host, agents.list[].sandbox.mode | no |
tools.exec.security_full_configured | warn/critical | 호스트 exec가 security="full"로 실행 중임 | tools.exec.security, agents.list[].tools.exec.security | no |
tools.exec.auto_allow_skills_enabled | warn | exec 승인이 skill bin을 암묵적으로 신뢰함 | ~/.openclaw/exec-approvals.json | no |
tools.exec.allowlist_interpreter_without_strict_inline_eval | warn | 인터프리터 허용 목록이 강제 재승인 없이 인라인 eval을 허용함 | tools.exec.strictInlineEval, agents.list[].tools.exec.strictInlineEval, exec approvals allowlist | no |
tools.exec.safe_bins_interpreter_unprofiled | warn | safeBins의 인터프리터/런타임 bin이 명시적 프로필 없이 exec 위험을 넓힘 | tools.exec.safeBins, tools.exec.safeBinProfiles, agents.list[].tools.exec.* | no |
tools.exec.safe_bins_broad_behavior | warn | safeBins의 광범위 동작 도구가 저위험 stdin 필터 신뢰 모델을 약화시킴 | tools.exec.safeBins, agents.list[].tools.exec.safeBins | no |
tools.exec.safe_bin_trusted_dirs_risky | warn | safeBinTrustedDirs에 변경 가능하거나 위험한 디렉터리가 포함됨 | tools.exec.safeBinTrustedDirs, agents.list[].tools.exec.safeBinTrustedDirs | no |
skills.workspace.symlink_escape | warn | 작업공간 skills/**/SKILL.md가 작업공간 루트 밖으로 해석됨(심볼릭 링크 체인 드리프트) | 작업공간 skills/** 파일시스템 상태 | no |
plugins.extensions_no_allowlist | warn | 명시적 plugin 허용 목록 없이 Plugin이 설치됨 | plugins.allowlist | no |
plugins.installs_unpinned_npm_specs | warn | Plugin 설치 기록이 변경 불가능한 npm 스펙에 고정되어 있지 않음 | Plugin 설치 메타데이터 | no |
checkId | 심각도 | 중요한 이유 | 기본 수정 키/경로 | 자동 수정 |
| ------------------------------------------------------------- | ------------- | ------------------------------------------------------------------------------------ | ---------------------------------------------------------------------------------------------------- | -------- |
plugins.installs_missing_integrity | warn | Plugin 설치 기록에 무결성 메타데이터가 없음 | Plugin 설치 메타데이터 | no |
plugins.installs_version_drift | warn | Plugin 설치 기록이 설치된 패키지와 어긋남 | Plugin 설치 메타데이터 | no |
plugins.code_safety | warn/critical | Plugin 코드 스캔에서 수상하거나 위험한 패턴이 발견됨 | Plugin 코드 / 설치 소스 | no |
plugins.code_safety.entry_path | warn | Plugin 엔트리 경로가 숨김 위치 또는 node_modules 위치를 가리킴 | Plugin manifest entry | no |
plugins.code_safety.entry_escape | critical | Plugin 엔트리가 Plugin 디렉터리 밖으로 벗어남 | Plugin manifest entry | no |
plugins.code_safety.scan_failed | warn | Plugin 코드 스캔을 완료할 수 없었음 | Plugin 경로 / 스캔 환경 | no |
skills.code_safety | warn/critical | Skill 설치 메타데이터/코드에 수상하거나 위험한 패턴이 포함됨 | Skill 설치 소스 | no |
skills.code_safety.scan_failed | warn | Skill 코드 스캔을 완료할 수 없었음 | Skill 스캔 환경 | no |
security.exposure.open_channels_with_exec | warn/critical | 공유/공개 룸이 exec 활성화 에이전트에 도달할 수 있음 | channels.*.dmPolicy, channels.*.groupPolicy, tools.exec.*, agents.list[].tools.exec.* | no |
security.exposure.open_groups_with_elevated | critical | 공개 그룹 + 권한 상승 도구 조합은 고위험 프롬프트 인젝션 경로를 만듦 | channels.*.groupPolicy, tools.elevated.* | no |
security.exposure.open_groups_with_runtime_or_fs | critical/warn | 공개 그룹이 sandbox/작업공간 보호 없이 명령/파일 도구에 도달할 수 있음 | channels.*.groupPolicy, tools.profile/deny, tools.fs.workspaceOnly, agents.*.sandbox.mode | no |
security.trust_model.multi_user_heuristic | warn | config는 다중 사용자처럼 보이지만 gateway 신뢰 모델은 개인 비서 기준임 | 신뢰 경계 분리 또는 공유 사용자 보안 강화(sandbox.mode, tool deny/workspace 범위 지정) | no |
tools.profile_minimal_overridden | warn | 에이전트 재정의가 전역 minimal 프로필을 우회함 | agents.list[].tools.profile | no |
plugins.tools_reachable_permissive_policy | warn | 확장 도구가 완화된 컨텍스트에서 도달 가능함 | tools.profile + 도구 allow/deny | no |
models.legacy | warn | 레거시 모델 계열이 아직 구성되어 있음 | 모델 선택 | no |
models.weak_tier | warn | 구성된 모델이 현재 권장 티어보다 낮음 | 모델 선택 | no |
models.small_params | critical/info | 작은 모델과 비안전 도구 표면의 조합은 인젝션 위험을 높임 | 모델 선택 + sandbox/도구 정책 | no |
summary.attack_surface | info | 인증, 채널, 도구, 노출 상태에 대한 요약 정보 | 여러 키(발견 항목 세부 정보 참조) | no |