메인 콘텐츠로 건너뛰기

OpenClaw 위협 모델 v1.0

MITRE ATLAS 프레임워크

버전: 1.0-draft 최종 업데이트: 2026-02-04 방법론: MITRE ATLAS + 데이터 흐름도 프레임워크: MITRE ATLAS (Adversarial Threat Landscape for AI Systems)

프레임워크 출처

이 위협 모델은 AI/ML 시스템에 대한 적대적 위협을 문서화하는 업계 표준 프레임워크인 MITRE ATLAS를 기반으로 작성되었습니다. ATLAS는 AI 보안 커뮤니티와 협력하여 MITRE가 유지 관리합니다. 주요 ATLAS 자료:

이 위협 모델에 기여하기

이 문서는 OpenClaw 커뮤니티가 유지 관리하는 살아 있는 문서입니다. 기여 가이드는 CONTRIBUTING-THREAT-MODEL.md를 참고하세요.
  • 새로운 위협 보고
  • 기존 위협 업데이트
  • 공격 체인 제안
  • 완화책 제안

1. 소개

1.1 목적

이 위협 모델은 AI/ML 시스템을 위해 특별히 설계된 MITRE ATLAS 프레임워크를 사용하여 OpenClaw AI 에이전트 플랫폼과 ClawHub 스킬 마켓플레이스에 대한 적대적 위협을 문서화합니다.

1.2 범위

구성요소포함 여부비고
OpenClaw Agent Runtime핵심 에이전트 실행, 도구 호출, 세션
Gateway인증, 라우팅, 채널 통합
Channel IntegrationsWhatsApp, Telegram, Discord, Signal, Slack 등
ClawHub Marketplace스킬 게시, 검토, 배포
MCP Servers외부 도구 제공자
User Devices부분모바일 앱, 데스크톱 클라이언트

1.3 범위 제외

이 위협 모델에서 명시적으로 범위 밖으로 제외한 항목은 없습니다.

2. 시스템 아키텍처

2.1 신뢰 경계

┌─────────────────────────────────────────────────────────────────┐
│                    UNTRUSTED ZONE                                │
│  ┌─────────────┐  ┌─────────────┐  ┌─────────────┐              │
│  │  WhatsApp   │  │  Telegram   │  │   Discord   │  ...         │
│  └──────┬──────┘  └──────┬──────┘  └──────┬──────┘              │
│         │                │                │                      │
└─────────┼────────────────┼────────────────┼──────────────────────┘
          │                │                │
          ▼                ▼                ▼
┌─────────────────────────────────────────────────────────────────┐
│                 TRUST BOUNDARY 1: Channel Access                 │
│  ┌──────────────────────────────────────────────────────────┐   │
│  │                      GATEWAY                              │   │
│  │  • Device Pairing (30s grace period)                      │   │
│  │  • AllowFrom / AllowList validation                       │   │
│  │  • Token/Password/Tailscale auth                          │   │
│  └──────────────────────────────────────────────────────────┘   │
└─────────────────────────────────────────────────────────────────┘


┌─────────────────────────────────────────────────────────────────┐
│                 TRUST BOUNDARY 2: Session Isolation              │
│  ┌──────────────────────────────────────────────────────────┐   │
│  │                   AGENT SESSIONS                          │   │
│  │  • Session key = agent:channel:peer                       │   │
│  │  • Tool policies per agent                                │   │
│  │  • Transcript logging                                     │   │
│  └──────────────────────────────────────────────────────────┘   │
└─────────────────────────────────────────────────────────────────┘


┌─────────────────────────────────────────────────────────────────┐
│                 TRUST BOUNDARY 3: Tool Execution                 │
│  ┌──────────────────────────────────────────────────────────┐   │
│  │                  EXECUTION SANDBOX                        │   │
│  │  • Docker sandbox OR Host (exec-approvals)                │   │
│  │  • Node remote execution                                  │   │
│  │  • SSRF protection (DNS pinning + IP blocking)            │   │
│  └──────────────────────────────────────────────────────────┘   │
└─────────────────────────────────────────────────────────────────┘


