Skip to main content
공개 노트

Snowflake Cortex AI 샌드박스 탈출 사건, 왜 기업은 더 긴장해야 할까

Views 16약 4분생성형 AI 활용
Summary

Snowflake Cortex AI 샌드박스 탈출 사건, 왜 기업은 더 긴장해야 할까

최근 Snowflake Cortex AI 기반 도구에서 "샌드박스를 벗어나" 악성 명령이 실행될 수 있었던 사례가 공개됐습니다1. AI를 데이터 플랫폼 안으로 들여오는 흐름이 빨라진 지금, 이 사건은 "편리한 에이전트"가 "새로운 공격면"이 될 수 있음을 한 번에 보여줍니다.

Snowflake Cortex AI란? '데이터 옆의 AI'가 가진 힘

Snowflake Cortex AI는 LLM 호출을 SQL 함수나 API 형태로 Snowflake 내부에서 실행하게 해주는 계층입니다. 요약·분류 같은 단일 작업부터, 검색(RAG)·에이전트·코딩 보조까지 한 울타리 안에서 돌아가도록 설계됐죠.

이 접근의 장점은 분명합니다. 데이터를 밖으로 내보내지 않고도 모델을 쓸 수 있고, 기존 RBAC·마스킹·감사 로그 같은 거버넌스 체계에 AI를 얹을 수 있습니다. 실제로 Cortex AI는 SQL에서 AI_COMPLETE 같은 함수로 모델을 호출하는 패턴을 강하게 밀고 있습니다2. "데이터 이동 없이 AI를 붙인다"는 건 보안팀과 플랫폼팀이 가장 좋아하는 문장입니다.

문제는, AI가 '답변만' 하는 게 아니라 '행동까지' 하기 시작하면 얘기가 달라진다는 점입니다.

"샌드박스 탈출 + 프롬프트 인젝션"이 위험한 이유

이번 이슈의 핵심은 간단합니다. 겉보기엔 정상적인 코드/문서(예: 오픈소스 저장소 README) 안에 숨겨진 지시문이 에이전트에게는 "따라야 할 업무 지시"로 읽힐 수 있다는 것, 그리고 그 지시가 명령 실행으로 이어질 수 있다는 것입니다13.

여기서 많은 사람이 착각하는 포인트가 하나 있습니다. "우리는 샌드박스가 있으니 괜찮다"는 믿음입니다. 하지만 샌드박스가 소프트웨어 플래그 하나로 꺼질 수 있거나, 특정 입력 형태에서 검증이 새면, 공격자는 그 '틈'만 찾으면 됩니다. 게다가 코딩 에이전트는 종종 개발 편의를 위해 로컬 환경, 셸, 자격증명 저장소 같은 민감한 영역과 맞닿아 있습니다. 즉, LLM의 출력이 곧바로 실행으로 연결되는 순간부터 보안의 단위는 '프롬프트'가 아니라 '툴체인 전체'가 됩니다.

해커뉴스에서도 비슷한 맥락의 비판이 나왔습니다. "스스로 비샌드박스 실행을 요청할 수 있으면 그건 샌드박스가 아니다"라는 뼈 있는 지적이죠4. 표현은 거칠어도, 설계 원칙 관점에선 꽤 정확합니다.

코딩 에이전트(Cortex Code)가 특히 민감한 '현장형' 도구인 까닭

Cortex Code는 자연어로 파이프라인/SQL/에이전트를 만들고 실행까지 가는 시간을 줄이겠다는 방향성을 갖고 있습니다. Snowflake는 이를 Snowsight, CLI, 로컬 개발 흐름까지 확장하며 "아이디어→프로덕션"을 단축시키겠다고 강조해왔습니다5.

그런데 바로 이 지점이 리스크의 근원입니다. 코딩 에이전트의 가치는 "실행"에 있고, 공격자의 목표도 "실행"에 있습니다. 이메일, 이슈, README, 로그처럼 외부에서 유입되는 텍스트는 얼마든지 오염될 수 있는데, 에이전트는 그것을 '업무 맥락'으로 받아들이기 쉽습니다. 결국 "데이터처럼 보이는 명령"이 들어오는 순간, 에이전트는 착한 자동화가 아니라 위험한 자동화가 됩니다.

게다가 프롬프트 인젝션은 SQL 인젝션처럼 "완벽 차단"을 약속하기 어렵습니다. 자연어는 너무 유연하고, 에이전트는 유연함을 먹고 자라니까요. 그래서 현실적인 답은 대개 하나입니다. "속지 마"를 더 말하기보다, "속아도 터지지 않게" 설계해야 합니다.

시사점: 'AI를 플랫폼 안에'만으로는 부족하다, 운영 설계가 답이다

이번 사건을 Snowflake만의 실수로 끝내면 교훈을 놓칩니다. Cortex AI 같은 '데이터 플랫폼 내 AI'는 계속 커질 것이고, GPT-5.4 같은 최신 모델을 같은 날 프리뷰로 올리는 속도 경쟁도 이어질 겁니다6. 따라서 기업이 챙겨야 할 체크리스트도 "모델 성능"에서 "에이전트 운영"으로 이동해야 합니다.

첫째, 실행 권한을 최소화하세요. 에이전트가 명령을 실행할 수 있다면, 그 권한은 개인 개발용과 운영용을 분리하고, 운영에서는 기본값을 '읽기 전용'에 가깝게 두는 게 맞습니다.

둘째, '오너 권한' 함정을 점검하세요. Cortex Search가 서비스 오너 권한으로 동작해 마스킹을 우회할 수 있다는 지적처럼7, AI 서비스는 종종 생성 주체의 권한이 사용자의 권한을 덮어버립니다. 에이전트/서치/함수 호출이 "누구의 권한으로 실행되는지"를 문서가 아니라 실제 구성으로 확인해야 합니다.

셋째, 입력을 신뢰 구역별로 나누고 검증 레이어를 두세요. README, 티켓, 로그, 이메일은 모두 '적대적 입력'이 될 수 있습니다. 실행 전 승인(confirmation) UX, 위험 명령 차단, 아웃바운드 네트워크 제한 같은 고전적 통제(하지만 매우 효과적인 통제)를 재도입해야 합니다.

결론은 하나입니다. AI를 Snowflake 안에 넣었다고 끝이 아니라, AI가 만지는 "명령·권한·데이터"의 경계면을 다시 설계해야 합니다. 에이전트 시대의 보안은 프롬프트가 아니라 운영 모델에서 결정됩니다.

참고

1Snowflake Cortex AI Escapes Sandbox and Executes Malware

2Snowflake Cortex AI: What It Actually Does and When to Use It

3Assistente de programação baseado em IA apresenta vulnerabilidade crítica apenas 2 dias após lançamento

4Snowflake AI Escapes Sandbox and Executes Malware | Hacker News

5Unveiling of Cortex Code: Snowflake's AI Coding Agent Revolutionizing Data Teams

6Announcing OpenAI GPT 5.4 on Snowflake Cortex AI

7Snowflake Cortex AI Search service can expose sensitive data

이 노트는 보도·비평·교육·연구 목적으로 작성되었습니다. 저작권 문의가 있으시면 에서 알려주세요.

틸노트는 사용자가 AI를 활용해 노트를 쉽게 작성하거나 편집할 수 있는 서비스입니다.

AI 스퀘어 단톡방에 함께해요

AI 활용과 틸노트 사용 팁을 나누는 오픈채팅방입니다. 입장 비밀번호는 tilnote입니다.

참여하기