본문으로 건너뛰기

© 2026 Molayo

Dev.to헤드라인2026. 06. 15. 12:08

에이전트 스킬의 80%가 수행 내용을 속이고 있으며, 이를 발견한 스캐너조차 나머지는 잡을 수 없음을 인정했다

요약

Palo Alto Networks의 Unit42 연구에 따르면, OpenClaw 스킬 생태계 내 스킬의 80%가 선언된 의도와 다른 행동 편차를 보이는 것으로 나타났습니다. 특히 정적 분석 방식의 한계로 인해 동적 디스패치나 난독화된 페이로드를 사용하는 고도화된 적대적 공격을 탐지하기 어렵다는 점이 지적되었습니다.

핵심 포인트

  • 분석된 스킬의 80%가 선언된 의도와 실제 행동 간의 편차를 보임
  • 스킬의 18.9%가 적대적 의도를 포함하며, 5%는 다단계 공격 체인을 포함
  • 명령 수준 위협(Instruction-Level Threats)의 적대적 의도 비율이 96%로 가장 높음
  • 정적 분석(BIV)은 동적 디스패치 및 난독화된 페이로드 탐지에 한계가 있음

2026년 6월 11일, Palo Alto Networks의 Unit42는 OpenClaw 스킬 생태계에 적용된 행동 무결성 검증 (Behavioral Integrity Verification, BIV) 스캐너의 결과를 발표했습니다. 이들은 49,943개의 스킬을 크롤링했으며, 이는 현재까지 발표된 에이전트 스킬 행동에 대한 가장 규모 있는 체계적 분석입니다.

핵심 내용은 다음과 같습니다: 스킬의 80%(39,933개)가 선언된 의도와 최소 하나 이상의 행동 편차 (behavioral deviation)를 보였습니다. 이러한 스킬들 전반에 걸쳐 Unit42는 총 250,706개의 편차를 기록했으며, 이는 비준수 스킬당 평균 약 6개에 해당합니다.

스킬의 18.9%는 적대적 의도 (adversarial intent)를 보였습니다. 5%(2,490개)는 다단계 공격 체인 (multi-stage attack chains)을 포함하고 있었습니다.

위협 분류 (threat taxonomy)는 구체적입니다: 명령 수준 위협 (Instruction-Level Threats)이 가장 적대적인 범주였으며, 해당 클래스의 스킬 중 96%가 적대적 의도를 보여 모든 범주 중 가장 높은 비율을 기록했습니다. 자격 증명 탈취 (Credential theft)는 분류된 편차의 8.2%를 차지하는 가장 큰 단일 적대적 리프 (adversarial leaf)였습니다. 이것들은 예외적인 사례가 아닙니다. 체계적인 문제입니다.

데이터보다 더 중요한 공개 사항

데이터는 놀랍습니다. 하지만 더 중요한 발견은 Unit42의 방법론 섹션에 있는 단 한 문장입니다:

"BIV는 정적 (static) 방식만 지원하므로, 동적 디스패치 (dynamic dispatch), 리플렉션 (reflection), 그리고 난독화된 페이로드 (obfuscated payloads)는 AST 수준의 추출을 벗어납니다."

이는 주요 보안 업체가 자신들의 도구 — 방금 스킬의 80%에서 행동 편차를 찾아낸 바로 그 도구 — 가 가장 중요한 적대적 스킬들을 잡아낼 수 없다고 스스로 밝힌 것입니다. 동적 디스패치와 난독화는 탐지를 회피하도록 설계된 모든 스킬의 표준적인 기술 (tradecraft)입니다. 다단계 공격 체인을 가진 5%의 스킬은 BIV가 볼 수 없는 스킬 클래스와 거의 확실하게 크게 중첩될 것입니다.

이 문장을 주의 깊게 읽으십시오: 39,933개의 편차를 보이는 스킬을 찾아낸 도구가, 심각한 피해를 입힐 가능성이 가장 높은 스킬 클래스는 명시적으로 분석할 수 없다고 말하고 있습니다.

이는 Unit42의 연구에 대한 비판이 아니라, 정직한 방법론적 공개입니다. 하지만 이는 직접적인 함의를 갖습니다. 즉, 정적 사전 설치 분석 (static pre-installation analysis)은 아무리 철저하더라도 명확한 한계가 있다는 것입니다. 위험한 페이로드 (payloads)는 특히 이러한 분석을 피하도록 설계되었습니다.

행동 편차 (behavioral deviations)의 실제 모습

