Devlery
Blog/AI Agent

프롬프트 인젝션 한 번으로 서버를 접수한다, CrewAI 4개 CVE가 드러낸 에이전트 보안의 민낯

CrewAI에서 프롬프트 인젝션을 시작으로 샌드박스 탈출, RCE, SSRF, 파일 읽기까지 체이닝되는 4개 CVE가 발견되었습니다. AI 에이전트 프레임워크의 구조적 보안 위기를 분석합니다.

인기 멀티에이전트 AI 프레임워크 CrewAI에서 4개의 치명적 보안 취약점이 발견되었습니다. 보안 연구원 Yarden Porat(Cyata)가 발견한 CVE-2026-2275, CVE-2026-2285, CVE-2026-2286, CVE-2026-2287은 단독으로도 위험하지만, 체이닝하면 프롬프트 인젝션 하나로 호스트 시스템 전체를 장악할 수 있습니다. CERT/CC가 VU#221883으로 공식 권고를 발표했지만, 4월 초 현재 완전한 패치는 아직 나오지 않았습니다.

프롬프트 인젝션이 "잘못된 답변을 유도하는 장난" 수준이던 시절은 끝났습니다. 이제 에이전트가 도구를 갖고 코드를 실행하는 시대에, 프롬프트 인젝션은 곧 원격 코드 실행(RCE)을 의미합니다.

AI 에이전트 보안, 2026년의 풍경

이번 CrewAI 사건은 고립된 사고가 아닙니다. 2025년부터 AI 에이전트 프레임워크의 보안 사고가 가속도를 붙이며 연쇄적으로 터지고 있습니다.

2025년 5월, Langflow에서 CVSS 9.8짜리 취약점(CVE-2025-3248)이 공개된 지 20시간 만에 실전 공격이 시작되었습니다. CISA는 이를 KEV(Known Exploited Vulnerabilities) 카탈로그에 등재했습니다. 같은 해 10월, Trail of Bits는 "Prompt injection to RCE in AI agents"라는 제목의 연구를 발표하며 프롬프트 인젝션이 에이전트 도구를 통해 시스템 수준 공격으로 연결되는 메커니즘을 체계화했습니다.

2026년에 들어서면서 상황은 더 악화되었습니다. 3월에만 ModelScope MS-Agent에서 CVSS 9.8 RCE 취약점이, CrewAI에서는 GitHub 관리 토큰이 에러 응답에 그대로 노출되는 사건(CVSS 9.2)이 발생했습니다. LiteLLM에서는 월 9,700만 다운로드 패키지에 악성코드가 삽입되는 공급망 공격이 터졌고, Langflow는 두 번째 CVE(CVE-2026-33017)로 다시 CISA KEV에 등재되었습니다.

Cisco의 "State of AI Security 2026" 보고서는 이 상황을 숫자로 압축합니다. 대부분의 조직이 에이전틱 AI 배포를 계획하고 있지만, 보안 준비가 되어 있다고 답한 곳은 29%에 불과합니다. 프롬프트 인젝션은 2025년 프로덕션 AI 배포의 73%에서 발견되었습니다. 에이전트 프레임워크가 보안 감사를 받는 속도보다 빠르게 진화하고 있다는 경고가 현실이 되고 있는 셈입니다.

4개 CVE 해부: 각각의 취약점이 만드는 공격 표면

이번에 발견된 4개 CVE를 하나씩 살펴보겠습니다.

CVE-2026-2275: Docker 없으면 샌드박스도 없다

Code Interpreter Tool이 활성화된 CrewAI 에이전트에 영향을 미칩니다. CrewAI는 코드 실행을 Docker 컨테이너에서 격리하도록 설계되어 있지만, Docker에 연결할 수 없으면 SandboxPython이라는 폴백 환경으로 자동 전환됩니다. 문제는 이 폴백 샌드박스가 ctypes 모듈을 차단하지 않는다는 것입니다. ctypes는 Python에서 C 라이브러리를 직접 호출할 수 있게 해주는 모듈로, 이를 통해 운영체제 수준의 임의 함수를 실행할 수 있습니다.

핵심은 fail-open 설계입니다. "보안 장치가 작동하지 않으면 보안 없이 그냥 실행한다"는 것인데, 이는 보안 설계의 가장 기본적인 원칙인 fail-closed(안전 장치 실패 시 작동 중단)를 정면으로 위반합니다.

