roobrief개발자를 위한 IT 뉴스

개발·릴리스

Cursor 에이전트 명령은 회사 컴퓨터에서 돌릴 수 있지만, 취약점 검사는 Cursor 클라우드에서 돈다

클라우드 에이전트의 명령 실행은 회사 컴퓨터에 둘 수 있지만, 모델이 답을 만들 때 읽는 파일 내용까지 회사 안에 남는 것은 아니다.

Cursor가 9월에 기업용 기능을 두 가지 열었다. 9월 2일에는 클라우드 AI 에이전트(사용자 대신 여러 단계의 일을 스스로 처리하는 AI)가 파일을 고치고 명령을 실행하는 일을 회사가 가진 컴퓨터로 옮기는 셀프 호스트 머신(Self-Hosted Machines)을 발표했다. 9월 23일에는 풀 리퀘스트(다른 사람이 검토한 뒤 본 코드에 합치도록 올리는 변경 제안)에서 악용 가능한 버그를 찾는 시큐리티 리뷰(Security Review)를 팀(Teams) 요금제와 엔터프라이즈(Enterprise) 요금제에 열었다.

화면에서 요소를 집어 고치는 디자인 모드(Design Mode)와, 에디터에서 대화 여러 개를 나란히 보는 에이전트 탭(Agent Tabs)은 이 9월 발표가 아니다. 디자인 모드는 4월 2일 Cursor 3에서 처음 나왔고, 6월 5일에 요소를 여러 개 고르는 기능과 음성 설명이 더해졌다. 에이전트 탭도 4월 2일 Cursor 3 변경 기록에 있다.

화면의 요소를 집어 에이전트에 맡긴다

디자인 모드는 일반 웹 브라우저가 아니라 에이전트 창(Agents Window) 안의 브라우저에서 켠다. 맥에서는 Cmd+Shift+D로 켜고 끈다. 윈도우용 단축키는 문서에 없다.

요소를 하나 누르면 그 요소와 뒤의 코드가 에이전트에 넘어간다. 6월 5일부터는 여러 요소를 같이 집어 “이쪽을 저쪽에 맞춰라”처럼 시킬 수 있고, 말로 다음 수정을 넣을 수도 있다. 에이전트가 일하는 중에도 마이크는 열려 있다. 영역을 동그라미로 표시하면 그 표시는 멈춰 둔 화면 위에 올라가서, 에이전트는 사용자가 본 그 장면을 기준으로 한다.

집힌 요소에서는 두 가지가 전달된다. 페이지 어디의 어떤 부품인지(경로, 부품 이름, 속성, 계산된 모양, 부품이 받은 값)와, 주변 배치가 보이는 화면 캡처다. 수정이 끝나면 앱을 끄지 않고 화면만 다시 그린다. Cursor는 이 흐름에 자기 모델 Composer 2.5를 추천한다.

여러 일을 관리하는 창과, 에디터 안의 탭은 다르다

에이전트 창은 4월 2일에 일반 공개된 별도 화면이다. 에디터에서 Cmd+Shift+P를 누른 뒤 Open Agents Window를 고르면 열린다. 로컬, 클라우드, 원격 SSH(다른 컴퓨터에 접속해 작업하는 방식)의 에이전트를 한곳에서 보고, 클라우드에서는 여러 개를 나란히 돌릴 수 있다. 예전 편집기로 돌아가려면 같은 목록에서 Open IDE를 고른다. 출시 뒤 2주만 엔터프라이즈 관리자가 누구에게 열지를 제한할 수 있었고, 그 기간은 이미 지났다.

에디터 안의 에이전트 탭은 같은 변경 기록에 있지만 역할이 다르다. 대화 여러 개를 나란히, 또는 격자 모양으로 본다. 클라우드에서 일을 동시에 여러 개 돌리는 화면은 에이전트 창이다.

명령은 회사 컴퓨터, 판단은 Cursor 클라우드

9월 2일 변경 기록은 도구 실행을 회사 망 안에 두고, 코드베이스(저장소 안의 코드 전체)와 빌드 산출물과 비밀 값은 내부 컴퓨터에 남는다고 요약한다.

Cursor 문서(Self-Hosted Machines)는 판단을 Cursor 클라우드에 남긴다고 적는다. 파일을 고치고, 터미널 명령을 실행하고, 화면을 클릭하고, 로컬 MCP(AI가 외부 도구를 쓰는 연결 규격) 서버를 돌리는 일은 워커가 한다. 워커는 작업을 받아 실행하는 컴퓨터다. 무엇을 할지 정하고 추론(완성된 모델로 답을 만들어 내는 일)하는 과정은 Cursor 쪽이다.

