
AI 에이전트에게 실행 권한을 부여하기 전의 경계 체크: computer use 일반화와 Cursor의 중대한 RCE (CVSS 9.8)로부터
요약
Google의 Gemini 3.5 Flash 내장 computer use 기능 출시와 Cursor의 심각한 RCE 취약점(DuneSlide)을 통해 에이전트 실행 권한 설계의 중요성을 다룹니다. 에이전트가 환경을 조작할 때 발생할 수 있는 보안 경계 설정과 간접 프롬프트 인젝션 위험을 경고합니다.
핵심 포인트
- Gemini 3.5 Flash의 computer use 내장화로 에이전트 구축 진입장벽 하락
- Cursor에서 CVSS 9.8 등급의 중대한 RCE 취약점(DuneSlide) 발견
- 에이전트에게 부여되는 실행 권한에 대한 명시적 설계 및 보안 경계 필요
- 샌드박스 무효화 및 심볼릭 링크를 이용한 권한 탈취 위험 주의
2026년 6월 24일, Google은 브라우저나 OS를 조작하는 「computer use」를 단독 전용 모델이 아닌 Gemini 3.5 Flash의 내장 도구(built-in tool)로서 제공하기 시작했다. 그 일주일 후인 7월 1일, Cato Networks는 에디터 「Cursor」에 대한 2건의 CVSS 9.8 취약성 「DuneSlide」를 공개했다. 실제 환경을 조작하는 권한을 에이전트에게 부여하는 흐름과, 그 권한이 간접 프롬프트 인젝션(Indirect Prompt Injection)으로 탈취되는 현실이 거의 같은 주에 맞물렸다.
나아가 6월 29일에는 Cursor의 iOS 앱이 공개되어, 에이전트가 수중에 없는 상태에서도 동작하며 스마트폰에서 PR을 머지(merge)할 수 있게 되었다. 공통된 논점은 하나, 바로 "에이전트에게 실행 권한을 부여하는 경계를 어떻게 설계할 것인가"이다. 이 기사는 그 경계를 오늘 다시 검토하기 위한 체크리스트로서 정리한다.
| 확인 항목 | 뉴스의 함의 | 수정할 사항 |
|---|---|---|
| computer use의 네이티브화 (Gemini 3.5 Flash) | 실제 환경 조작 에이전트가 1차 도구화되어 API 하나로 구축 가능 | 조작 대상 (브라우저/데스크톱/모바일)마다 허용하는 조작 범위를 명시적으로 설계한다 |
| ... |
- 2026년 6월 24일, Google은 공식 블로그를 통해 computer use를 Gemini 3.5 Flash의 내장 도구로 제공하기 시작했다. 기존에는 단독 Gemini 2.5 computer-use 모델로 제공되던 기능이 범용 모델의 도구로 통합된 형태가 된다.
- 에이전트는 브라우저·모바일·데스크톱 환경을 넘나들며 "보고, 추론하고, 조작한다"라고 설명되어 있다.
- 제공 경로는 Gemini API 및 Gemini Enterprise Agent Platform이다. 데모 환경은 Browserbase 상에서 호스트되고 있다.
원문: "Computer use is now a built-in tool supported in Gemini 3.5 Flash, delivering our best performance yet for agentic computer use tasks."
일본어 번역: "computer use는 Gemini 3.5 Flash에서 지원되는 내장 도구가 되어, 에이전트적인 computer use 태스크에서 당사의 최고의 성능을 제공한다" (Google 공식 블로그)
-
"별도의 모델을 구분하여 호출할" 필요가 사라져, 일반적인 도구 호출(tool calling)과 동일한 프레임워크 내에서 브라우저/OS 조작 에이전트를 구축할 수 있게 되었다. 진입 장벽이 낮아진 만큼, 후술할 보안 경계 설계 책임은 개발 측으로 넘어간다.
-
가격이나 벤치마크 (OSWorld 등)에 대해서는 여러 2차 보도에서 "GPT-5.5의 약 1/3 가격", "점수는 거의 동등"이라고 전하고 있으나, 공식 블로그 본문에 구체적인 수치가 명시되어 있지는 않다. 채택 판단은 2차 정보의 숫자를 맹신하지 말고, 자사 워크로드에서의 실측 (장시간 태스크의 성공률·비용)을 통해 결정하는 것이 안전하다.
-
2026년 7월 1일, Cato Networks (Cato AI Labs)가 Cursor에 대한 2건의 중대한 취약성을 「DuneSlide」로 공개했다. CVE-2026-50548과 CVE-2026-50549 모두 CVSS 9.8 (Critical)이다.
-
CVE-2026-50548: 샌드박스(sandbox)가 LLM의 제어 하에 있는 옵션인
working_directory파라미터의 비기본(non-default) 경로를 검증 없이 쓰기 허용 리스트에 추가하고 있었다. 이를 통해 샌드박스 실행 파일 자체를 덮어써서 샌드박스를 무효화할 수 있다. -
CVE-2026-50549: 심볼릭 링크(symbolic link)의 정규화(canonicalization)가 실패했을 때, 검증 전의 원래 symlink 경로로 폴백(fallback)하는 구현 결함. 프로젝트 외의 시스템 파일을 덮어쓸 수 있다.
-
공격 경로는 간접 프롬프트 인젝션(Indirect Prompt Injection)으로, 악의적인 MCP 서버 응답이나 오염된 웹 검색 결과(poisoned web search result)를 경유한다. 사용자의 승인을 필요로 하지 않는 제로 클릭(zero-click)으로 트리거될 수 있다.
-
수정은 Cursor 3.0 (2026년 4월 2일 출시)에서 제공되었다. 3.0 미만의 모든 버전이 영향을 받는다.
원문: "Both bugs are patched in Cursor 3.0, released April 2, and every version before 3.0 is affected."
일본어 번역: "두 버그 모두 Cursor 3.0(4월 2일 출시)에서 수정되었으며, 3.0 이전의 모든 버전이 영향을 받는다" (Cato Networks)
참고로, 공개일인 7월 1일은 블로그 공표일이며, 벤더에 대한 취약점 보고 자체는 더 이른 시기(2026년 2월)에 이루어졌다. 패치가 4월에 나왔음에도 불구하고, 구버전을 계속 사용하던 환경이 위험에 계속 노출되어 있었다는 점이 실무적인 교훈이 된다.
-
근본 원인은 "LLM이 자유롭게 지정할 수 있는 값(
working_directory)을 그대로 권한 경계(permission boundary) 결정에 사용했다"는 점에 있다. 에이전트에게 실제 환경 조작을 허용하려면, 모델 출력에 포함된 경로(path), 명령(command), 목적지(destination)는 항상 "신뢰할 수 없는 입력(untrusted input)"으로 취급하여 권한 경계 외부에서 검증해야 한다. - 심볼릭 링크(symlink) 정규화 실패 시 원래 경로로 폴백(fallback)하는 동작은 전형적인 페일 오픈(fail-open, 실패 시 열림)이다. 검증에 실패하면 조작을 중단하는 페일 클로즈(fail-close, 실패 시 닫힘)가 원칙이며, 이는 computer use 에이전트 전반에 적용되는 설계 지침이기도 하다. -
2026년 6월 29일, Cursor는 공식 블로그를 통해 iOS 앱을 퍼블릭 베타(public beta)로 공개했다. 모든 유료 플랜에서 이용 가능하다.
-
클라우드 에이전트는 격리된 VM(Virtual Machine) 상의 풀 개발 환경에서 구동되며, 변경 사항의 테스트, 검증 및 데모를 수행할 수 있다.
-
리모트 컨트롤(Remote Control)을 통해 로컬 데스크톱에서 실행 중인 에이전트를 스마트폰에서 지속적으로 조작할 수 있다. 음성 입력을 통한 태스크 기술, 임의의 프론티어 모델(frontier model) 선택, 앱 내에서의 PR(Pull Request) 머지(merge)도 지원한다.
-
Teams / Enterprise 플랜에서는 관리자가 대시보드에서 리모트 컨트롤을 활성화해야 한다.
원문: "Cursor for iOS is available now in public beta on all paid plans."
일본어 번역: "Cursor for iOS는 모든 유료 플랜에서 현재 퍼블릭 베타(public beta)로 이용할 수 있다" (Cursor 공식 블로그)
- 에이전트의 실행이 "데스크톱 상주"에서 분리되어, 무인 및 원격으로 실행되는 것을 전제로 한다. PR 머지까지 모바일에서 도달할 수 있다는 것은, 리뷰와 승인의 경계를 인간 측에서 명시적으로 쥐고 있지 않으면 거버넌스(governance)의 허점이 될 수 있음을 의미한다.
- Teams / Enterprise에서 리모트 컨트롤에 관리자 활성화가 필요한 이유는, 이 경계를 조직 차원에서 제어하기 위한 설계다. 도입 시에는 "누가, 어떤 리포지토리에서, 어디까지 자동 실행을 허용할 것인가"를 먼저 결정하고, 리모트 컨트롤 활성화는 이에 맞추어 진행한다.
computer use를 도입하기 전에:
- 에이전트에게 허용할 조작 대상(브라우저만 / 데스크톱 / 모바일)을 명시적으로 제한한다.
- 모델 출력에 포함된 경로, 명령, URL, 목적지를 "신뢰할 수 없는 입력"으로 간주하여 권한 경계 외부에서 검증한다.
- 파괴적인 조작(파일 쓰기, 삭제, 전송, 결제)은 인간의 승인을 거치는 경계를 마련한다.
신뢰할 수 없는 입력의 차단:
- MCP 서버 응답이나 웹 검색 결과를 승인 없이 그대로 실행 경로에 흘려보내지 않는다.
- 쓰기 허용 목록(allowlist)에 LLM 제어 하에 있는 경로를 동적으로 추가하지 않는다 (허용 대상은 정적으로 고정한다).
- 심볼릭 링크(symlink) 및 경로 정규화에 실패하면 조작을 중단한다(fail-close). 실패 시 폴백(fallback)하여 열리지 않도록 한다.
버전과 패치:
- Cursor를 3.0 이후 버전으로 업데이트한다 (3.0 미만은 DuneSlide의 영향을 받는다).
- 에이전트 통합 IDE 및 도구의 버전과 CVE를 전수 조사하고, 패치가 제공되었음에도 적용되지 않은 환경을 파악한다.
무인 실행의 거버넌스:
- "누가, 어떤 리포지토리에서, 어디까지 자동 실행을 허용할 것인가"를 먼저 결정한다.
- 리모트 컨트롤 등 원격 실행 기능은 조직의 대시보드 측에서 활성화를 관리한다.
- PR 머지 및 운영 환경 반영에는 모바일에서도 생략할 수 없는 리뷰 경계를 남겨둔다.
패턴 1: LLM이 지정한 값을 그대로 권한 경계에 사용함 → 대책: working_directory와 같이 모델 제어 하에 있는 파라미터를 쓰기 허용 목록이나 샌드박스(sandbox) 설정에 직접 연결하지 않는다. 허용 경계는 정적으로 고정하고, 모델 출력은 경계 외부에서 검증한다. DuneSlide의 CVE-2026-50548은 이러한 직접적인 연결이 근본 원인이었다.
패턴 2: 신뢰할 수 없는 외부 입력을 승인 없이 실행하게 함 → 대책: MCP 응답이나 웹 검색 결과는 간접 프롬프트 인젝션 (Indirect Prompt Injection)의 입구가 된다. 이를 실행 경로로 흘려보내기 전에, 승인 단계나 격리 (Isolation)를 거친다. Zero-click으로 도달될 수 있다는 전제하에 설계한다.
패턴 3: 검증 실패 시 fail-open(오류 시 허용) 상태가 됨 → 대책: 심볼릭 링크 (symlink) 정규화나 경로 검증이 실패하면, 원래 경로로 폴백 (Fallback)하지 말고 작업을 중단한다. "실패하면 닫기"를 기본값으로 설정한다.
패턴 4: 패치가 제공되었음에도 업데이트를 미룸 → 대책: DuneSlide의 수정 사항은 4월에 나왔으나, 7월 공개 시점에서 3.0 미만의 모든 버전이 대상이었다. 에이전트 도구는 버전과 CVE를 정기적으로 전수 조사(Inventory)해야 하며, "제공됨 = 안전"이 아니라 "적용됨 = 안전"으로 관리해야 한다.
- Introducing computer use in Gemini 3.5 Flash (Google, 2026-06-24)
- DuneSlide: Two Critical RCE Vulnerabilities in Cursor (Cato Networks, 2026-07-01)
- Cursor for iOS (Cursor, 2026-06-29)
AI 자동 생성 콘텐츠
본 콘텐츠는 Qiita AI의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기