Unit42의 프레임워크에서 행동 편차란, 스킬이 수행한다고 선언하는 내용(매니페스트 (manifest), 설명, 메타데이터에 명시된 내용)과 실행 시 실제로 수행하는 내용 사이의 간극을 의미합니다. 그들이 기록한 편차 유형은 결코 미미한 수준이 아닙니다.

  • 명령 수준의 위협 (Instruction-level threats): 에이전트의 시스템 프롬프트 (system prompt)를 수정하거나 실행 도중 작업 지침을 무시(override)하는 스킬입니다. 이 카테고리는 가장 높은 적대적 비율을 보였습니다. 여기서 플래그(flag)된 스킬의 96%가 개발자의 실수라기보다 적대적 의도를 나타냈습니다.
  • 자격 증명 탈취 (Credential theft): 명시된 범위를 벗어나 인증 토큰 (authentication tokens), API 키, 또는 세션 자격 증명 (session credentials)에 접근하는 스킬입니다. 분류된 모든 편차 중 8.2%를 차지하며 단일 항목으로는 가장 큰 적대적 리프 (adversarial leaf)였습니다.
  • 데이터 유출 체인 및 원격 코드 실행 체인 (Exfiltration chains and remote code execution chains): 식별된 4가지 새로운 복합 위협 카테고리 중 두 가지입니다. 악성 행위를 여러 단계에 걸쳐 분산시키는 다단계 공격으로, 각 단계는 개별적으로 볼 때는 무해해 보입니다.

종합하자면, 이는 선언 계층(declaration layer) — 즉 스킬이 수행한다고 말하는 것 — 이 행동 계층(behavioral layer) — 즉 스킬이 실제로 하는 것 — 으로부터 거의 완전히 분리된 생태계의 모습입니다. 대규모 환경에서 80%의 편차율은 이상 현상이 아닙니다. 그것은 구조적인 상태입니다.

이러한 현상이 발생하는 이유

선언 계층은 애초에 강제력을 갖도록 설계되지 않았습니다. 스킬 매니페스트 (skill manifest)는 의도를 설명하는 텍스트 문자열일 뿐입니다. 현재의 에이전트 스킬 인프라에는 매니페스트가 행동을 정확하게 반영하는지 검증하는 장치가 없습니다. 선언된 범위를 기준으로 런타임 실행 (runtime execution)을 모니터링하는 것도 없습니다. 실행이 선언과 달라질 때 이를 알리는 신호도 없습니다.

이는 npm 공급망 위기 (supply chain crisis)를 초래했던 것과 동일한 패턴이 더 빠른 속도로 적용된 것입니다. npm의 패키지 메타데이터 — README, 설명 (description), 키워드 (keywords) — 는 패키지 코드가 런타임 (runtime)에 무엇을 수행할지에 대해 강제할 수 있는 어떠한 정보도 담고 있지 않았습니다. 그럴듯한 설명과 함께 게시된 악성 패키지들은 설치될 때 적대적으로 실행되었습니다. 선언 계층 (declaration layer)은 구조적으로 조작이 가능했습니다.

에이전트 스킬 (Agent skills)은 이보다 더 심각합니다. 스킬은 인간이 각 동작을 일일이 검토하는 것이 불가능한 환경에서, 오케스트레이션 인프라 (orchestration infrastructure)에 대한 높은 접근 권한을 가지고 자율적으로 작동하도록 설계되었습니다. 악성 npm 패키지는 이를 실행할 인간이 필요합니다. 하지만 악성 에이전트 스킬은 시간당 수천 개의 동작을 처리할 수 있는 자동화된 파이프라인 (automated pipeline) 내부에서 실행됩니다. 적대적 스킬 하나당 피해 범위 (blast radius)는 더 넓고, 탐지 시간 (detection window)은 더 짧습니다.

Unit42의 데이터는 아키텍처가 시사하는 바를 확인해 줍니다. 즉, 선언이 강제될 수 없다면 대부분은 정확하지 않을 것이라는 점입니다.

L3/L4 격차

신뢰 인프라 스택 (trust infrastructure stack)에는 네 가지 계층이 있습니다:

  • L1: 신원 (Identity). 이 에이전트는 누구인가? JWT/OIDC, did:key, JWKS 검증 가능한 자격 증명 (verifiable credentials). IETF Transaction Tokens 초안, DIF의 MCP-I 프로필, 그리고 A2A 프로토콜이 모두 여기서 작동합니다.
  • L2: 권한 부여 (Authorization). 이 에이전트는 무엇을 할 수 있는가? OAuth 범위 (scopes), 권한 선언 (capability declarations), 허용 목록 (allowlists).
  • L3: 설치 전 검증 (Pre-installation verification). 정적 분석 (Static analysis), 매니페스트 스캐닝 (manifest scanning), 출처 확인 (provenance checks). Unit42 BIV는 L3에서 작동합니다.
  • L4: 런타임 행동 모니터링 (Runtime behavioral monitoring). 에이전트가 실행 중에 실제로 수행하는 작업을 선언된 범위 및 과거 기준선 (historical baseline)과 비교하여 지속적으로 관찰합니다.