실행 중에 워커는 필요한 파일 내용, 터미널 출력, 코드 차이, 화면 캡처, 로컬 MCP 결과, 어느 컴퓨터로 보낼지 정하는 정보를 Cursor에 보낸다. 바탕화면 공유를 켜면 그 화면도 나간다. 풀 리퀘스트와 대시보드에 보여 줄 화면 캡처, 영상, 로그 위치도 Cursor 저장소로 올라간다. 회사 안에 남는 것은 저장소 전체, 빌드 캐시(다시 만들지 않으려고 남겨 둔 중간 파일), 그 컴퓨터의 자격 증명이다. 비밀 값은 도구 출력과 산출물에 넣지 말라고 문서가 적는다.

프라이버시 모드를 켜면 워커가 보낸 코드를 Cursor와 모델 제공자가 학습에 쓰지 않는다. 그 코드가 나가지 않는다는 뜻은 아니다. 워커는 들어오는 포트를 열지 않고, Cursor 쪽으로 나가는 암호화된 웹 연결만 쓰면 된다. 산출물만 막으려면 cloud-agent-artifacts.s3.us-east-1.amazonaws.com으로 나가는 통신을 막으면 된다. 작업은 계속되고, 풀 리퀘스트와 대시보드에는 산출물이 안 보인다.

쓰는 방식은 두 가지다.

  • 마이 머신(My Machines)은 개인용이다. 자기 컴퓨터를 계정에 연결하며, 브라우저 로그인이나 개인 API 키(프로그램이 로그인 대신 제시하는 비밀 문자열)를 쓴다. 한 컴퓨터에서 에이전트를 여러 개 돌릴 수 있다. 대시보드에 저장한 비밀 값은 이 워커로 내려가지 않는다.
  • 팀 풀(Team Pools)은 조직이 워커를 모아 두는 방식이고, Cursor 문서는 엔터프라이즈 요금제를 요구한다. 인증은 서비스 계정 API 키만 된다. 서비스 계정은 사람 한 명이 아니라 팀이 쓰는 계정이다. 허용을 켜면 요청마다 고를 수 있고, 고르지 않으면 Cursor 인프라에서 돈다. 필수를 켜면 클라우드 에이전트 실행이 전부 자체 워커로 간다. 풀에서는 에이전트 하나당 컴퓨터 하나다.

9월 2일 변경 기록이 예시로 든 환경은 AWS Lambda, Coder, Cloudflare, Daytona, Modal, Namespace, Vercel, E2B다. 문서에는 쿠버네티스(여러 컨테이너를 묶어 관리하는 오픈소스 도구) 예시도 있다. 연결 상한은 사용자당 200대, 팀당 1,000대다. 모델 요금은 그대로이고, 컴퓨터 비용은 회사가 따로 낸다. Cursor가 관리하는 에이전트에는 실행 컴퓨터 비용이 포함된다.

문서는 대부분의 팀에 관리형을 먼저 권한다. 셀프 호스트는 망 밖으로 코드가 닿으면 안 되거나, 그래픽 계산용 칩(GPU)이나 아이폰·아이패드 앱 개발용 맥이 필요할 때 쓰라고 적는다. 비공개 Git 서버나 사내 패키지 저장소만 문제라면, 자체 워커보다 회사 망으로 들어가는 전용 연결을 먼저 보라고 한다. 문서 예는 AWS PrivateLink와 Cloudflare Tunnel이다.

변경 제안에서 악용 가능한 버그를 찾는다

시큐리티 리뷰는 9월 23일 팀 요금제와 엔터프라이즈 요금제에 열렸다. 대시보드에서 저장소를 고르면, 초안이 아닌 풀 리퀘스트를 코드베이스 맥락에서 읽고 악용 가능한 버그를 검토 코멘트 하나로 남긴다. 코드 스타일과 품질은 기존 Bugbot이 본다. 자동으로 병합하거나 코드를 고치지는 않는다.

이 검사는 회사 컴퓨터에서 하지 않는다. 보안 에이전트 문서는 시큐리티 리뷰와 저장소 취약점 스캔이 클라우드 에이전트 위에서 돌고, 설치 없이 Cursor 클라우드를 쓴다고 적는다. 클라우드 에이전트는 Cursor 클라우드의 가상 컴퓨터에 허용된 저장소를 복제한다. 그 복제본은 실행이 끝나면 바로 지워지지 않고, 스냅샷은 30일간 쓰이지 않으면 지운다. 예외가 하나 있다. 풀 리퀘스트 이벤트로 켜진 팀의 시큐리티 리뷰는 클라우드 에이전트가 아니라 Cursor가 관리하는 호스팅에서 돈다. 그 경로도 회사 컴퓨터가 아니다. 그 호스팅이 저장소 전체를 복제하는지는 이 문서에 없다.