┌─────────────────────────────────────────────────────────────────┐
│                 TRUST BOUNDARY 4: External Content               │
│  ┌──────────────────────────────────────────────────────────┐   │
│  │              FETCHED URLs / EMAILS / WEBHOOKS             │   │
│  │  • External content wrapping (XML tags)                   │   │
│  │  • Security notice injection                              │   │
│  └──────────────────────────────────────────────────────────┘   │
└─────────────────────────────────────────────────────────────────┘


┌─────────────────────────────────────────────────────────────────┐
│                 TRUST BOUNDARY 5: Supply Chain                   │
│  ┌──────────────────────────────────────────────────────────┐   │
│  │                      CLAWHUB                              │   │
│  │  • Skill publishing (semver, SKILL.md required)           │   │
│  │  • Pattern-based moderation flags                         │   │
│  │  • VirusTotal scanning (coming soon)                      │   │
│  │  • GitHub account age verification                        │   │
│  └──────────────────────────────────────────────────────────┘   │
└─────────────────────────────────────────────────────────────────┘

2.2 데이터 흐름

흐름출발지목적지데이터보호 수단
F1ChannelGateway사용자 메시지TLS, AllowFrom
F2GatewayAgent라우팅된 메시지세션 격리
F3AgentTools도구 호출정책 강제
F4AgentExternalweb_fetch 요청SSRF 차단
F5ClawHubAgent스킬 코드검토, 스캐닝
F6AgentChannel응답출력 필터링

3. ATLAS 전술별 위협 분석

3.1 정찰 (AML.TA0002)

T-RECON-001: 에이전트 엔드포인트 탐지

속성
ATLAS IDAML.T0006 - Active Scanning
설명공격자가 노출된 OpenClaw gateway 엔드포인트를 스캔함
공격 벡터네트워크 스캐닝, shodan 쿼리, DNS 열거
영향 받는 구성요소Gateway, 노출된 API 엔드포인트
현재 완화책Tailscale 인증 옵션, 기본적으로 loopback에 바인드
잔여 위험중간 - 공개 gateway는 탐지 가능함
권고사항안전한 배포 방식을 문서화하고 탐지용 엔드포인트에 rate limiting 추가

T-RECON-002: 채널 연동 프로빙

속성
ATLAS IDAML.T0006 - Active Scanning
설명공격자가 AI가 관리하는 계정을 식별하기 위해 메시징 채널을 탐색함
공격 벡터테스트 메시지 전송, 응답 패턴 관찰
영향 받는 구성요소모든 채널 연동
현재 완화책별도 없음
잔여 위험낮음 - 탐지만으로 얻을 수 있는 가치가 제한적임
권고사항응답 타이밍 무작위화 검토

3.2 초기 접근 (AML.TA0004)

T-ACCESS-001: 페어링 코드 가로채기

속성
ATLAS IDAML.T0040 - AI Model Inference API Access
설명공격자가 30초 유예 기간 동안 페어링 코드를 가로챔
공격 벡터어깨너머 엿보기, 네트워크 스니핑, 사회공학
영향 받는 구성요소디바이스 페어링 시스템
현재 완화책30초 만료, 기존 채널을 통한 코드 전송
잔여 위험중간 - 유예 기간을 악용할 수 있음
권고사항유예 기간 단축, 확인 단계 추가

T-ACCESS-002: AllowFrom 스푸핑

속성
ATLAS IDAML.T0040 - AI Model Inference API Access
설명공격자가 채널에서 허용된 발신자 신원을 스푸핑함
공격 벡터채널별로 다름 - 전화번호 스푸핑, 사용자명 사칭
영향 받는 구성요소채널별 AllowFrom 검증
현재 완화책채널별 신원 검증
잔여 위험중간 - 일부 채널은 스푸핑에 취약함
권고사항채널별 위험을 문서화하고 가능한 경우 암호학적 검증 추가

T-ACCESS-003: 토큰 탈취

속성
ATLAS IDAML.T0040 - AI Model Inference API Access
설명공격자가 설정 파일에서 인증 토큰을 탈취함
공격 벡터멀웨어, 무단 디바이스 접근, 설정 백업 노출
영향 받는 구성요소~/.openclaw/credentials/, 설정 저장소
현재 완화책파일 권한
잔여 위험높음 - 토큰이 평문으로 저장됨
권고사항저장 시 토큰 암호화 구현, 토큰 회전 추가