업계는 2026년에 L1과 L2 측면에서 상당한 진전을 이루었습니다. IETF, DIF, 그리고 OpenClaw 자체적으로 에이전트 신원 및 권한 부여에 관한 활발한 워킹 그룹 (working groups)을 운영하고 있습니다. L3에는 Unit42 BIV, 정적 분석 스캐너, 매니페스트 검증기 (manifest validators)와 같은 신뢰할 수 있는 도구들이 존재합니다.

L4는 거의 비어 있는 상태입니다.

Unit42의 방법론적 인정은 이것이 왜 중요한지를 정확히 알려줍니다. L3를 탈출하는 공격들이 바로 L4를 필요로 하는 공격들이기 때문입니다. 정적 분석 (Static analysis)은 숨기려 노력하지 않은 스킬들의 편차를 찾아냅니다. 동적 디스패치 (Dynamic dispatch)와 난독화 (Obfuscation)는 L3를 위한 회피 기술입니다. 이러한 기술을 사용하는 스킬은 모든 정적 스캔을 통과한 뒤, 런타임 (Runtime)에 적대적으로 실행됩니다.

여기서 5%의 다단계 공격 체인 (multi-stage attack chain) 발견은 특히 관련성이 높습니다. 다단계 공격은 정의상 그 적대적 행위를 여러 실행 단계에 걸쳐 분산시킵니다. 1단계는 깨끗해 보입니다. 2단계도 깨끗해 보입니다. 해악은 1단계와 2단계의 컨텍스트 (Context)가 개별 단계에서는 트리거되지 않았을 동작을 가능하게 만드는 3단계에서 발생합니다. 정적 분석은 각 스킬을 고립된 상태로 검사하기 때문에, 이 체인을 볼 수 없습니다.

런타임에서의 에이전트 신뢰도 점수 산정 (Agent trust scoring at runtime)

이 데이터가 제기하는 질문은 "어떻게 더 나은 정적 스캐너를 만들 것인가?"가 아닙니다. Unit42는 방금 스캐너를 구축하여 39,933개의 편차 스킬을 찾아냈으며, 위험한 꼬리 부분(tail)은 볼 수 없음을 인정했습니다. 질문은 이것입니다: 에이전트가 실행되는 순간의 신뢰 신호 (trust signal)는 어떤 모습인가?

런타임 행동 기반 신뢰도 점수 산정 (behavioral trust scoring)은 정적 분석과 다르게 작동합니다. "이 스킬의 코드가 선언과 일치하는가?"라고 묻는 대신, 실행 중에 다음과 같은 연속적인 질문을 던집니다:

  • 이 에이전트가 선언된 범위를 벗어난 리소스에 접근하고 있는가?
  • 이 에이전트의 행동 패턴이 과거의 기준선 (baseline)과 일치하는가?
  • 이 에이전트가 매니페스트 (manifest)에 존재하지 않는 엔드포인트 (endpoints)와 통신하고 있는가?
  • 이 에이전트의 토큰 소비 패턴이 명시된 작업에 비해 비정상적인가?
  • 이 에이전트가 자신의 지침이나 하위 에이전트 (downstream agents)의 지침을 수정하고 있는가?

이러한 신호들은 연속적입니다. 행동이 변화할 때 자연스럽게 저하됩니다. 정적 분석 (Static analysis)을 통과하여 30일 동안 깨끗하게 작동한 스킬은, 31일째 되는 날 자격 증명 (Credentials)을 유출하기 시작한 스킬과는 다른 런타임 신호 (Runtime signal)를 생성합니다. 정적 분석은 스냅샷 (Snapshot)을 제공하지만, 런타임 모니터링 (Runtime monitoring)은 스트림 (Stream)을 제공합니다.

Unit42 BIV 데이터는 스냅샷이 불충분하다는 것을 보여주는 현재까지 가장 강력한 제3자 증거입니다. 49,943개의 스킬에서 발견된 250,706개의 행동 편차 (Behavioral deviations)는 이 생태계에 체계적인 선언 문제 (Declaration problem)가 있음을 알려줍니다. 명시적인 방법론적 인정은 선언 문제에 대한 해결책 자체가 선언적 (Declarative)일 수 없음을 시사합니다. 여러분에게는 스트림이 필요합니다.

이것이 오늘날의 에이전트 배포에 의미하는 바

만약 여러분의 인프라가 에이전트 스킬 — MCP 서버, OpenClaw 도구, 커스텀 에이전트 파이프라인 (Custom agent pipelines) — 을 실행하고 있다면, Unit42 데이터는 직접적인 운영상의 시사점을 제공합니다. 즉, 여러분이 실행 중인 스킬들은 선언된 행동에 따라 검증되지 않았을 가능성이 높으며, 정적 스캐닝 (Static scanning)을 실행하더라도 가장 위험한 것들을 잡아내지 못할 것이라는 점입니다.

