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를 키로 하는 구조화된 발견 항목을 출력합니다. 이
페이지는 해당 ID의 참조 카탈로그입니다. 상위 수준의 위협 모델과
강화 지침은 보안을 참조하세요.
실제 배포에서 가장 자주 보게 될 가능성이 높은 중요 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 | 심각 | 구성 include 파일을 다른 사용자가 수정할 수 있음 | openclaw.json에서 참조하는 include 파일 권한 | 예 |
fs.config_include.perms_group_readable | 경고 | 그룹 사용자가 포함된 비밀/설정을 읽을 수 있음 | openclaw.json에서 참조하는 include 파일 권한 | 예 |
fs.config_include.perms_world_readable | 심각 | 포함된 비밀/설정을 전 세계에서 읽을 수 있음 | openclaw.json에서 참조하는 include 파일 권한 | 예 |
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 | 심각 | 역방향 프록시된 local loopback이 인증되지 않을 수 있음 | gateway.auth.*, 프록시 설정 | 아니요 |
gateway.trusted_proxies_missing | 경고 | 역방향 프록시 헤더가 있지만 신뢰되지 않음 | gateway.trustedProxies | 아니요 |
gateway.http.no_auth | 경고/심각 | auth.mode="none"으로 Gateway HTTP API에 접근할 수 있음 | gateway.auth.mode, gateway.http.endpoints.* | 아니요 |
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 | 심각 | 명시적인 브라우저 출처 허용 목록이 없는 비-local loopback 제어 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 | 경고 | 신뢰할 수 있는 프록시 인증이 명시적으로 허용된 loopback 프록시 소스를 허용합니다 | gateway.auth.trustedProxy.allowLoopback | 아니요 |
gateway.probe_auth_secretref_unavailable | 경고 | 이 명령 경로에서 심층 probe가 인증 SecretRefs를 확인할 수 없습니다 | 심층 probe 인증 소스 / SecretRef 사용 가능 여부 | 아니요 |
gateway.probe_failed | 경고/심각 | 라이브 Gateway probe가 실패했습니다 | Gateway 도달 가능성/인증 | 아니요 |
discovery.mdns_full_mode | 경고/심각 | mDNS 전체 모드가 로컬 네트워크에 cliPath/sshPort 메타데이터를 광고합니다 | discovery.mdns.mode, gateway.bind | 아니요 |
config.insecure_or_dangerous_flags | 경고 | 안전하지 않거나 위험한 디버그 플래그가 활성화되어 있습니다 | 여러 키(발견 세부 정보 참조) | 아니요 |
config.secrets.gateway_password_in_config | 경고 | Gateway 비밀번호가 구성에 직접 저장되어 있습니다 | gateway.auth.password | 아니요 |
config.secrets.hooks_token_in_config | 경고 | Hook bearer token이 구성에 직접 저장되어 있습니다 | hooks.token | 아니요 |
hooks.token_reuse_gateway_token | 심각 | Hook ingress 토큰이 Gateway 인증도 잠금 해제합니다 | hooks.token, gateway.auth.token | 아니요 |
hooks.token_too_short | 경고 | Hook ingress에 대한 무차별 대입 공격이 쉬워집니다 | hooks.token | 아니요 |
hooks.default_session_key_unset | 경고 | Hook agent 실행이 생성된 요청별 세션으로 팬아웃됩니다 | hooks.defaultSessionKey | 아니요 |
hooks.allowed_agent_ids_unrestricted | 경고/심각 | 인증된 Hook 호출자가 구성된 모든 agent로 라우팅할 수 있습니다 | hooks.allowedAgentIds | 아니요 |
hooks.request_session_key_enabled | 경고/심각 | 외부 호출자가 sessionKey를 선택할 수 있습니다 | hooks.allowRequestSessionKey | 아니요 |
hooks.request_session_key_prefixes_missing | 경고/심각 | 외부 세션 키 형태에 대한 제한이 없습니다 | hooks.allowedSessionKeyPrefixes | 아니요 |
hooks.path_root | 심각 | Hook 경로가 /이어서 ingress가 충돌하거나 잘못 라우팅되기 쉽습니다 | hooks.path | 아니요 |
hooks.installs_unpinned_npm_specs | 경고 | Hook 설치 레코드가 변경 불가능한 npm 사양에 고정되어 있지 않습니다 | Hook 설치 메타데이터 | 아니요 |
hooks.installs_missing_integrity | 경고 | Hook 설치 레코드에 무결성 메타데이터가 없습니다 | Hook 설치 메타데이터 | 아니요 |
hooks.installs_version_drift | 경고 | Hook 설치 레코드가 설치된 패키지와 달라졌습니다 | Hook 설치 메타데이터 | 아니요 |
logging.redact_off | 경고 | 민감한 값이 로그/상태로 유출됩니다 | logging.redactSensitive | 예 |
browser.control_invalid_config | 경고 | Browser 제어 구성이 런타임 전에 유효하지 않습니다 | browser.* | 아니요 |
browser.control_no_auth | 심각 | Browser 제어가 토큰/비밀번호 인증 없이 노출되어 있습니다 | gateway.auth.* | 아니요 |
browser.remote_cdp_http | 경고 | 일반 HTTP를 통한 원격 CDP에는 전송 암호화가 없습니다 | Browser 프로필 cdpUrl | 아니요 |
browser.remote_cdp_private_host | 경고 | 원격 CDP가 비공개/내부 호스트를 대상으로 합니다 | Browser 프로필 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 socket 경로를 대상으로 합니다 | 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 Browser bridge가 소스 범위 제한 없이 노출되어 있습니다 | sandbox.browser.cdpSourceRange | 아니요 |
sandbox.browser_container.non_loopback_publish | 심각 | 기존 Browser 컨테이너가 CDP를 loopback이 아닌 인터페이스에 게시합니다 | Browser Sandbox 컨테이너 게시 구성 | 아니요 |
sandbox.browser_container.hash_label_missing | 경고 | 기존 Browser 컨테이너가 현재 구성 해시 라벨보다 이전 것입니다 | openclaw sandbox recreate --browser --all | 아니요 |
sandbox.browser_container.hash_epoch_stale | 경고 | 기존 Browser 컨테이너가 현재 Browser 구성 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가 꺼져 있으면 agent별 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.fs_tools_disabled_but_exec_enabled | 경고 | 파일 시스템 도구 정책은 shell 실행을 읽기 전용으로 만들지 않습니다 | tools.deny, agents.list[].tools.deny, agents.*.sandbox.workspaceAccess | 아니요 |
tools.exec.auto_allow_skills_enabled | 경고 | Exec 승인이 skill bin을 암묵적으로 신뢰합니다 | ~/.openclaw/exec-approvals.json | 아니요 |
tools.exec.allowlist_interpreter_without_strict_inline_eval | 경고 | Interpreter allowlist가 강제 재승인 없이 inline eval을 허용합니다 | tools.exec.strictInlineEval, agents.list[].tools.exec.strictInlineEval, exec 승인 allowlist | 아니요 |
tools.exec.safe_bins_interpreter_unprofiled | 경고 | 명시적 프로필 없이 safeBins에 있는 interpreter/runtime 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 | 경고 | safeBinTrustedDirs에 변경 가능하거나 위험한 디렉터리가 포함되어 있습니다 | tools.exec.safeBinTrustedDirs, agents.list[].tools.exec.safeBinTrustedDirs | 아니요 |
skills.workspace.symlink_escape | 경고 | Workspace skills/**/SKILL.md가 workspace 루트 밖으로 확인됩니다(symlink-chain 드리프트) | workspace skills/** 파일 시스템 상태 | 아니요 |
plugins.extensions_no_allowlist | warn | Plugin이 명시적인 Plugin 허용 목록 없이 설치되어 있습니다 | 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 활성화 에이전트에 도달할 수 있습니다 | channels.*.dmPolicy, channels.*.groupPolicy, tools.exec.*, agents.list[].tools.exec.* | no |
security.exposure.open_groups_with_elevated | critical | 열린 그룹과 elevated 도구가 영향이 큰 프롬프트 인젝션 경로를 만듭니다 | channels.*.groupPolicy, tools.elevated.* | no |
security.exposure.open_groups_with_runtime_or_fs | critical/warn | 열린 그룹이 샌드박스/작업 영역 가드 없이 명령/파일 도구에 도달할 수 있습니다 | channels.*.groupPolicy, tools.profile/deny, tools.fs.workspaceOnly, agents.*.sandbox.mode | no |
security.trust_model.multi_user_heuristic | warn | Gateway 신뢰 모델은 개인 비서인데 설정은 다중 사용자처럼 보입니다 | 신뢰 경계를 분리하거나 공유 사용자 강화 적용(sandbox.mode, 도구 거부/작업 영역 범위 지정) | no |
tools.profile_minimal_overridden | warn | 에이전트 재정의가 전역 minimal 프로필을 우회합니다 | agents.list[].tools.profile | no |
plugins.tools_reachable_permissive_policy | warn | 관대한 컨텍스트에서 확장 도구에 도달할 수 있습니다 | tools.profile + 도구 허용/거부 | no |
models.legacy | warn | 레거시 모델 제품군이 아직 설정되어 있습니다 | 모델 선택 | no |
models.weak_tier | warn | 설정된 모델이 현재 권장 티어보다 낮습니다 | 모델 선택 | no |
models.small_params | critical/info | 소형 모델과 안전하지 않은 도구 표면은 인젝션 위험을 높입니다 | 모델 선택 + 샌드박스/도구 정책 | no |
summary.attack_surface | info | 인증, 채널, 도구, 노출 상태의 요약 | 여러 키(발견 세부 정보 참조) | no |