커뮤니티 입장하기

코딩 에이전트 권한과 안전 설정 이해하기

코딩 에이전트의 권한 설정은 에이전트가 어떤 파일과 명령, 네트워크를 사람에게 묻지 않고 쓸 수 있는지 정하는 장치입니다. 언제 물어볼지 정하는 승인 모드와 기술적으로 어디까지 닿을 수 있는지 막는 샌드박스 두 가지로 나뉩니다.

같은 말:코딩 에이전트 권한자동 승인 모드YOLO 모드dangerously-skip-permissions프롬프트 인젝션

새로 올라온 개념이에요. 먼저 읽어 보고 퀴즈도 풀어 보세요
Share
목차
  1. 🤔 승인 창이 번거로워 자동 승인을 켜고 싶을 때
  2. 🔑 코딩 에이전트 권한의 정의
  3. 🎚️ 도구별 권한 모드
  4. ⚠️ 전부 자동 모드가 위험한 이유
  5. 🧱 먼저 막아야 할 다섯 가지
  6. 🧰 샌드박스를 켜는 방법
  7. 🧪 안전하게 시작하는 순서
  8. ❓ 자주 묻는 질문
  9. 📋 3줄 요약

🤔 승인 창이 번거로워 자동 승인을 켜고 싶을 때

코딩 에이전트를 쓰다 보면 "이 명령을 실행해도 될까요?"라는 창이 계속 뜹니다. 몇 번 누르다 보면 전부 허락하는 옵션을 찾게 되고, 인터넷에는 --dangerously-skip-permissions나 YOLO 모드로 켜면 편하다는 글도 많습니다.

편한 대신 무엇을 내주는지 알고 켜는 것과 모르고 켜는 것은 결과가 다릅니다. 지금부터 코딩 에이전트의 권한이 어떻게 나뉘는지, 도구마다 어떤 모드가 있는지, 자동 승인이 왜 위험한지, 무엇부터 막아야 하는지 정리합니다. 옵션 이름은 2026년 9월 28일 각 도구의 공식 문서 기준입니다.

🔑 코딩 에이전트 권한의 정의

코딩 에이전트의 권한 설정은 에이전트가 어떤 파일과 명령, 네트워크를 사람에게 묻지 않고 쓸 수 있는지 정하는 장치입니다.

권한은 두 가지로 나눠 보면 이해가 쉽습니다.

  • 승인 모드: 어떤 행동 앞에서 멈추고 사람에게 물어볼지 정합니다
  • 샌드박스: 운영체제 수준에서 에이전트가 쓸 수 있는 폴더와 네트워크를 막습니다. 에이전트가 물어보지 않고 무언가를 하려 해도 기술적으로 닿지 않게 합니다

두 가지는 서로를 보완합니다. 승인 모드만 있으면 사람이 창을 잘못 누르는 순간 막을 것이 없고, 샌드박스만 있으면 허용된 폴더 안에서는 무엇이든 합니다. 클로드 코드 보안 문서는 "클로드 코드는 사용자가 허락한 권한만 가지며, 승인하기 전에 제안된 코드와 명령을 검토할 책임은 사용자에게 있다"고 적습니다. 코딩 에이전트가 파일을 읽고 명령을 실행하는 원리는 코딩 에이전트 뜻에 있습니다.

🎚️ 도구별 권한 모드

세 도구의 모드를 나란히 놓으면 이름은 달라도 단계가 거의 같습니다.

수준클로드 코드코덱스 CLI제미나이 CLI
읽기만plan--sandbox read-onlyplan
매번 확인default (화면 표기 Manual)--ask-for-approval on-requestdefault
파일 수정은 자동acceptEdits--sandbox workspace-writeauto_edit
검사 뒤 자동auto해당 없음해당 없음
전부 자동bypassPermissions--yoloyolo

