시스메틱 데일리코딩 못해도 AI로 자동화 시스템 만드는 법
기술·논문

커서 샌드박스 뚫렸다 — AI 에이전트엔 커널 경계가 필요하다

경로 처리 버그 2개로 원격코드실행까지, 커서 3.0에서 수정

AI 코딩 도구 커서(Cursor)가 에이전트 명령을 가두려고 만든 샌드박스가 두 개의 경로 처리 버그로 뚫렸다. 공격자가 조종하는 에이전트가 샌드박스 밖으로 파일을 쓰고, 끝내 원격 코드 실행(RCE)까지 도달할 수 있었다. 이번 사례는 애플리케이션이 스스로 그은 경계가 왜 근본적으로 취약한지를 보여준다.

무슨 일인가

커서는 에이전트가 실행하는 명령을 작업 디렉터리 단위 샌드박스에 가둔다. 이때 커서샌드박스라는 보조 도구가 '명령의 작업 디렉터리'에 쓰기 권한을 준다. 보안팀 카토 AI 랩스가 두 가지 우회 경로를 보고했고, 두 취약점 모두 2026년 6월 공개돼 치명적(Critical) 등급(CVSS 9.3·9.8)을 받았으며 커서 3.0에서 수정됐다. 무서운 점은 피해자가 특별한 행동을 할 필요가 없다는 것이다. 저장소·이슈·외부 도구 연결(MCP) 등에 심어진 프롬프트 인젝션으로 에이전트만 장악하면, 겉보기에 멀쩡한 지시 하나로 공격이 성립한다.

핵심 짚어보기

첫 번째(CVE-2026-50548)는 경로 탐색 문제다. 샌드박스가 '에이전트가 정한' 작업 디렉터리를 기준으로 쓰기 권한을 주다 보니, 민감한 위치를 작업 디렉터리로 지정하면 원래 작업 공간 밖까지 쓰기가 열렸다. 두 번째(CVE-2026-50549)는 심볼릭 링크 처리의 허점이다. 커서는 쓰기 전에 대상 경로가 작업 공간 안인지 정규화로 확인했는데, 정규화가 실패하면 원래 경로로 되돌아가 승인 없이 그대로 써버렸다. 에이전트가 작업 공간 안에 바깥을 가리키는 심볼릭 링크를 만들고 일부러 정규화를 실패시키면, 안전장치가 도리어 우회 통로가 됐다. 두 버그 모두 커서샌드박스 도구 자체를 덮어쓰면 이후 모든 명령이 샌드박스 없이 실행돼 단 한 번의 파일 쓰기가 완전한 원격 코드 실행으로 번졌다. 근본 원인은 하나다. 자기 자신을 가두는 프로그램이 모든 경로와 실패 상황을 완벽히 추론해야만 안전한, 애플리케이션 계층 격리의 한계다. 그래서 원문 필자는 커널이 실제로 열리는 파일을 검사하는 바깥 경계(리눅스 랜드록 등)가 필요하다고 짚는다.

1인기업 실전 적용 포인트

  • 즉시 업데이트: 커서를 쓰고 있다면 지금 바로 3.0 이상으로 올린다. 이것이 두 취약점의 공식 해결책이다.
  • 신뢰할 수 없는 입력 격리: 남이 만든 저장소·이슈·MCP 컨텍스트에 에이전트를 붙일 때는 자격증명 폴더(~/.ssh·~/.aws·.env)가 없는 별도 환경에서 돌린다.
  • 자격증명 분리: 코딩 에이전트를 돌리는 계정·환경변수에 실서비스 API 키를 두지 않아, 탈취되더라도 피해 범위를 좁힌다.
  • 커널 격리 검토: 민감한 작업은 컨테이너·네임스페이스 등 애플리케이션 밖에서 강제되는 격리 안에서 실행한다.

전망 / 주의점

이번 사건의 교훈은 '샌드박스를 믿지 말라'가 아니라, 자신이 가두는 대상과 같은 권한·같은 시야를 가진 격리는 논리적으로 설득당해 무력화될 수 있다는 것이다. 에이전트를 실무에 들일수록, 편의 기능이 아니라 격리 경계를 누가·어디서 강제하는지를 먼저 따져야 한다.

출처: 미디엄 (https://medium.com/@Koukyosyumei/a-cursor-sandbox-escape-shows-why-ai-agents-need-kernel-boundaries-281efdb56396)
← 전체 기사 보기