본문으로 건너뛰기

© 2026 Molayo

Dev.to헤드라인2026. 05. 26. 00:43

우리가 AVE를 구축한 이유: CVE가 설계되지 않은 AI 에이전트용 취약점 표준

요약

전통적인 CVE 체계가 대응하지 못하는 AI 에이전트 특유의 취약점을 해결하기 위해 AVE(Agentic Vulnerability Enumeration)를 제안합니다. 자연어 페이로드와 프롬프트 인젝션 등 에이전트 환경에 최적화된 식별자, 점수 산정 표준, 탐지 패턴을 제공하는 것을 목표로 합니다.

핵심 포인트

  • 전통적 CVE는 자연어 기반 AI 에이전트 취약점 대응에 한계가 있음
  • AVE는 에이전트 전용 취약점 식별자 및 분류 체계 제공
  • 상태 유지 및 도구 액세스를 고려한 새로운 위험 점수 산정 방식 필요
  • 탐지 중심의 기록을 통해 스캐너가 활용 가능한 지표 제공

CVE-2025-49596. CVE-2025-68143. CVE-2026-30615.

이것들은 지난 1년 동안 MCP 취약점에 할당된 실제 CVE 번호들입니다. 각각은 실제 공격을 설명합니다. 하지만 그중 어느 것도 공격 클래스(attack class)가 무엇인지, AIVSS 위험 점수(risk score)가 얼마인지, 스킬 파일(skill file)에서 어떻게 탐지하는지, 또는 해결 방법(remediation)이 어떤 모습인지 알려주지 않습니다. 그러한 정보는 PDF, 블로그 포스트, 또는 연구자의 GitHub 리포지토리(repo)에 들어 있습니다. 만약 어딘가에 존재한다면 말이죠.

CVE는 전통적인 소프트웨어 취약점을 위해 구축되었습니다. 버퍼 오버플로(Buffer overflows). SQL 인젝션(SQL injection). 메모리 오염(Memory corruption). 이러한 식별 체계는 해당 세계에서는 작동합니다. 왜냐하면 취약점이 코드에 있고 해결책이 패치(patch)이기 때문입니다.

AI 에이전트 취약점은 특정한 방식으로 다릅니다. 페이로드(payload)는 자연어(natural language)입니다. "코드"는 프롬프트(prompt)입니다. 패치할 바이너리(binary)가 없습니다. 그리고 프롬프트 인젝션(prompt injection)이나 자격 증명 유출(credential exfiltration)과 같은 동일한 공격 클래스가 어떤 언어로, 어떤 문구로든, 모든 스킬 파일에서 나타날 수 있습니다. 공격 표면(attack surface)은 함수 호출(function call)이 아닙니다. 에이전트가 읽도록 지시받은 모든 문장입니다.

부족했던 점

우리가 2025년 말에 에이전트 구성 요소(agentic components)를 스캔하기 시작했을 때, 세 가지 문제에 직면했습니다:

안정적인 식별자(identifiers)의 부재. 모든 연구자가 공격 클래스를 서로 다르게 명명하고 있었습니다. "도구 오염(Tool poisoning)"과 "도구 설명 인젝션(tool description injection)"은 같은 것을 설명합니다. "목표 하이재킹(Goal hijacking)"과 "목표 오버라이드(goal override)"는 동일한 공격입니다. 안정적인 ID가 없다면, 공유된 분류 체계(taxonomy)에 매핑되는 탐지 규칙(detection rules)을 작성할 수 없습니다.

점수 산정 표준(scoring standard)의 부재. CVSS는 버퍼 오버플로를 점수 매기는 것과 동일한 방식으로 에이전트 취약점을 점수 매깁니다. 즉, 코드 경로(code path), 권한 수준(privilege level), 액세스 벡터(access vector)를 기준으로 합니다. 그 중 어느 것도 에이전트 취약점을 위험하게 만드는 요소를 포착하지 못합니다. 지속성 메모리(persistent memory)와 외부 도구 액세스(external tool access)를 가진 에이전트는, 상태가 없는(stateless) 챗봇에서의 동일한 인젝션과 비교했을 때 프롬프트 인젝션의 위험을 수십 배 증폭시킵니다.

탐지 중심의 기록이 없음. CVE 기록은 취약점이 악용된 후에 이를 설명합니다. 여기에는 정적 분석 (static analysis)을 위해 설계된 행동 지문 (behavioral fingerprints), 탐지 패턴 (detection patterns), 또는 침해 지표 (indicators of compromise)가 포함되지 않습니다. 스캐너는 익스플로잇 (exploit)이 실행되었을 때 어떤 일이 일어났는지가 아니라, 파일 내에서 무엇을 찾아야 하는지를 알아야 합니다.