찾는 범위는 다음과 같다. 주입 공격(데이터베이스 질의, 셸 명령, 화면 템플릿에 공격용 문장을 끼워 넣는 것), 로그인과 권한 검사 누락(코드를 정리하다 검사가 빠지는 경우 포함), 소스에 올라간 비밀 값, SSRF(서버가 공격자가 지정한 주소로 대신 요청을 보내는 문제)와 검증 없는 리다이렉트(요청을 다른 주소로 넘기는 응답), 안전하지 않은 역직렬화(저장해 둔 데이터를 프로그램 안의 값으로 되살릴 때 위험한 데이터가 섞이는 문제), 알려진 취약점이 있는 라이브러리를 들이는 변경이다. 사용자 입력이 어디에서 들어와 무엇을 거치는지도 따라간다.

항목마다 얼마나 위험한지, 공격이 이어지는 경로, 제안하는 수정이 붙는다. 이유를 적어 닫으면 그 풀 리퀘스트에서는 같은 지적을 다시 올리지 않는다. 팀 규칙을 넣으면 매 풀 리퀘스트에 적용한다. 예를 들어 외부 호출은 정한 클라이언트를 통해야 한다거나, 어떤 표는 요청 처리 코드에서 조회하면 안 된다는 식이다. 별도 가격은 이 발표에 없다.

같은 날 롤아웃(Rollouts)도 팀·엔터프라이즈에 열렸다. 배포될 때 환경마다 정상인지, 예전보다 나빠졌는지, 판단할 수 없는지를 보고한다. 혼자 병합하거나 되돌리지는 않고, 설정에 따라 되돌리는 풀 리퀘스트를 검토용으로 열거나 수정을 클라우드 에이전트에 넘길 수 있다. 소스 관리는 Origin 또는 GitHub, 신호는 Datadog 등에 연결한다. 기능 플래그(기능을 사용자마다 켜고 끄는 스위치) 연결은 곧 온다고만 적혀 있고, 10월 16일 현재 열렸는지는 확인하지 못했다. 시험 크레딧은 발표일부터 10일, 팀 약 50건, 엔터프라이즈 약 500건이었다. 10월 16일에는 그 기간이 지났고, 크레딧이 더 남아 있는지는 확인하지 못했다.

확인되지 않았거나 주의할 부분

  • 이 기능들을 한 번의 대규모 업데이트로 보면 맞지 않다. 화면 조작은 4월 2일과 6월 5일, 셀프 호스트는 9월 2일, 시큐리티 리뷰는 9월 23일이다.
  • “코드와 빌드 산출물이 밖으로 나가지 않는다”는 말은 Cursor 문서보다 넓다. 저장소 전체와 빌드 캐시, 컴퓨터 안 자격 증명은 남고, 실행에 필요한 파일 내용과 산출물은 Cursor로 나간다.
  • 셀프 호스트가 팀 요금제와 엔터프라이즈에 같이 열렸다는 말은 Cursor 문서와 다르다. 팀 풀은 엔터프라이즈 요금제다. 9월 2일 변경 기록은 팀이나 기업용 대기열이라고만 적어서, 팀 요금제 포함 여부는 그 문장만으로 확정할 수 없다.
  • 보안이 중요한 기업 고객의 채택이 빨라졌다는 수치나 공식 발표는 확인하지 못했다.
  • 시큐리티 리뷰가 모든 취약점을 막거나 찾은 버그를 스스로 고친다는 설명도 Cursor 발표에 없다.

개발자에게 달라질 수 있는 것

아래는 보도를 바탕으로 한 추정과 조언이다.

  • 보안 검토 문서에는 “코드가 안 나간다”고 쓰지 않는다. 남을 것과 나가는 것을 Cursor 문서 기준으로 나눠 적는다. 산출물 업로드를 막을지는 그 저장소 주소로 나가는 통신을 따로 막는지로 본다.
  • 팀 풀을 쓰려면 엔터프라이즈 요금제와 컴퓨터 운영 비용이 든다. 모델 요금은 그대로다. 개인이 자기 컴퓨터에서 시험하는 경로는 마이 머신이다. 문서가 대부분의 팀에 권하는 기본은 Cursor가 관리하는 클라우드 에이전트다.
  • 시큐리티 리뷰는 회사 컴퓨터에서 돌지 않는다. 저장소마다 켜야 하고, 초안 풀 리퀘스트는 대상이 아니다. 닫은 지적은 그 풀 리퀘스트에서 다시 안 올라오니, 닫기 전에 이유를 남긴다. 스타일과 품질은 Bugbot 쪽이다.
  • 디자인 모드는 에디터만 켜 두면 보이지 않는다. 에이전트 창의 브라우저에서 Cmd+Shift+D로 연다. 단축키 표는 맥 기준만 문서에 있다.

앞으로 볼 것

기능 플래그와 롤아웃의 연결이 열렸는지, 시큐리티 리뷰의 가격과 없는 문제를 문제로 보는 비율이 공개되는지, 추론에 쓰는 파일 내용까지 회사 안에 남기는 선택이 생기는지다.

출처

출처: cursor.com

← 목록