결론 먼저

서드파티 스킬 하나를 게시하는 것만으로, OpenClaw 에이전트의 토큰 소비를 최대 +107%, 실행 시간을 최대 +229% 늘리는 공격이 실제로 재현됐습니다. 이름은 Convergent Detour Hijacking(CDH)입니다. 테스트베드는 OpenClaw 2026.5.7이고, 기본 53개 네이티브 스킬 레지스트리에서 재현됐습니다.

핵심은 이겁니다. 공격 스킬은 코드 인젝션도, 프롬프트 인젝션도 아닌, 순수하게 자연어 메타데이터와 본문만으로 라우팅과 플래닝을 조작합니다. 그리고 과업 완료율은 거의 그대로 유지됩니다. 결과가 정상이라서 탐지가 안 되는 게 문제입니다.

공격 대상: 프로그레시브 디스클로저 스킬 시스템

OpenClaw를 포함한 최근 에이전트 플랫폼은 스킬을 두 단계로 다룹니다.

  1. 라우터가 각 스킬의 자연어 설명(메타데이터)만 보고 이번 과업에 필요한 스킬을 선정
  2. 선정된 스킬의 본문(instruction body)만 컨텍스트에 로드해서 플래너가 사용

이 구조는 컨텍스트 절약에 유리합니다. 근데 공격자 관점에서 보면 선단계(라우팅)와 후단계(플래닝)라는 연속된 통제 지점이 그대로 노출됩니다.

CDH의 동작 원리

공격자는 ‘코디네이터’라는 스킬 하나를 게시합니다. 겉보기엔 정상적이고 유용해 보이는 스킬입니다. 구조는 두 부분으로 나뉩니다.

  • 설명(description): 라우터가 “이 과업에 관련 있겠다”고 판단하게 만드는 최적화된 문구. 파일럿 실행 피드백을 반복 돌려서 튜닝합니다.
  • 본문(body): 로드된 뒤 플래너에게 “이 작업은 A 스킬과 B 스킬이 선행되어야 한다”는 식의 그럴듯한 의존성을 만들어냅니다.

실행 흐름은 이렇습니다. 정상 경로로 가던 에이전트가 코디네이터를 끌어들입니다. 코디네이터 본문이 불필요한 정상 스킬들을 ‘우회 경로’로 호출하게 만듭니다. 우회가 끝나면 원래 경로로 재진입합니다. 과업은 완수됩니다. 비용만 부풀어 있습니다.

Figure 1: 코디네이터가 만드는 우회 경로 Figure 1. CDH는 동일한 과업 결과로 돌아가기 전에 코디네이터 유도 우회를 삽입한다. (출처: arXiv 2608.12273 Figure 1)

Figure 2: CDH 전체 구조 Figure 2. 파일럿 기반 블랙박스 피드백으로 설명을 최적화하고(좌), 공유 근거로 본문을 정렬한다(중앙). (출처: arXiv 2608.12273 Figure 2)

실험 설정

  • 대상: OpenClaw 2026.5.7, 기본 53개 네이티브 스킬
  • 과업: 536개 다중 스킬 과업 구성, 45개는 파일럿용, 491개를 평가용 홀드아웃으로 사용
  • 환경: 격리된 우분투 VM + 모의(mock) 백엔드로 실제 부작용 차단
  • 백엔드 6종: DeepSeek-V4-Pro/Flash, MiniMax-M3, Qwen3.7-Max/Plus 등

수치

전체 실행에서 코디네이터 적중률은 단일 과업 78.0–96.6%, 멀티턴 82.0–94.7%입니다. DeepSeek-V4-Pro는 80.02%에서 멀티턴 88.98%로 오히려 올라갑니다. MiniMax-M3는 96.60%입니다.

적중 과업 기준 비용 증가:

지표단일 과업멀티턴
토큰 소비+49.6% ~ +80.8%+36.5% ~ +107.1%
캐시 토큰최대 +91.9%최대 +94.3%
스킬 호출 수+1.36 ~ +2.20회+1.36 ~ +2.20회

DeepSeek-V4-Pro 기준으로 토큰 +66.91%, 실행 시간 +92.45%. 공격 성공률(ASR)은 정의가 더 엄격해서(원 경로 유지 + 추가 스킬 모집 + 양쪽 완수) 70.8–80.5%입니다.

코디네이터 적중률은 백엔드 전반에서 78~96% 수준이고, 멀티턴 세션에서도 비슷하게 유지됩니다. 과업 완료율은 클린/공격 조건 차이가 최대 1.5%p입니다. 즉 공격이 걸려도 결과는 정상입니다.

절반씩만 있으면 안 된다

절제 실험이 이 공격의 구조를 잘 보여줍니다. DeepSeek-V4-Pro, 89개 과업 기준:

변형코디네이터 적중토큰 증가
Full CDH70/89 (78.7%)+57.9%
설명만(Attract-only)70/89 (78.7%)+26.4%
본문만(Detour-only)3/89 (3.4%)+44.4%

설명만 있으면 끌어들이긴 하는데 우유가 약합니다. 본문만 있으면 로드 자체가 안 됩니다. 두 단계가 한 세트로 묶여야 비로소 완전한 공격이 됩니다. 그래서 방어도 라우팅 메타데이터와 실행 본문을 함께 검사해야 합니다.

벤치마크 밖에서도 되나

논문은 검증을 하나 더 넣었습니다. 벤치마크 구축에 관여하지 않은 OpenClaw 사용자 3명이 자연스러운 과업 30개를 직접 작성했습니다. 결과: 코디네이터 적중 10/30 (33.3%), 적중 과업 전부 CDH 성립. 토큰 +45.3%, 실행 시간 +228.9%, 호출 +2.6회.

적중률은 벤치마크보다 낮게 나왔습니다. 분포에 민감하다는 뜻이고, 동시에 실사용자가 만든 과업에서도 우회 비용 폭탄은 그대로 재현됩니다.

방어 포인트

논문이 제시하는 방향은 두 가지입니다.

  • 설치 전 검토: 라우팅 설명이 스킬의 실제 역할과 일치하는지, 본문이 역할과 무관한 의존성을 만들지 않는지 확인
  • 런타임 모니터링: 설명 안 된 스킬 간 전환을 플래그 처리, 토큰·호출 예산 강제

주의할 점도 있습니다. 정상적인 다중 스킬 워크플로를 억제하면 안 됩니다. 그래서 방어 평가는 공격 억제율, 과업 완료율, 방어 오버헤드를 함께 재야 합니다.

내 해석

이 논문에서 실무적으로 중요한 건 숫자보다 관점 전환입니다. 지금까지 에이전트 보안 평가는 ‘최종 결과가 맞았느냐’에 몰려 있었습니다. CDH는 결과가 맞아도 궤도(trajectory)가 불필요하게 늘어날 수 있다는 걸 보여줍니다. 궤도 필요성, 즉 ‘이 호출이 사용자 목적에 정말 필요했나’를 함께 재야 한다는 요구입니다.

스킬 생태계를 운영하는 입장에서 가져갈 것 세 가지:

  1. 서드파티 스킬 설명과 본문의 정합성 검사를 설치 게이트에 넣기
  2. 실행 로그에서 불필요한 다중 스킬 전환 탐지
  3. 세션별 토큰·호출 예산을 상시 적용

최종 답이 정확한지만 보면, 비용은 조용히 새고 있을 수 있습니다.

더 실습해보고 싶은 분들께