Snowflake AI 샌드박스 탈출: 컨테이너 격리를 우회한 CVE-2026-3847 해부

Snowpark Container Services에서 발견된 CVE-2026-3847 샌드박스 탈출 취약점의 공격 체인, 대응 타임라인, 클라우드 AI 격리 기술 비교를 정리한다.

2026-08-14 · 최초 발행 2026-03-19

Snowpark 컨테이너에서 무슨 일이 벌어졌나

2026년 초, Snowflake의 AI 실행 환경에서 샌드박스 탈출 취약점이 발견됐다. 격리된 컨테이너 안에서 실행되던 코드가 그 경계를 벗어나 호스트 시스템과 인접 테넌트의 데이터에 접근할 수 있는 경로가 존재했던 것이다. Fortune 500 기업의 약 40%를 포함해 금융·헬스케어·리테일 업계의 고민감 데이터가 이 플랫폼 위에서 처리된다는 점을 감안하면, 단순한 버그 리포트를 넘어 클라우드 AI 격리 설계 전반을 다시 보게 만든 사건이다.

Snowflake의 AI 스택은 몇 개 층으로 나뉜다. Cortex AI가 LLM 추론·벡터 검색·모델 학습을 완전관리형으로 제공하고, 그 아래 Snowpark가 사용자 Python/Java/Scala 코드를 컴퓨팅-투-데이터 방식으로 실행하며, Snowpark Container Services는 OCI 호환 컨테이너를 통해 GPU 워크로드와 커스텀 AI 모델 서빙을 지원한다. 문제는 바로 이 컨테이너 계층의 격리 경계에서 발생했다.

컨테이너 격리가 뚫린 경로

취약점의 근본 원인은 Snowpark Container Services의 런타임 구성 결함과 커널 네임스페이스 처리 오류가 겹친 데 있다.

정상 경로취약점 경로사용자 제출 AI 코드Snowpark 컨테이너 런타임cgroups / 네임스페이스 격리격리 경계 검증격리된 실행 완료커널 네임스페이스 우회호스트 procfs 접근마운트 네임스페이스 탈출호스트 파일시스템 접근클라우드 IMDS 메타데이터탈취IAM 자격증명 획득 테넌트 스토리지 접근

진입점은 Snowpark Python UDF 안에서 특수 제작된 ctypes.CDLL 호출이었다. 임의 공유 라이브러리를 로딩할 때 경로가 검증되지 않아 허용 라이브러리 화이트리스트를 우회할 수 있었다. 여기서 /proc/self/ns/를 통해 네임스페이스 파일 디스크립터를 확보한 뒤 setns() 시스템 콜로 호스트 마운트 네임스페이스에 참여하는 것이 다음 단계였고, seccomp 필터가 적용되지 않았거나 우회 가능한 시스템 콜 세트가 남아 있었던 것이 이를 가능하게 했다. 컨테이너에 과도하게 부여된 CAP_SYS_ADMIN capability, runc의 파일 디스크립터 누수(CVE-2024-21626과 유사한 패턴), cgroup v1의 release_agent를 이용한 호스트 명령 실행까지 겹치면서 권한 상승 경로가 여럿 존재했다.

실제 공격 시퀀스는 다음과 같이 이어진다: 일반 사용자 권한으로 악성 UDF를 등록하고 → ctypes로 커널 인터페이스를 직접 호출해 → 마운트 네임스페이스를 탈출한 뒤 /var/lib/docker/overlay2에 접근하고 → 호스트 메타데이터 서비스(169.254.169.254)에 HTTP 요청을 보내 임시 IAM 자격증명을 탈취하고 → S3/Azure Blob/GCS 버킷에서 타 테넌트 데이터를 열람한다. 디스크 기록을 최소화하는 무파일(fileless) 방식이라 포렌식 탐지도 까다로웠다. 연구팀은 GPU 워크로드에서 CUDA 드라이버의 /dev/nvidia* 디바이스 접근을 통한 추가 공격 벡터도 함께 보고했으며, 패치 전 기준 통제 환경에서의 재현 성공률은 약 87%였다.

발견부터 패치까지

  • 발견: 클라우드 보안 업체 Wiz Research와 독립 보안 연구자 그룹이 2025년 11월 내부 침투 테스트 중 최초 식별
  • 책임 공개: 2025-12-03 Wiz Research → Snowflake 보안팀 초기 보고
  • 심각도 확정: 2025-12-15 CVSS 9.1(Critical) 평가
  • 임시 완화: 2026-01-20 배포
  • 전체 패치: 2026-02-14 롤아웃 완료
  • 공개: 2026-03-05 CVE-2026-3847 공식 등록 및 보안 권고 발행

영향 범위는 패치 이전 버전의 Snowpark Container Services 전체와 Cortex AI Functions 중 Python 런타임 사용 기능이며, AWS us-east-1·eu-west-1·Azure eastus 등 주요 리전이 포함됐다. 잠재적 영향 테넌트 수는 추산 수천 개 기업 계정에 이른다. Snowflake는 공식적으로 "야생(in-the-wild) 악용 증거 없음"이라고 발표했지만, 일부 보안 커뮤니티는 공개 전 PoC가 유출됐을 가능성을 제기했다. 데이터 유형별로는 금융 거래 데이터와 고객 PII·PHI가 고위험, 내부 ML 모델 가중치가 중간 위험, 집계·익명화 데이터가 낮은 위험으로 분류됐다.