3.3 실행 (AML.TA0005)

T-EXEC-001: 직접 프롬프트 인젝션

속성
ATLAS IDAML.T0051.000 - LLM Prompt Injection: Direct
설명공격자가 조작된 프롬프트를 보내 에이전트 동작을 조종함
공격 벡터적대적 지시가 포함된 채널 메시지
영향 받는 구성요소Agent LLM, 모든 입력 표면
현재 완화책패턴 탐지, 외부 콘텐츠 래핑
잔여 위험치명적 - 탐지에만 의존하고 차단이 없으며 정교한 공격은 우회 가능
권고사항다계층 방어, 출력 검증, 민감한 작업에 대한 사용자 확인 구현

T-EXEC-002: 간접 프롬프트 인젝션

속성
ATLAS IDAML.T0051.001 - LLM Prompt Injection: Indirect
설명공격자가 가져온 콘텐츠 안에 악성 지시를 심어 둠
공격 벡터악성 URL, 오염된 이메일, 침해된 웹훅
영향 받는 구성요소web_fetch, 이메일 수집, 외부 데이터 소스
현재 완화책XML 태그와 보안 고지를 활용한 콘텐츠 래핑
잔여 위험높음 - LLM이 래퍼 지시를 무시할 수 있음
권고사항콘텐츠 정제, 분리된 실행 컨텍스트 구현

T-EXEC-003: 도구 인자 인젝션

속성
ATLAS IDAML.T0051.000 - LLM Prompt Injection: Direct
설명공격자가 프롬프트 인젝션을 통해 도구 인자를 조작함
공격 벡터도구 파라미터 값에 영향을 주는 조작된 프롬프트
영향 받는 구성요소모든 도구 호출
현재 완화책위험한 명령에 대한 exec 승인
잔여 위험높음 - 사용자 판단에 의존함
권고사항인자 검증, 파라미터화된 도구 호출 구현

T-EXEC-004: exec 승인 우회

속성
ATLAS IDAML.T0043 - Craft Adversarial Data
설명공격자가 승인 allowlist를 우회하는 명령을 조작해 냄
공격 벡터명령 난독화, alias 악용, 경로 조작
영향 받는 구성요소exec-approvals.ts, 명령 allowlist
현재 완화책allowlist + ask 모드
잔여 위험높음 - 명령 정규화가 없음
권고사항명령 정규화 구현, blocklist 확장

3.4 지속성 (AML.TA0006)

T-PERSIST-001: 악성 스킬 설치

속성
ATLAS IDAML.T0010.001 - Supply Chain Compromise: AI Software
설명공격자가 ClawHub에 악성 스킬을 게시함
공격 벡터계정 생성, 숨겨진 악성 코드가 포함된 스킬 게시
영향 받는 구성요소ClawHub, 스킬 로딩, 에이전트 실행
현재 완화책GitHub 계정 연령 검증, 패턴 기반 검토 플래그
잔여 위험치명적 - 샌드박싱이 없고 검토가 제한적임
권고사항VirusTotal 통합(진행 중), 스킬 샌드박싱, 커뮤니티 검토

T-PERSIST-002: 스킬 업데이트 오염

속성
ATLAS IDAML.T0010.001 - Supply Chain Compromise: AI Software
설명공격자가 인기 있는 스킬을 침해하고 악성 업데이트를 배포함
공격 벡터계정 탈취, 스킬 소유자 대상 사회공학
영향 받는 구성요소ClawHub 버전 관리, 자동 업데이트 흐름
현재 완화책버전 지문 검증
잔여 위험높음 - 자동 업데이트가 악성 버전을 가져올 수 있음
권고사항업데이트 서명, 롤백 기능, 버전 고정 구현

T-PERSIST-003: 에이전트 설정 변조

속성
ATLAS IDAML.T0010.002 - Supply Chain Compromise: Data
설명공격자가 접근 권한을 유지하기 위해 에이전트 설정을 수정함
공격 벡터설정 파일 수정, 설정 인젝션
영향 받는 구성요소에이전트 설정, 도구 정책
현재 완화책파일 권한
잔여 위험중간 - 로컬 접근이 필요함
권고사항설정 무결성 검증, 설정 변경 감사 로깅