몇 가지 구체적인 단계는 다음과 같습니다:

에이전트 스킬 선언을 감사하십시오. 실행 중인 스킬이 수행한다고 주장하는 내용과 네트워크 트래픽, 시스템 호출 (System calls), API 액세스 로그가 실제로 보여주는 내용을 비교하는 것부터 시작하십시오. 그 격차가 바로 위험 표면 (Risk surface)입니다. npm을 통해 배포되는 모든 스킬에 대해 구조적 스캔 (Structural scan)을 실행할 수 있습니다:

npx proof-of-commitment npm <your-skill-package>

# MCP 서버의 경우
...

CI 파이프라인에 행동 게이트 (Behavioral gates)를 추가하십시오. 구조적 위험 플래그 — 비정상적인 의존성 추가, 게시 패턴 변경, 유지 관리자 이전 — 는 침해된 스킬이 프로덕션에 도달하기 전에 나타납니다. 저희는 이러한 플래그를 PR 코멘트에 배치하는 5분 CI 통합 가이드를 게시했습니다.

마켓플레이스 검증에 의존하지 마세요. OpenClaw 생태계만이 이 문제가 적용되는 유일한 곳은 아닙니다. 우리는 11개의 MCP 마켓플레이스 중 9개가 악성 서버를 탐지하지 못하고 수용하고 있음을 기록했습니다. Unit42의 데이터는 이것이 MCP에 국한된 문제가 아니라, 선언 계층 (declaration-layer)의 문제임을 확인시켜 줍니다. 행위 (behavior)보다 매니페스트 (manifests)를 신뢰하는 모든 생태계는 동일한 노출 위험을 안고 있습니다.

L4를 대비하십시오. 현재 에이전트 행위 모니터링 계층 (agent behavioral monitoring layer)은 매우 취약합니다. 이는 문제가 해결되었기 때문이 아니라, 도구 (tooling)가 배포 곡선 (deployment curve)을 따라잡지 못했기 때문입니다. 정적 분석 (static analysis)에 명확한 한계가 있다는 Unit42의 명시적인 인정은, 업계가 이러한 격차가 존재함을 알고 있다는 신호입니다. 에이전트 배포가 수동 검토가 불가능한 수준으로 확장되기 전에 모니터링 인프라를 계획하십시오.

80%라는 수치는 두 가지 방향 중 하나로 시간이 흐름에 따라 변할 것입니다. 생태계가 L4 모니터링에 투자하여 적대적 기술 (adversarial skills)이 더 빠르게 포착됨에 따라 이탈률 (deviation rate)이 떨어지거나, 혹은 에이전트 배포가 탐지 속도보다 빠르게 확장됨에 따라 이탈률이 상승할 것입니다. Unit42의 데이터는 스냅샷입니다. 역학 관계는 업계가 L3를 충분한 수준으로 취급할지, 아니면 최저 기준 (floor)으로 취급할지에 달려 있습니다.

방법론에 대한 인정은 그것이 최저 기준임을 말하고 있습니다.

_출처: Palo Alto Networks Unit42 / arXiv 2605.11770, "AI 에이전트 스킬을 위한 행위 무결성 검증 (Behavioral Integrity Verification for AI Agent Skills)," 2026년 5월. 49,943개의 OpenClaw 스킬 분석. 통계: 39,933개 (80.0%)가 1개 이상의 행위 이탈 (behavioral deviation) 발생; 총 250,706개의 이탈; 18.9%의 적대적 의도 (adversarial intent); 2,490개 (5.0%)의 다단계 공격 체인 (multi-stage attack chains); 자격 증명 탈취 (credential theft)가 가장 큰 적대적 리프 (adversarial leaf) (분류된 이탈의 8.2%); 지시문 수준 위협 (instruction-level threats)이 가장 높은 적대적 카테고리 (적대적 비율 96%). 한계: "BIV는 정적 분석 전용이므로, 동적 디스패치 (dynamic dispatch), 리플렉션 (reflection), 그리고 난독화된 페이로드 (obfuscated payloads)는 AST 수준의 추출을 회피함."

getcommit.dev에서 처음 게시되었습니다. Commit은 npm, PyPI, Cargo, Go 패키지를 행동적 약속 (behavioral commitment) 기준으로 평가합니다. 이는 별 (stars), README, 또는 다운로드 수보다 속이기 어려운 신호입니다.

AI 자동 생성 콘텐츠

본 콘텐츠는 Dev.to AI tag의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.

원문 바로가기
0

댓글

0