CVE-2026-2287: 세션 중 Docker가 꺼지면 보안도 꺼진다

CVE-2026-2275와 밀접하게 연결된 취약점입니다. CrewAI가 런타임 중 Docker 가용성을 지속적으로 검증하지 않기 때문에 발생합니다. 세션 시작 시 Docker가 정상이었더라도, 이후 Docker가 중단되면 시스템은 아무런 경고 없이 비보안 샌드박스 모드로 전환됩니다.

보안 연구자들은 이를 "조용한 보안 격하(silent security downgrade)"라고 부릅니다. 관리자도 개발자도 모르는 사이에 보안 수준이 격하되는 것이야말로 가장 위험한 유형의 취약점입니다.

CVE-2026-2286: RAG 도구로 내부 네트워크를 뒤진다

RAG 검색 도구를 사용하는 CrewAI 에이전트에 영향을 미칩니다. 이 도구가 런타임에 제공되는 URL을 적절히 검증하지 않아 SSRF(Server-Side Request Forgery) 공격이 가능합니다. 공격자는 에이전트를 조종하여 내부 네트워크 서비스에 접근하거나, 클라우드 환경에서 인스턴스 메타데이터 엔드포인트(169.254.169.254)에 접근해 AWS 자격 증명이나 서비스 토큰을 탈취할 수 있습니다.

CVE-2026-2285: 파일 시스템을 마음대로 읽는다

JSON 로더 도구가 파일 경로를 검증 없이 그대로 읽습니다. path traversal 공격으로 서버 파일시스템의 어디든 접근할 수 있습니다. /etc/passwd, 환경변수 파일, SSH 키, 애플리케이션 설정 파일 등 민감한 정보가 모두 노출됩니다.

CVE 번호영향 범위공격 벡터핵심 결함
CVE-2026-2275Code Interpreter ToolDocker 미연결 시 폴백 실행fail-open 샌드박스 설계
CVE-2026-2287코드 실행 환경 전반런타임 중 Docker 중단지속적 Docker 검증 부재
CVE-2026-2286RAG 검색 도구URL 검증 없는 SSRF외부 입력 미검증
CVE-2026-2285JSON 로더 도구Path traversal파일 경로 미검증

체이닝의 위력: 프롬프트 인젝션에서 시스템 장악까지

4개 CVE가 각각도 위험하지만, 진짜 문제는 이들이 하나의 공격 체인으로 연결된다는 점입니다. 공격 시나리오를 단계별로 살펴보겠습니다.

1단계 · 진입점
프롬프트 인젝션
문서·웹페이지·이메일에 악성 명령 삽입
2단계 · CVE-2026-2275 / 2287
샌드박스 탈출 (RCE)
SandboxPython 폴백 → ctypes로 임의 코드 실행
3단계 · CVE-2026-2286
SSRF로 내부 네트워크 탐색
클라우드 메타데이터(169.254.169.254) → 임시 자격증명 탈취
4단계 · CVE-2026-2285
파일 읽기로 자격증명 수집
.env · SSH 키 · DB 자격증명 · API 토큰 탈취
5단계 · 최종 목표
시스템 완전 장악
호스트 + 클라우드 인프라 전체 제어권 확보

1단계 — 프롬프트 인젝션으로 진입합니다. 공격자가 에이전트에 직접 악성 프롬프트를 주입하거나, 에이전트가 처리하는 문서, 웹페이지, 이메일 등에 숨겨진 명령을 삽입합니다. 간접 프롬프트 인젝션의 경우, 에이전트가 RAG로 가져오는 외부 데이터에 악성 지시를 포함시키는 것만으로 충분합니다.

2단계 — 샌드박스를 탈출합니다. CVE-2026-2275 또는 CVE-2026-2287을 활용합니다. Docker가 없거나 세션 중 중단된 환경에서 SandboxPython 폴백이 발동하면, ctypes를 통해 Python 샌드박스 바깥의 시스템 함수를 호출할 수 있습니다. 이 시점에서 공격자는 호스트 머신에서 임의의 코드를 실행할 수 있게 됩니다.

3단계 — 내부 네트워크를 탐색합니다. CVE-2026-2286의 SSRF를 통해 내부 서비스와 클라우드 메타데이터에 접근합니다. AWS, GCP, Azure의 인스턴스 메타데이터 엔드포인트에서 임시 자격 증명을 획득하면, 클라우드 인프라 전체로의 래터럴 무브먼트가 가능해집니다.