3.5 방어 회피 (AML.TA0007)

T-EVADE-001: 검토 패턴 우회

속성
ATLAS IDAML.T0043 - Craft Adversarial Data
설명공격자가 검토 패턴을 피하도록 스킬 콘텐츠를 조작함
공격 벡터유니코드 동형 이의 문자, 인코딩 트릭, 동적 로딩
영향 받는 구성요소ClawHub moderation.ts
현재 완화책패턴 기반 FLAG_RULES
잔여 위험높음 - 단순 정규식은 쉽게 우회됨
권고사항행위 분석(VirusTotal Code Insight), AST 기반 탐지 추가

T-EVADE-002: 콘텐츠 래퍼 탈출

속성
ATLAS IDAML.T0043 - Craft Adversarial Data
설명공격자가 XML 래퍼 컨텍스트를 벗어나는 콘텐츠를 구성함
공격 벡터태그 조작, 컨텍스트 혼란, 지시 덮어쓰기
영향 받는 구성요소외부 콘텐츠 래핑
현재 완화책XML 태그 + 보안 고지
잔여 위험중간 - 새로운 탈출 기법이 정기적으로 발견됨
권고사항다중 래퍼 계층, 출력 측 검증

3.6 탐색 (AML.TA0008)

T-DISC-001: 도구 열거

속성
ATLAS IDAML.T0040 - AI Model Inference API Access
설명공격자가 프롬프트를 통해 사용 가능한 도구를 열거함
공격 벡터”What tools do you have?”류의 질의
영향 받는 구성요소에이전트 도구 레지스트리
현재 완화책별도 없음
잔여 위험낮음 - 도구는 일반적으로 문서화되어 있음
권고사항도구 가시성 제어 검토

T-DISC-002: 세션 데이터 추출

속성
ATLAS IDAML.T0040 - AI Model Inference API Access
설명공격자가 세션 컨텍스트에서 민감한 데이터를 추출함
공격 벡터”What did we discuss?” 질의, 컨텍스트 프로빙
영향 받는 구성요소세션 기록, 컨텍스트 윈도
현재 완화책발신자별 세션 격리
잔여 위험중간 - 같은 세션 내 데이터에는 접근 가능
권고사항컨텍스트 내 민감 정보 마스킹 구현

3.7 수집 및 유출 (AML.TA0009, AML.TA0010)

T-EXFIL-001: web_fetch를 통한 데이터 탈취

속성
ATLAS IDAML.T0009 - Collection
설명공격자가 에이전트에 외부 URL로 전송하도록 지시해 데이터를 유출함
공격 벡터프롬프트 인젝션으로 에이전트가 공격자 서버에 데이터를 POST함
영향 받는 구성요소web_fetch 도구
현재 완화책내부 네트워크 대상 SSRF 차단
잔여 위험높음 - 외부 URL은 허용됨
권고사항URL allowlist, 데이터 분류 인식 구현

T-EXFIL-002: 무단 메시지 전송

속성
ATLAS IDAML.T0009 - Collection
설명공격자가 민감한 데이터가 담긴 메시지를 에이전트가 보내게 만듦
공격 벡터프롬프트 인젝션으로 에이전트가 공격자에게 메시지를 전송함
영향 받는 구성요소메시지 도구, 채널 연동
현재 완화책발신 메시지 게이팅
잔여 위험중간 - 게이팅이 우회될 수 있음
권고사항새로운 수신자에 대해서는 명시적 확인 요구

T-EXFIL-003: 자격 증명 수집

속성
ATLAS IDAML.T0009 - Collection
설명악성 스킬이 에이전트 컨텍스트에서 자격 증명을 수집함
공격 벡터스킬 코드가 환경 변수와 설정 파일을 읽음
영향 받는 구성요소스킬 실행 환경
현재 완화책스킬 전용 완화책 없음
잔여 위험치명적 - 스킬이 에이전트 권한으로 실행됨
권고사항스킬 샌드박싱, 자격 증명 격리

3.8 영향 (AML.TA0011)

