
Cursor 3.2.16 Windows PoC 공개: 검증되지 않은 리포지토리의 루트에 있는 git.exe 실행
요약
Cursor Windows 버전에서 리포지토리 루트의 git.exe를 자동으로 실행하는 보안 취약점 PoC가 공개되었습니다. 사용자가 오염된 리포지토리를 열 경우 악성 실행 파일이 실행될 위험이 있으며, 워크스페이스 신뢰 설정의 중요성이 강조됩니다.
핵심 포인트
- Cursor 3.2.16 Windows 버전에서 git.exe 실행 취약점 확인
- 리포지토리 루트에 악성 git.exe 배치 시 자동 실행 가능성
- 워크스페이스 신뢰(Workspace Trust) 기능의 실질적 방어 능력 논란
- 검증되지 않은 리포지토리를 열 때 주의 필요
Mindgard는 7월 14일, Cursor가 Windows에서 프로젝트를 열 때 리포지토리 루트에 위치한 git.exe 파일을 찾아 실행하는 PoC(Proof of Concept)를 공개했습니다. 연구원들은 시연을 위해 Windows Calculator의 이름을 git.exe로 변경하여 프로젝트 폴더에 배치했습니다. 파일에 개별적으로 클릭하거나 확인 요청이 필요하지 않았습니다.
이는 Cursor에 대한 실질적인 규칙을 바꿉니다: 알 수 없는 리포지토리는 격리된 환경에서 열기 전까지 단순한 소스 코드 묶음으로 간주할 수 없습니다. 위험은 Git 자체나 인터넷의 모든 프로젝트에 있는 것이 아니라, 실행 파일 검색 기능이 워크스페이스(workspace)의 내용을 고려할 수 있다는 점입니다.
구체적으로 확인된 내용
공개된 검증은 4월 30일자 Cursor 3.2.16 Windows 버전에 해당하며, 공격 조건도 명확합니다: 사용자가 로컬에서 오염된(poisoned) 리포지토리를 받아 편집기에서 열어야 합니다. 이는 사람의 개입 없이 발생하는 '원격 zero-click'에 대한 주장이 아니며, macOS나 Linux용 증거도 아닙니다.
메커니즘이 화려한 시연보다 중요합니다. 만약 도구가 워크스페이스를 열 때 git.exe를 검색하는데, 프로젝트 루트의 파일이 적절한 후보로 간주된다면, 리포지토리는 코드 텍스트와 구성뿐만 아니라 실행 프로그램 선택에도 영향을 미칩니다. 그러면 '프로젝트 보기'라는 익숙한 동작 자체가 실행 경계가 됩니다.
Mindgard는 7개월 만에 이 공개를 했고, 상세 내용을 발표했습니다. 이 논의는 빠르게 하나의 보고서를 넘어섰습니다: Hacker News에 올라온 관련 게시물은 453점을 받고 202개의 댓글이 달렸습니다. 이는 취약점의 확산 정도나 개발자들의 위험 클래스 인지도를 측정하는 것이 아니라, 바로 이 스레드 자체에 대한 관심도와 논의 가능성을 나타내는 지표입니다.
증명의 한계
지금 가장 위험한 실수는 아마 PoC를 과소평가하는 것보다 이를 사실 이상으로 확장하는 것일 수 있습니다. 더 최신 버전인 3.11은 연구원이 설명된 테스트에서 공개적으로 검증하지 않았습니다. 따라서 '최신 Cursor는 확실히 취약하다'라는 문구는 확인되지 않은 것입니다.
Cursor는 shared responsibility (공동 책임) 및 Workspace Trust (워크스페이스 신뢰)를 근거로 이 시나리오를 버그 바운티 (bug bounty) 프로그램 범위 외로 분류했습니다. 이는 강력한 반론입니다. 개발 환경이 프로젝트의 출처에 대한 사용자의 판단을 완전히 대체할 수는 없으며, 워크스페이스에 대한 신뢰 여부가 위험한 동작에 영향을 미쳐야 하기 때문입니다.
하지만 여기에는 실질적인 문제가 남아 있습니다. 현재의 게시물들은 Workspace Trust가 정확히 설명된 Git probe (Git 탐색)를 차단하는지에 대한 독립적이고 최종적인 검증을 제공하지 않습니다. 그러한 답변을 얻기 전까지는 신뢰 설정을 유일한 방어책이 아닌, 추가적인 장벽으로 간주하는 것이 합리적입니다.