AVE란 무엇인가

AVE - Agentic Vulnerability Enumeration은 에이전트형 AI (agentic AI) 구성 요소를 위한 공개 취약점 데이터베이스입니다. 모든 기록은 MCP 서버, 스킬 파일 (skill files), 시스템 프롬프트 (system prompts), 그리고 에이전트 플러그인 (agent plugins)에 영향을 미치는 별개의 공격 클래스 (attack class)를 다룹니다.

각 기록은 다음을 포함합니다:

  • 안정적인 식별자: AVE-2026-NNNNN
  • OWASP AIVSS v0.8 점수 (아래 참조)
  • 행동 지문 (Behavioral fingerprint): 텍스트 상에서 공격이 어떻게 나타나는지에 대한 설명
  • 행동 벡터 (Behavioral vectors): 공격 패턴의 구체적인 예시
  • 탐지 방법론 (Detection methodology): 정적으로 이를 찾는 방법
  • 침해 지표 (Indicators of compromise)
  • 완화 가이드 (Remediation guidance)
  • OWASP MCP Top 10 및 ASI 매핑
  • NIST AI RMF 및 MITRE ATLAS 매핑

기록은 공개 GitHub 저장소에 있는 JSON 파일입니다. API 키도, 계정도 필요 없습니다. Apache 2.0 라이선스입니다.

AIVSS: CVSS가 놓치는 부분을 점수화하기

점수 산정 공식:

AIVSS = ((CVSS_Base + AARS) / 2) * ThM * Mitigation_Factor

AARS는 에이전트 위험 점수 (Agentic Risk Score)로, 각각 0.0 / 0.5 / 1.0으로 점수가 매겨지는 10가지 에이전트 위험 증폭 요인 (Agentic Risk Amplification Factors, AARFs)의 합계입니다:

요인포착하는 내용
자율성 (Autonomy)에이전트가 인간의 승인 없이 행동함
...

도구 접근 권한이 없는 상태가 없는 (stateless) 챗봇에서의 프롬프트 인젝션은 4.0점을 받을 수 있습니다. 영구 메모리 (persistent memory), 도구 접근 권한, 그리고 멀티 에이전트 생성 (multi-agent spawning) 능력을 갖춘 에이전트에서의 동일한 인젝션은 8.5점을 받을 수 있습니다. CVSS는 이러한 차이를 표현할 수 없지만, AIVSS는 가능합니다.

48개의 기록 이후

현재 AVE 데이터베이스는 전체 에이전트형 AI 스택 전반에 걸친 공격 클래스를 다루는 48개의 기록을 보유하고 있습니다. 가장 최근에 추가된 항목은 다음과 같습니다:

  • AVE-2026-00046: MCP 도구 후킹 하이재킹 (MCP tool hook hijacking) (CRITICAL 9.1)
  • AVE-2026-00047: 에이전트 구성 요소 내 하드코딩된 자격 증명 (Hardcoded credentials in agent components) (HIGH 7.8)
  • AVE-2026-00048: 안전하지 않은 에이전트 위임 체인 (Unsafe agent delegation chains) (HIGH 8.2)

모든 기록은 Bawbel Scanner의 탐지 규칙 (detection rules)과 매핑됩니다. 스캐너가 AVE-2026-00001을 보고하면, 해당 결과는 IOC (침해 지표), 해결 방법 (remediation), 그리고 행동 지문 (behavioral fingerprint)이 포함된 api.piranha.bawbel.io/records/AVE-2026-00001의 전체 기록으로 연결됩니다.

목표

목표는 CVE를 대체하는 것이 아닙니다. CVE는 에이전트 인프라 코드의 구현 취약점 (implementation vulnerabilities)을 다룹니다. AVE는 에이전트 구성 요소에서의 행동 공격 패턴 (behavioral attack patterns)을 다룹니다.

둘 다 필요합니다. MCP 클라이언트 구현에서의 취약점은 CVE입니다. 에이전트에게 자격 증명을 유출하도록 지시하는 스킬 파일 (skill file)은 AVE입니다.

AI 에이전트 레지스트리가 확장됨에 따라, 공격이 일상화되기 전에 도구 (tooling)가 존재해야 합니다. 이것이 우리가 AVE를 구축한 이유이며, 이것이 AVE가 공개되어 있는 이유입니다.

AVE

링크

AI 자동 생성 콘텐츠

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

원문 바로가기
0

댓글

0