T-IMPACT-001: 무단 명령 실행

속성
ATLAS IDAML.T0031 - Erode AI Model Integrity
설명공격자가 사용자 시스템에서 임의 명령을 실행함
공격 벡터프롬프트 인젝션과 exec 승인 우회 결합
영향 받는 구성요소Bash 도구, 명령 실행
현재 완화책exec 승인, Docker 샌드박스 옵션
잔여 위험치명적 - 샌드박스 없는 호스트 실행
권고사항기본값을 샌드박스로 설정하고 승인 UX 개선

T-IMPACT-002: 리소스 고갈 (DoS)

속성
ATLAS IDAML.T0031 - Erode AI Model Integrity
설명공격자가 API 크레딧이나 연산 리소스를 고갈시킴
공격 벡터자동화된 메시지 폭주, 비용이 큰 도구 호출
영향 받는 구성요소Gateway, 에이전트 세션, API 제공자
현재 완화책없음
잔여 위험높음 - rate limiting이 없음
권고사항발신자별 rate limit, 비용 예산 구현

T-IMPACT-003: 평판 훼손

속성
ATLAS IDAML.T0031 - Erode AI Model Integrity
설명공격자가 에이전트가 유해하거나 공격적인 콘텐츠를 보내게 함
공격 벡터프롬프트 인젝션으로 부적절한 응답을 유도
영향 받는 구성요소출력 생성, 채널 메시징
현재 완화책LLM 제공자 콘텐츠 정책
잔여 위험중간 - 제공자 필터는 완벽하지 않음
권고사항출력 필터링 계층, 사용자 제어

4. ClawHub 공급망 분석

4.1 현재 보안 통제

통제 항목구현효과성
GitHub 계정 연령requireGitHubAccountAge()중간 - 신규 공격자의 진입 장벽을 높임
경로 정제sanitizePath()높음 - 경로 순회 방지
파일 유형 검증isTextFile()중간 - 텍스트 파일만 허용하지만 여전히 악성일 수 있음
크기 제한총 번들 50MB높음 - 리소스 고갈 방지
필수 SKILL.md필수 readme 파일낮은 보안 가치 - 정보 제공용일 뿐임
패턴 기반 검토moderation.ts의 FLAG_RULES낮음 - 쉽게 우회됨
검토 상태moderationStatus 필드중간 - 수동 검토 가능

4.2 검토 플래그 패턴

현재 moderation.ts의 패턴:
// Known-bad identifiers
/(keepcold131\/ClawdAuthenticatorTool|ClawdAuthenticatorTool)/i

// Suspicious keywords
/(malware|stealer|phish|phishing|keylogger)/i
/(api[-_ ]?key|token|password|private key|secret)/i
/(wallet|seed phrase|mnemonic|crypto)/i
/(discord\.gg|webhook|hooks\.slack)/i
/(curl[^\n]+\|\s*(sh|bash))/i
/(bit\.ly|tinyurl\.com|t\.co|goo\.gl|is\.gd)/i
한계:
  • slug, displayName, summary, frontmatter, metadata, 파일 경로만 검사함
  • 실제 스킬 코드 내용은 분석하지 않음
  • 단순 정규식은 난독화로 쉽게 우회 가능함
  • 행위 분석이 없음

4.3 계획된 개선 사항

개선 사항상태영향
VirusTotal 통합진행 중높음 - Code Insight 행위 분석
커뮤니티 신고부분 구현 (skillReports 테이블 존재)중간
감사 로깅부분 구현 (auditLogs 테이블 존재)중간
배지 시스템구현 완료중간 - highlighted, official, deprecated, redactionApproved

5. 위험도 매트릭스

5.1 가능성 대 영향

위협 ID가능성영향위험도우선순위
T-EXEC-001높음치명적치명적P0
T-PERSIST-001높음치명적치명적P0
T-EXFIL-003중간치명적치명적P0
T-IMPACT-001중간치명적높음P1
T-EXEC-002높음높음높음P1
T-EXEC-004중간높음높음P1
T-ACCESS-003중간높음높음P1
T-EXFIL-001중간높음높음P1
T-IMPACT-002높음중간높음P1
T-EVADE-001높음중간중간P2
T-ACCESS-001낮음높음중간P2
T-ACCESS-002낮음높음중간P2
T-PERSIST-002낮음높음중간P2