4단계 — 민감한 데이터를 수집합니다. CVE-2026-2285로 서버 파일시스템을 뒤집니다. .env 파일, SSH 키, 데이터베이스 자격 증명, API 토큰 등 설정 파일에 저장된 모든 비밀을 가져올 수 있습니다.

5단계 — 시스템을 완전히 장악합니다. 코드 실행 능력과 수집한 자격 증명을 결합하면 호스트 시스템과 연결된 클라우드 인프라까지 완전한 제어가 가능합니다.

보안 연구자 Simon Willison이 정의한 "Lethal Trifecta" — (1) 비공개 데이터 접근, (2) 비신뢰 입력 노출, (3) 외부 전송 경로 — 가 CrewAI에서 완벽하게 충족됩니다. airia.com은 이를 이렇게 요약했습니다.

"에이전틱 시스템이 세 조건을 모두 갖추면 취약합니다. 마침표."

실무 영향: CrewAI를 쓰고 있다면 지금 당장 점검하세요

CERT/CC는 VU#221883 권고에서 다음과 같은 즉시 조치를 권고했습니다.

# ❌ 위험: 코드 실행이 활성화된 CrewAI 에이전트
agent = Agent(
    role="데이터 분석가",
    allow_code_execution=True,  # 이 설정이 공격 표면을 연다
    tools=[CodeInterpreterTool()]
)

# ✅ 완화: 코드 실행을 비활성화하고 Code Interpreter 제거
agent = Agent(
    role="데이터 분석가",
    allow_code_execution=False,  # 필수적이지 않다면 비활성화
    tools=[]  # Code Interpreter Tool 제거
)

코드 실행이 반드시 필요한 환경이라면, Docker 가용성을 지속적으로 모니터링하는 래퍼를 구현해야 합니다. Docker가 중단되면 에이전트 실행도 함께 중단시키는 것이 핵심입니다. 그 외에도 다음을 점검해야 합니다.

  • 네트워크 격리: CrewAI 에이전트가 내부 네트워크와 클라우드 메타데이터 엔드포인트에 접근할 수 없도록 방화벽 규칙 설정
  • 파일 시스템 접근 제한: JSON 로더 등 파일 접근 도구의 경로를 화이트리스트로 제한
  • 입력 검증 강화: 에이전트에 전달되는 모든 외부 입력에 대한 sanitization 적용
  • 공식 패치 모니터링: CrewAI GitHub 저장소의 security advisory를 구독하여 패치 발표 즉시 적용

CrewAI 유지보수팀은 ctypes 및 관련 모듈을 BLOCKED_MODULES에 추가하고, fail-closed 구성으로 전환을 평가 중이라고 밝혔지만, 아직 완전한 패치는 나오지 않은 상태입니다.

프레임워크CVECVSS공격 유형패치 상태CISA KEV
CrewAI
CVE-2026-2275
CVE-2026-2285
CVE-2026-2286
CVE-2026-2287
최대 9.xRCE · SSRF · 파일 읽기부분 패치미등재
Langflow
CVE-2025-3248
CVE-2026-33017
9.8RCE패치 완료2회 등재
ModelScope
MS-Agent
CVE-2026-22569.8RCE패치 완료미등재

이 사건은 CrewAI만의 문제가 아닙니다. 경쟁 프레임워크들의 보안 이력을 보면, AI 에이전트 프레임워크 전체가 비슷한 구조적 문제를 안고 있습니다. Langflow는 CISA KEV에 두 번이나 등재되었고, ModelScope MS-Agent는 Shell tool의 입력 검증 미비로 RCE가 가능했습니다. 공통점은 명확합니다 — 에이전트에게 도구를 쥐어주면서 그 도구의 사용 범위를 적절히 제한하지 않는 설계.

커뮤니티 반응: "fail-open이 말이 되냐"

개발자 커뮤니티

GitHub Discussions에서는 CrewAI의 엔터프라이즈 에디션과 오픈소스 에디션 간 보안 격차에 대한 논의가 활발합니다. 일부 개발자는 보안 기능이 유료 버전에만 집중되는 것은 오픈소스 커뮤니티에 대한 책임 방기라고 비판합니다. 또 다른 의견은 CrewAI가 미들웨어/플러그인 아키텍처로 보안을 모듈화하여, 커뮤니티가 자체적으로 보안 레이어를 추가할 수 있게 해야 한다는 것입니다.

