> ## Documentation Index
> Fetch the complete documentation index at: https://docs2.openclaw.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# 보안 감사 검사

`openclaw security audit`는 `checkId`를 키로 하는 구조화된 findings를 출력합니다. 이
페이지는 해당 ID의 참조 카탈로그입니다. 상위 수준의 위협 모델과
강화 지침은 [보안](/ko/gateway/security)을 참조하세요.

실제 배포에서 가장 자주 보게 될 가능성이 높은 고신호 `checkId` 값(전체 목록은
아님):

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

## 관련

* [보안](/ko/gateway/security)
* [구성](/ko/gateway/configuration)
* [신뢰할 수 있는 프록시 인증](/ko/gateway/trusted-proxy-auth)