5.2 핵심 공격 체인

공격 체인 1: 스킬 기반 데이터 탈취
T-PERSIST-001 → T-EVADE-001 → T-EXFIL-003
(악성 스킬 게시) → (검토 우회) → (자격 증명 수집)
공격 체인 2: 프롬프트 인젝션에서 RCE로
T-EXEC-001 → T-EXEC-004 → T-IMPACT-001
(프롬프트 주입) → (exec 승인 우회) → (명령 실행)
공격 체인 3: 가져온 콘텐츠를 통한 간접 인젝션
T-EXEC-002 → T-EXFIL-001 → 외부 유출
(URL 콘텐츠 오염) → (에이전트가 가져와 지시를 따름) → (데이터가 공격자에게 전송됨)

6. 권고사항 요약

6.1 즉시 (P0)

ID권고사항대응 대상
R-001VirusTotal 통합 완료T-PERSIST-001, T-EVADE-001
R-002스킬 샌드박싱 구현T-PERSIST-001, T-EXFIL-003
R-003민감한 작업에 대한 출력 검증 추가T-EXEC-001, T-EXEC-002

6.2 단기 (P1)

ID권고사항대응 대상
R-004rate limiting 구현T-IMPACT-002
R-005저장 시 토큰 암호화 추가T-ACCESS-003
R-006exec 승인 UX 및 검증 개선T-EXEC-004
R-007web_fetch용 URL allowlist 구현T-EXFIL-001

6.3 중기 (P2)

ID권고사항대응 대상
R-008가능한 채널에 암호학적 검증 추가T-ACCESS-002
R-009설정 무결성 검증 구현T-PERSIST-003
R-010업데이트 서명 및 버전 고정 추가T-PERSIST-002

7. 부록

7.1 ATLAS 기법 매핑

ATLAS ID기법 이름OpenClaw 위협
AML.T0006Active ScanningT-RECON-001, T-RECON-002
AML.T0009CollectionT-EXFIL-001, T-EXFIL-002, T-EXFIL-003
AML.T0010.001Supply Chain: AI SoftwareT-PERSIST-001, T-PERSIST-002
AML.T0010.002Supply Chain: DataT-PERSIST-003
AML.T0031Erode AI Model IntegrityT-IMPACT-001, T-IMPACT-002, T-IMPACT-003
AML.T0040AI Model Inference API AccessT-ACCESS-001, T-ACCESS-002, T-ACCESS-003, T-DISC-001, T-DISC-002
AML.T0043Craft Adversarial DataT-EXEC-004, T-EVADE-001, T-EVADE-002
AML.T0051.000LLM Prompt Injection: DirectT-EXEC-001, T-EXEC-003
AML.T0051.001LLM Prompt Injection: IndirectT-EXEC-002

7.2 주요 보안 파일

경로용도위험도
src/infra/exec-approvals.ts명령 승인 로직치명적
src/gateway/auth.tsGateway 인증치명적
src/web/inbound/access-control.ts채널 접근 제어치명적
src/infra/net/ssrf.tsSSRF 보호치명적
src/security/external-content.ts프롬프트 인젝션 완화치명적
src/agents/sandbox/tool-policy.ts도구 정책 강제치명적
convex/lib/moderation.tsClawHub 검토높음
convex/lib/skillPublish.ts스킬 게시 흐름높음
src/routing/resolve-route.ts세션 격리중간

7.3 용어집

용어정의
ATLASAI 시스템을 위한 MITRE의 Adversarial Threat Landscape
ClawHubOpenClaw의 스킬 마켓플레이스
GatewayOpenClaw의 메시지 라우팅 및 인증 계층
MCPModel Context Protocol - 도구 제공자 인터페이스
Prompt Injection입력에 악성 지시가 심어지는 공격
SkillOpenClaw 에이전트를 위한 다운로드 가능한 확장
SSRFServer-Side Request Forgery

이 위협 모델은 살아 있는 문서입니다. 보안 이슈는 security@openclaw.ai 로 신고해 주세요.