가장 많은 공감을 받은 반응은 단순합니다.

"Docker가 없으면 그냥 실행을 거부해야 한다. fail-open이 말이 되냐."

CrewAI가 1년 사이 GitHub 토큰 유출(2025년 3월)과 CVE 4건(2026년 4월)을 연이어 겪으면서, 조직적 보안 성숙도에 대한 의문도 커지고 있습니다.

보안 연구 커뮤니티

Adversa AI는 4월 보안 리소스 정리에서 CrewAI CVE를 OpenClaw 위기, Chrome Gemini Live 취약점과 함께 2026년 4월의 주요 보안 사건으로 분류했습니다. Simon Willison의 "Lethal Trifecta" 프레임워크가 CrewAI 사례에 정확히 들어맞는다는 점을 여러 보안 연구자가 지적하고 있습니다.

업계 반응

PALO ALTO Networks는 AI 에이전트를 "2026년 최대 내부 위협"으로 지목했습니다. 프롬프트 인젝션이라는 공격 벡터가 기존 방화벽이나 WAF로는 탐지/차단이 어렵기 때문입니다. 에이전트가 정상적인 도구 호출을 하는 것처럼 보이면서 실제로는 악성 작업을 수행하는 상황을 기존 보안 인프라로 구분하기는 매우 어렵습니다.

전망과 시사점: 에이전트 보안의 구조적 전환이 필요하다

이번 CrewAI CVE 4개는 AI 에이전트 보안 논의의 방향을 바꿀 수 있는 사건입니다.

첫째, 프롬프트 인젝션이 "모델 수준 문제"에서 "인프라 수준 위협"으로 격상되었습니다. 과거에는 프롬프트 인젝션의 결과가 잘못된 답변이나 가드레일 우회 정도였습니다. 하지만 에이전트가 코드 실행, 파일 접근, 네트워크 요청 등의 도구를 갖게 되면서, 프롬프트 인젝션은 곧 시스템 수준 공격의 시작점이 됩니다. 이는 프롬프트 인젝션에 대한 방어 전략 자체가 바뀌어야 한다는 것을 의미합니다.

둘째, fail-closed 설계 패턴이 표준이 되어야 합니다. Docker 의존적 샌드박싱의 한계가 명확해졌습니다. 보안 장치가 작동하지 않을 때 "일단 실행"하는 것이 아니라 "실행을 거부"하는 설계가 기본이 되어야 합니다. 이번 사건 이후 다른 에이전트 프레임워크들도 자체 폴백 메커니즘을 점검할 것으로 예상됩니다.

셋째, 에이전트 프레임워크 선택 시 보안이 핵심 기준이 될 것입니다. 지금까지 에이전트 프레임워크 선택은 기능, 편의성, 커뮤니티 크기 중심이었습니다. 하지만 Langflow(CISA KEV 2회), CrewAI(토큰 유출 + CVE 4건), ModelScope(RCE), LiteLLM(공급망 공격) 등 주요 프레임워크들이 연이어 심각한 보안 사고를 겪으면서, 보안 감사 이력, 취약점 대응 속도, 샌드박싱 아키텍처가 프레임워크 평가의 핵심 축으로 부상할 것입니다.

CrewAI 보안 취약점 CVE-2026-2275, 2285, 2286, 2287 — 샌드박스 탈출과 호스트 장악으로 이어지는 4개 취약점

넷째, 다층 방어가 필수입니다. 입력 검증만으로는 프롬프트 인젝션을 완전히 막을 수 없습니다. 에이전트 권한 최소화(least privilege), 외부 전송 제한, 네트워크 격리, 감사 로깅 등을 결합한 깊이 있는 방어 체계가 필요합니다. OWASP의 "Top 10 for Agentic AI"와 같은 프레임워크 수준의 보안 가이드라인에 대한 요구도 높아지고 있습니다.

이번 사건이 가리키는 방향은 분명합니다. AI 에이전트가 프로덕션 환경에 확산될수록, 보안은 "나중에 추가할 기능"이 아니라 "설계의 첫 번째 원칙"이 되어야 합니다. CrewAI 4개 CVE는 그 교훈을 가장 비용이 적은 방법으로 알려준 셈입니다. 아직 실전 공격이 확인되지 않은 지금이 대비할 수 있는 마지막 기회일 수 있습니다.