Snowflake의 대응은 두 단계로 나뉜다. 1월의 즉각 완화 조치에서는 CAP_SYS_ADMIN 등 위험 capability를 제거하고 /proc 마운트에 read-only + hidepid=2를 강제했으며 IMDS 방향 네트워크 egress를 차단했다. 2월의 전체 패치에서는 컨테이너 런타임을 gVisor(Google의 사용자 공간 커널) 기반으로 교체해 시스템 콜을 사용자 공간에서 인터셉트하도록 바꿨고, seccomp-BPF 프로파일을 전면 재작성했으며, ctypes 및 외부 라이브러리 로딩 경로에 화이트리스트를 강제하고 eBPF 기반 네트워크 정책으로 컨테이너 간 격리를 강화했다. 하드웨어 기반 격리(AMD SEV-SNP / Intel TDX) 도입과 런타임 이상 행위 탐지(RASP) 통합은 2026년 하반기 로드맵으로 남아 있고, 외부 보안 감사 주기도 연 1회에서 반기 1회로 단축됐다.

격리 기술은 보안과 성능을 맞바꾼다

이번 사고는 클라우드 AI 플랫폼 전반이 안고 있는 구조적 긴장을 드러낸다. AI 워크로드는 일반 웹 애플리케이션보다 훨씬 넓은 시스템 자원 접근을 필요로 한다 — GPU, 대용량 메모리, 고속 스토리지 I/O에 더해 Python 생태계의 광범위한 네이티브 확장(C 바인딩)까지 공격 표면을 넓힌다. 주요 격리 기술을 나란히 놓고 보면 이 트레이드오프가 뚜렷하다.

격리 기술 보안 강도 성능 오버헤드 AI 워크로드 적합성
표준 컨테이너 (runc) 낮음 최소 제한적
gVisor 높음 10~20% 중간
Kata Containers 매우 높음 20~30% 중간
Firecracker microVM 높음 15~25% GPU 미지원
하드웨어 TEE (SEV/TDX) 최고 5~15% 개발 중

커널 공유 아키텍처에서의 컨테이너 탈출, 공유 GPU 메모리를 통한 크로스-테넌트 유출, 클라우드 메타데이터 서비스 접근을 통한 자격증명 탈취, 공급망을 통한 악성 패키지 주입은 클라우드 AI 플랫폼에서 반복적으로 나타나는 취약 패턴이다. 2024년 Google Vertex AI 컨테이너 에스케이프 연구(Wiz, Project Nautilus)와 2025년 AWS SageMaker 공유 파일시스템 접근 취약점이 유사 사례로 꼽힌다. NIST AI RMF, CIS Benchmark for Container Security, OWASP LLM Top 10의 모델 격리 권고사항이 업계 표준 방어 체계로 참조된다.

이 사고에서 무엇을 점검해야 하는가

즉각 조치: Snowflake 플랫폼이 2026-02-14 이후 패치 버전인지 확인하고, Snowpark Container Services를 사용하는 워크로드를 전수 조사한다. AI/ML 실행 환경의 네트워크 egress 화이트리스트를 재검토하고 클라우드 IAM 역할에 최소 권한 원칙을 재적용한다.

중기 대응(3~6개월): 데이터 민감도 분류에 기반한 격리 정책을 멀티테넌트 AI 플랫폼 사용 전반에 수립하고, Snowflake 계정의 Activity Log·Query History에 이상 탐지 룰을 추가한다. 외부 공급 AI 플랫폼에 대한 정기 보안 평가를 실시하고 제로 트러스트 관점에서 AI 워크로드를 재설계할지 검토한다.

장기 전략(6개월 이상): 고민감 데이터는 전용 격리 환경(private deployment)을 검토하고, 하드웨어 기반 기밀 컴퓨팅 도입 로드맵을 세우며, AI 보안 레드팀 운영이나 외부 침투 테스트를 정기화한다. Snowflake 계약서에 보안 사고 통보 의무 SLA 조항이 있는지도 확인 대상이다.

개발팀 체크리스트: Snowpark UDF에서 ctypes·subprocess·os.system 사용을 금지하는 정책을 세우고, 사용 중인 Python 패키지에 SCA(Software Composition Analysis) 도구를 적용한다. CI/CD 파이프라인에 컨테이너 이미지 취약점 스캔을 자동화하고, Falco 등으로 런타임에서 비정상 시스템 콜을 모니터링한다.

AI 워크로드가 엔터프라이즈 핵심 데이터와 밀접하게 연결될수록, 실행 환경 격리는 선택 가능한 기술 옵션이 아니라 비즈니스 연속성과 데이터 주권을 지키는 최소 조건이 된다. Snowflake가 gVisor 도입으로 빠르게 대응한 것은 긍정적이지만, 플랫폼을 쓰는 기업 쪽에서도 제공자의 보안을 그대로 신뢰하기보다 독립적인 평가와 최소 권한 적용을 일상적인 절차로 삼아야 한다.

Sources

샌드박스 탈출컨테이너 보안클라우드 AI 보안CVE-2026-3847멀티테넌트 격리