해결책: 탐색과 신뢰의 분리
낯선 리포지토리(repository)의 경우, 짧은 의사결정 모드를 활용하는 것이 유용합니다.
- 열기 전에 압축을 푼 폴더의 루트에 실행 파일이 있는지, 특히 개발 환경이 찾을 법한 도구 이름이 있는지 확인하십시오.
- 프로젝트를 초기 검토용으로만 사용한다면, Windows Sandbox 또는 일회용 VM (disposable VM)에서 여십시오.
- 이러한 환경에 업무용 비밀 정보(secrets), 토큰(tokens) 및 기타 민감한 데이터를 연결하지 마십시오.
- 관리되는 Windows 환경에서는 경로 기반(path-based) AppLocker 규칙이나 Windows App Control 정책을 사용하여, 외부 리포지토리가 나타나는 경로에서의 실행을 제한하십시오.
- 해시(hash) 기반 차단에만 의존하지 마십시오. 이는 악성 파일이 재빌드되거나 교체될 수 있는 문제를 해결하지 못합니다.
이는 외부 라이브러리, 예제 및 테스트 프로젝트의 사용을 중단해야 한다는 뜻이 아닙니다. '코드를 읽고 싶다'는 의도와 '이 폴더가 실행 프로그램을 검색하는 과정에 참여하도록 허용하겠다'는 의도를 분리해야 한다는 뜻입니다.
팀이 외부 리포지토리(repository)를 정기적으로 조사할 때는 인프라 경계(infrastructure boundary)를 설정하는 것이 유용합니다. 즉, 먼저 프로젝트를 일회용 환경(disposable environment)에서 압축 해제하여 검사하고, 비밀 정보(secrets)를 마운트하지 않으며, 실행 이벤트를 기록하는 방식입니다. 이러한 모드는 서비스 자체가 Cursor를 실행한다고 가정하지 않고, provod.ai에서 에이전틱 코딩(agentic coding)을 위한 별도의 회로(contour)로 구축할 수 있습니다.

provod.ai — 러시아 요구 사항을 고려한 기업용 AI 작업
개인 데이터가 포함된 시나리오에서는 모델뿐만 아니라 프로세스의 조직화도 중요합니다: 플랫폼은 러시아 법률 요구 사항을 고려하여 설계되었으며, 적용 가능성은 데이터 구성 및 클라이언트 설정에 따라 결정됩니다.
하나의 카탈로그에 텍스트 및 미디어용 최신 모델 포함: OpenAI의 GPT, Anthropic의 Claude, Google의 Gemini, xAI의 Grok, DeepSeek, Qwen, GLM, Kimi 및 MiniMax; 이미지용으로는 Nano Banana 2 Pro 및 GPT Image; 비디오용으로는 Seedance, Kling, Veo 및 Google Omni의 최신 버전이 제공됩니다. 또한 추론(reasoning), 검색, 문서, 임베딩(embeddings), 음악 및 오디오를 위한 모델도 사용할 수 있습니다.
기업 프로세스 요구 사항이 모델 요금을 인상하지 않습니다: 비용은 provod.ai의 자체 추가 마진 없이 제공업체의 공식 가격과 1:1로 유지됩니다.
기업 시나리오를 위한 조건을 확인하세요: 등록 양식 · 모델 가격 · 152-FZ에 따른 데이터 보호 · 데이터 처리 정책
귀하의 팀에게 무엇이 더 비용이 많이 들까요: 각 외부 리포지토리를 격리된 환경에서 처음 실행하는 데 몇 분을 쓰는 것인가요, 아니면 비밀 정보가 포함된 작업 환경에서 즉시 여는 권한을 갖는 것인가요?
AI 자동 생성 콘텐츠
본 콘텐츠는 Dev.to AI tag의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기