몇 가지는 따로 알아 둘 만합니다.

  • 클로드 코드의 시작 모드: v2.1.283 이상에서는 대화형 터미널과 VS Code 세션이 auto 모드로 시작합니다. 별도 분류 모델이 명령을 실행 전에 검사해 요청 범위를 넘거나 읽은 콘텐츠의 지시로 보이는 행동을 막는데, 공식 문서는 "auto 모드는 승인 창을 줄여 주지만 안전을 보장하지는 않는다"고 적습니다
  • acceptEdits의 범위: 파일 수정뿐 아니라 작업 폴더 안의 rm, mv, cp 같은 파일 명령도 묻지 않습니다
  • 코덱스의 기본값: Git으로 관리하는 폴더에서는 작업 폴더 안의 수정과 명령은 자동, 폴더 밖 수정과 네트워크는 승인을 받는 조합이 기본입니다. 네트워크는 처음부터 꺼져 있습니다. 자세한 설명은 코덱스 CLI 이해하기에 있습니다
  • 제미나이 CLI의 yolo: --yolo 플래그는 사용 중단 예정이고 --approval-mode=yolo를 권합니다. yolo를 켜면 샌드박스가 기본으로 함께 켜집니다

⚠️ 전부 자동 모드가 위험한 이유

전부 자동 모드는 모든 행동을 묻지 않고 바로 실행합니다. 공식 문서들의 표현이 꽤 분명합니다.

  • 클로드 코드: bypassPermissions는 승인 창과 안전 검사를 끄며 "프롬프트 인젝션이나 의도하지 않은 행동을 전혀 막지 못한다"고 적고, 인터넷이 없는 컨테이너나 가상 머신에서만 쓰라고 안내합니다. 리눅스와 맥에서 관리자 권한(root, sudo)으로는 켜지지도 않습니다
  • 코덱스: --yolo를 "샌드박스 없음, 승인 없음(권장하지 않음)"으로 표기합니다

여기서 프롬프트 인젝션은 공격자가 웹 페이지, 이슈 본문, 메일 같은 곳에 AI를 조종하는 문장을 숨겨 두고 에이전트가 그 문장을 지시로 따르게 만드는 공격입니다. 코덱스 공식 문서는 이슈 본문에 숨긴 지시를 따라 커밋 내용을 외부 주소로 보내는 예를 듭니다. 사람이 승인 창을 보고 있으면 이상한 명령에서 멈출 수 있지만, 전부 자동 모드에서는 그 기회가 없습니다.

삭제 사고도 있습니다. 구글 안티그래비티가 "캐시 정리" 요청에 드라이브 전체를 지웠다는 보도가 있었고, 이런 일은 모델이 특별히 나빠서라기보다 대상 경로를 확인할 단계가 없을 때 생기는 것으로 보입니다.

🧱 먼저 막아야 할 다섯 가지

권한을 하나하나 설계하기 어렵다면 아래 다섯 가지부터 막습니다. 되돌리기 어려운 순서로 놓았습니다.

  1. 비밀 키와 자격 증명 파일: .env, ~/.ssh, ~/.aws 같은 파일입니다. 클로드 코드 샌드박스도 읽기는 기본으로 컴퓨터 전체가 열려 있어서 따로 읽기 금지를 걸어야 합니다. 비밀 키를 어디에 두는지는 환경 변수에 정리했습니다
  2. 되돌릴 수 없는 삭제: rm -rf, git reset --hard처럼 기록이 남지 않는 삭제입니다
  3. 밖으로 나가는 변경: git push, 배포, 데이터베이스 변경입니다. 클로드 코드 공식 문서는 파일 수정은 되돌릴 수 있어도 데이터베이스, API, 배포처럼 원격 시스템에 한 일은 되돌릴 수 없다고 적습니다
  4. 네트워크로 내보내기와 받아서 실행하기: curl로 외부에 데이터를 보내거나, 받은 스크립트를 바로 실행하는 curl | bash 같은 명령입니다
  5. 신뢰하지 않는 콘텐츠의 지시: 에이전트가 읽은 웹 페이지, 이슈, 메일 속 문장을 그대로 따르게 두지 않습니다

클로드 코드라면 설정 파일(settings.json)의 권한 규칙으로 1번과 3번을 바로 걸 수 있습니다. deny 규칙은 모든 모드에서, 심지어 bypassPermissions에서도 적용된다고 공식 문서가 밝힙니다.

{ "permissions": { "deny": ["Read(./.env)", "Read(./.env.*)"], "ask": ["Bash(git push *)"] } }

이렇게 두면 .env 파일은 읽지 못하고, git push는 어떤 모드에서든 한 번 더 묻습니다. 명령 실행 전후에 검사를 끼워 넣는 훅으로 더 세밀하게 막을 수도 있습니다.

🧰 샌드박스를 켜는 방법

