·ClawNodeAI 보안오픈클로 보안AI 에이전트

AI 에이전트 보안: 1,800개 서버가 노출된 이유

2026년 2월, 보안 연구자 Jamieson O'Reilly가 Shodan으로 스캔했습니다. Shodan은 인터넷에 연결된 장비를 검색하는 도구입니다.

결과: 1,800개 이상의 오픈클로 인스턴스가 인터넷에 완전 노출.

노출된 내용은 이렇습니다.

  • OpenAI, Anthropic, Google API 키
  • Telegram, Slack 봇 토큰
  • OAuth 자격증명
  • 수개월치 채팅 기록
  • WhatsApp 인증 정보

일부 인스턴스는 인증 자체가 없었습니다. 브라우저에 주소를 입력하면 다른 사람의 AI 에이전트와 대화할 수 있었습니다.

왜 이런 일이 생겼는가

오픈클로 게이트웨이의 기본 보안 모델은 "localhost를 신뢰한다"입니다. 같은 컴퓨터에서 오는 요청이면 인증을 요구하지 않습니다. 개인 노트북에서 쓸 때는 합리적인 가정입니다.

문제는 두 가지 시나리오에서 발생합니다.

시나리오 1: 클라우드 서버(VPS)에 설치할 때

VPS에 오픈클로를 설치하면 기본 바인딩이 0.0.0.0입니다. 인터넷의 모든 사람이 접근할 수 있습니다. nginx 같은 역방향 프록시를 앞에 두면, 모든 요청이 127.0.0.1에서 온 것처럼 보입니다. 그 순간 localhost 신뢰가 무너집니다.

시나리오 2: WebSocket Origin 검증 누락

CVE-2026-25253, CVSS 8.8. DepthFirst의 Mav Levin이 발견한 취약점입니다.

악성 웹페이지를 열기만 해도 그 페이지가 오픈클로 게이트웨이에 연결을 시도합니다. Origin 검증이 없어서 연결이 됩니다. 밀리초 내에 시스템에서 임의 코드 실행이 가능했습니다.

링크 클릭했더니 컴퓨터가 해킹됐습니다. 이 취약점은 패치되었지만, 패치 전 기간이 존재했다는 사실은 중요합니다.

API 키가 평문으로 저장된 사건

PR #42672, #42554, #43759에서 드러난 일련의 이슈입니다.

첫 번째 문제: SecretRef 유출

API 키를 안전하게 관리하기 위한 SecretRef 기능이 있습니다. 그런데 이 기능이 실제로는 API 키를 models.json에 평문으로 다시 써버리는 버그가 있었습니다. 금고에 넣었다고 했는데 뒷문이 열려있던 상황입니다.

두 번째 문제: Fail-open 인증

로컬 인증이 실패하면 리모트 자격증명으로 조용히 폴백합니다. 인증 실패가 인증 우회로 이어지는 구조입니다.

과거에 models.json을 사용한 적이 있다면, 그 파일에 평문 API 키가 남아있을 수 있습니다. 키를 로테이션하고 파일을 직접 확인해야 합니다.

AI들의 SNS도 해킹당합니다

Moltbook은 AI 에이전트끼리만 참여하는 소셜 네트워크였습니다. Wiz 연구진이 발견한 것:

  • 150만 API 인증 토큰 공개 접근 가능
  • 35,000개 이메일 주소 노출
  • 4,000개 이상의 에이전트 간 비공개 메시지 — OpenAI/AWS 키 포함

에이전트끼리 공유한 비밀이 전부 공개되었습니다. AI 에이전트가 사용하는 서비스도 보안 문제에서 자유롭지 않습니다.

악성 스킬: "자연어 멀웨어"

2026년 1월 27일부터 3일간, ClawHavoc라고 불린 사건이 있었습니다.

  • 335개 악성 스킬 발견 (Atomic Stealer 맬웨어 배포)
  • 2,419개 의심 스킬 제거
  • ClawHub 전체 스킬 수: 5,705개 → 3,286개로 감소