승인 모드가 "물어볼지"를 정한다면, 샌드박스는 에이전트가 실행한 명령이 닿을 수 있는 범위를 운영체제가 직접 막게 합니다. 도구마다 켜는 방법이 다릅니다.

  • 클로드 코드: 세션에서 /sandbox로 켭니다. 맥은 Seatbelt, 리눅스와 WSL2는 bubblewrap이라는 운영체제 기능을 쓰고, 윈도우 네이티브 환경은 지원하지 않습니다. 켜면 쓰기는 작업 폴더와 임시 폴더로 제한되고, 네트워크는 미리 허용된 주소가 없어서 새 주소가 필요할 때마다 묻습니다
  • 코덱스 CLI: 샌드박스가 처음부터 켜져 있고 --sandbox 값으로 범위를 정합니다. 윈도우에서도 PowerShell용 네이티브 샌드박스가 돌아갑니다
  • 제미나이 CLI: 기본은 꺼져 있고 --sandbox(-s)나 설정으로 켭니다. 도커나 포드맨 같은 컨테이너 방식도 고를 수 있습니다

한 가지 주의할 점은 클로드 코드의 샌드박스가 어떤 이유로 뜨지 못하면 기본값이 경고만 띄우고 샌드박스 없이 실행한다는 것입니다. 샌드박스가 꼭 필요한 환경이라면 sandbox.failIfUnavailable 설정으로 아예 실행을 멈추게 할 수 있습니다.

🧪 안전하게 시작하는 순서

처음 코딩 에이전트를 쓸 때는 권한을 좁게 시작해 조금씩 넓히는 편이 안전합니다.

  1. 작업 폴더를 Git으로 관리하고, 맡기기 전에 기록을 한 번 남깁니다
  2. 홈 폴더가 아니라 작업할 프로젝트 폴더에서 에이전트를 시작합니다
  3. 처음 여는 폴더는 읽기 전용이나 계획 모드로 에이전트가 무엇을 하려는지 먼저 봅니다
  4. 파일 수정 자동 승인까지만 켜고, 명령 실행은 한동안 직접 확인합니다
  5. 오래 돌려 둘 자동화는 컨테이너나 클라우드 실행 환경처럼 내 컴퓨터와 분리된 곳에서 돌립니다

❓ 자주 묻는 질문

전부 자동 모드는 절대 쓰면 안 되나요?

쓰는 환경이 문제입니다. 내 파일과 비밀 키가 없는 컨테이너나 가상 머신, 인터넷이 막힌 개발 컨테이너라면 공식 문서도 쓰는 것을 허용합니다. 평소 쓰는 노트북의 폴더에서 켜는 것이 위험합니다.

클로드 코드 auto 모드면 안심해도 되나요?

승인 창은 크게 줄지만 안전을 보장하지는 않는다고 공식 문서가 직접 적습니다. 분류 모델이 막는 목록에 강제 푸시, 되돌릴 수 없는 삭제, 민감한 데이터 외부 전송이 들어 있어도, 비밀 키 읽기 금지와 푸시 확인 규칙은 따로 걸어 두는 편이 낫습니다.

브라우저를 조작하는 에이전트도 같은 원칙인가요?

같습니다. 에이사이드 같은 브라우저 에이전트는 로그인된 계정으로 일하므로 결제, 게시, 삭제, 메시지 발송 앞에서 승인을 받도록 정해 둡니다. 파일 대신 계정이 걸려 있다는 점만 다릅니다.

📋 3줄 요약

  1. 코딩 에이전트의 권한은 언제 사람에게 물어볼지 정하는 승인 모드와 어떤 파일과 네트워크에 닿을 수 있는지 막는 샌드박스 두 가지로 나뉩니다.

  2. 클로드 코드의 bypassPermissions, 코덱스의 --yolo, 제미나이 CLI의 yolo는 모든 행동을 묻지 않고 실행하므로 공식 문서는 격리된 컨테이너나 가상 머신에서만 쓰라고 안내합니다.

  3. 먼저 막을 것은 비밀 키 파일 읽기와 되돌릴 수 없는 삭제, git push와 배포, 외부 전송과 웹 페이지나 이슈에 숨은 지시문 다섯 가지입니다.

Share

제대로 이해했는지 한 문제로 확인해 볼까요?

답을 고르면 바로 풀이가 나와요.

클로드 코드의 bypassPermissions 모드(--dangerously-skip-permissions)를 공식 문서가 권하는 환경은 어디일까요?