실제 악성 스킬의 수법을 보면 놀랍습니다. GitHub Issue #37664에서 분석된 sakaen736jih/deep-research-hsk9iq5w 스킬입니다. "Deep Research Agent"로 위장했습니다.

  1. SKILL.md에 "openclaw-core 유틸리티를 먼저 설치하라"는 가짜 선행조건
  2. macOS에서 외부 IP에서 스크립트를 다운로드해 bash로 실행
  3. Windows에서는 비밀번호 보호 ZIP 다운로드 (자동 스캐너 우회)
  4. MCP 설정으로 외부 서버에 데이터 전송

스킬 파일 자체에는 악성코드가 없습니다. SKILL.md는 텍스트 파일입니다. 하지만 에이전트가 그 텍스트의 지시를 따르면, 사실상 실행 파일이 됩니다.

Simon Willison이 이걸 **"치명적 삼중주"**라고 불렀습니다.

  1. AI 에이전트는 도구를 실행할 수 있다
  2. AI 에이전트는 외부 콘텐츠를 읽을 수 있다
  3. AI 에이전트는 외부 콘텐츠의 지시를 자기 지시와 구분하지 못할 수 있다

세 가지가 결합되면 "자연어 멀웨어"가 가능해집니다. 이 위협에 대한 자세한 분석은 프롬프트 인젝션 방어에서 다룹니다.

메모리에 심는 시한폭탄

Cisco 연구진이 문서화한 공격입니다.

  1. MEMORY.md에 악성 지시를 심는다
  2. 평소에는 아무 일도 일어나지 않는다
  3. 특정 트리거 단어가 대화에 나타나면 발동한다

메모리에 무결성 검증이 없어서, 한 번 심어두면 세션을 넘어 주/월 단위로 잠복할 수 있습니다. AI의 기억에 시한폭탄을 심어두는 것입니다.

Microsoft도 경고합니다

Microsoft Defender 팀의 공식 권고:

"OpenClaw should be treated as untrusted code execution with persistent credentials. It is not appropriate to run on a standard personal or enterprise workstation."

공식 권고 사항:

  • 격리된 VM에서 실행
  • 전용 자격증명 사용
  • 비민감 데이터만 처리
  • 지속적 모니터링
  • 재빌드 계획 수립

AI 회의론자 Gary Marcus의 표현도 참고할 만합니다.

"It's like giving full access to your computer and all your passwords to a guy you met at a bar who says he can help you out."

극단적이지만 핵심을 찌릅니다. AI 에이전트에게 도구 실행 권한을 주는 것은 낯선 사람에게 컴퓨터 비밀번호를 알려주는 것과 구조적으로 같습니다. 도움이 되는 것과 위험한 것은 별개입니다.

보안 체크리스트

당장 확인하고 조치할 항목들입니다.

필수 조치:

  1. bind: "loopback" 설정 확인 — VPS라면 반드시 적용
  2. openclaw security audit --deep 실행
  3. models.json에 평문 API 키 없는지 확인
  4. API 키 로테이션 (과거에 models.json 사용한 적 있다면)

스킬 설치 시: 5. 설치 전 SKILL.md를 직접 읽고 외부 다운로드 지시가 있는지 확인 6. 설치 수 100회 미만 + 소스 미공개 스킬은 주의 7. openclaw update 실행 — 보안 패치 즉시 적용

지속 관리: 8. 워크스페이스 git 관리 — MEMORY.md 변조 감지용 9. 에이전트가 읽는 웹페이지, 이메일을 잠재적 공격 벡터로 인식 10. 업데이트 후 /status로 로드된 스킬 목록 확인


AI 에이전트 한계와 안전한 사용법은 AI 에이전트의 현실적 한계에서 다룹니다. 로컬 실행으로 보안을 강화하려면 로컬 AI vs 클라우드 AI를 참고하세요. 보안 설정이 완료된 환경으로 시작하려면 ClawNode 플랜을 확인해보세요.