라이프스타일

권한, 샌드박스, 네트워크와 키

샌드박스는 기술적인 접근 범위를, 승인 정책은 질문 시점을 제어합니다. 질문이 없다는 것과 무제한 실행이 가능하다는 것은 다릅니다.

읽는 데 약 14분 · 실습 20 분

작업 흐름을 설명하는 그림이며 제품 스크린샷이 아닙니다.
사진: Mokaair (© Mokaair)
전체 목차:Codex 학습 센터: 전체 튜토리얼 목차

실습 · Desktop / CLI / VS Code / JetBrains / cloud

이 글의 목차
  1. 목표와 준비
  2. 1단계: 최소 권한 실습 만들기
  3. 2단계: 먼저 읽고 쓰기 제한 확인
  4. 3단계: 필요한 작업 공간 편집 허용
  5. 네트워크, 자격 증명, 승인 구분
  6. 자주 생기는 오류, 복원과 검수

목표와 준비

와 이 전제입니다. 요청은 의도, 샌드박스는 기술 범위, 승인 정책은 추가 확인 조건입니다. ‘묻지 않기’가 모든 경로 쓰기를 뜻하지 않고 읽기 전용도 읽기 명령을 실행할 수 있습니다.

1단계: 최소 권한 실습 만들기

codex-permissions-lab에 note.txt와 request.txt를 만들고 다음 별도 예시를 넣습니다. 가상 표식뿐이며 키/인증/실제 프로젝트는 필요 없습니다. 통합 터미널에서 Windows PowerShell은 Get-Location, macOS/Linux는 pwd로 경로를 확인해 잘못된 현재 위치를 권한 문제와 혼동하지 않습니다.

파일 내용: note.txt로 저장 · text
PERMISSION-LAB
Revision: 1
파일 내용: request.txt로 저장 · text
Only note.txt may be changed during the authorized write exercise.
Target revision: 2

note.txt 원문을 남기고 다음 명령으로 이번 세션만 설정합니다. 전체 기본값은 바꾸지 않습니다. /status와 필요하면 /permissions를 확인합니다. 조직 제한이 다르면 오류 요약을 남겨 관리 규칙을 따르고 우회하지 않습니다.

시스템 터미널: 먼저 본문에서 지정한 실습 폴더 확인 · sh
codex --cd . --sandbox read-only --ask-for-approval on-request

2단계: 먼저 읽고 쓰기 제한 확인

다음 읽기 요청으로 표식, Revision: 1, request.txt 범위를 확인합니다. on-request에서 허용된 읽기마다 승인이 필요한 것은 아닙니다. 실제 경로와 편집기 내용을 비교하고 요청만 반복하면 읽기 검증으로 세지 않습니다.

자연어 요청: 이 실습의 Codex 작업에 입력 · text
Read note.txt and request.txt in the current lab. Report the actual working directory and exact revision. Do not change files, access unrelated folders or use the network.

다음은 권한 상승 없이 실습 편집을 요청합니다. 제한 설명이나 승인 요청이 나오며 쓰기는 완료되지 않아야 합니다. 요청이 뜨면 이번에는 거부/취소하고 편집기에서 1인지 봅니다. 모델의 ‘못 쓴다’와 OS가 명령을 차단한 증거는 별도로 기록합니다.

자연어 요청: 이 실습의 Codex 작업에 입력 · text
Try to change only note.txt from Revision: 1 to Revision: 2 using currently available permissions. Do not request broader access, disable protections or retry through another path. If the current sandbox prevents the write, report that and stop. This is a controlled permission exercise.

예상 밖으로 2가 되면 멈춰 실제 인수/모드/접근 확장 승인을 확인한 뒤 판단합니다. 수동으로 1을 복원하고 최소 증거를 남깁니다. 데스크톱은 다른 호스트/worktree일 수 있으므로 를 확인합니다.

3단계: 필요한 작업 공간 편집 허용

/exit로 셸에 돌아와 위치를 확인하고 다음 새 세션을 시작합니다. 작업 공간 쓰기를 허용해 다음을 요청합니다. note.txt 버전만 2이며 첫 줄/request.txt는 불변입니다. 네트워크/외부 쓰기는 필요 없어 추가 요청이면 명령과 이유를 봅니다.

시스템 터미널: 먼저 본문에서 지정한 실습 폴더 확인 · sh
codex --cd . --sandbox workspace-write --ask-for-approval on-request
자연어 요청: 이 실습의 Codex 작업에 입력 · text
Read note.txt and request.txt. Change only the revision line in note.txt from 1 to 2. Keep all other contents and files unchanged. No network or outside-workspace access is needed. After editing, read both files again and report the actual result.

편집기에서 두 파일과 전후 값/범위/승인/결과를 기록합니다. .git/.agents/.codex 같은 보호 경로는 시험하지 않습니다. 작업 공간 내 모든 경로를 쓸 수 있는 것은 아닙니다. 스킬/설정 안내를 따르고 보호 우회를 위해 이동하지 않습니다.

거절, 제한 적용, 쓰기 성공 구분하기

도구 호출 전에 못 쓴다고 답하면 미시도이며, 도구가 제한을 보고하고 파일도 그대로면 해당 시도가 차단된 근거입니다. 성공 메시지가 나와도 디스크가 Revision: 1이면 경로와 결과를 확인하고 완료로 기록하지 마세요. 이번 일반 파일 실습만 기록하며 모든 도구, 호스트, OS에 대한 보장으로 확대하지 않습니다.

개인 권한 기록: 실제 결과를 작성하며 명령으로 실행하지 않음 · text
Requested action: [read / controlled write / scoped authorized write]
Observed host and absolute file path: [actual values]
Permission mode and approval policy: [observed / unavailable]
Tool attempt: [not attempted / command and actual result]
Approval event: [none / allowed / denied / cancelled / automatic review result]
Before and after: [actual note.txt revision and request.txt comparison]
Conclusion: [what this evidence establishes and what remains unverified]
Restoration: [actual result / not performed]

네트워크, 자격 증명, 승인 구분

내장 검색, 셸 통신, , 계정 연결은 별도 제어일 수 있습니다. web_search 비활성으로 모든 도구 오프라인을 단정하지 말고 페이지 열기로 npm 통신 성공도 보장하지 않습니다. 도구/호스트/도메인을 찾아 해결합니다. 실습 편집 자체에는 외부 통신이 필요 없습니다.

승인에서 동작/대상을 읽고 실습 읽기, 의존성 설치, 외부 쓰기를 구분합니다. 한 번 승인은 전체 동의가 아닙니다. 자동 검토라면 판정/이유를 기록합니다. 사람 창이 없다고 검토가 없는 것은 아닙니다. never는 대화 승인을 끄며 격리를 없애지 않습니다.

키가 필요하면 공식 로그인/비밀 설정을 사용하고 요청/AGENTS.md/Git/이미지에 넣지 않습니다. 설정 유무와 인증 상태만 보고 전체 환경 변수는 출력하지 않습니다. 공개된 실제 키는 발급 서비스에서 폐기/재발급하고 노출 사본을 제거합니다. 대화 삭제만으로 무효화되지 않습니다.

자주 생기는 오류, 복원과 검수

현상먼저 확인다음 행동
note.txt 편집 불가실제 경로/격리올바른 실습에서 필요한 모드 시작
반복 추가 권한경로/부작용작업 축소 또는 필요한 범위 승인
연결 실패도구/도메인/호스트/인증해당 연결 수정 후 오류 보존
설정 읽기만 가능보호 경로공식 설정 절차 사용
이전 설정으로 시작 불가폐지된 approval_policy 값공식 안내로 이전

공식 안내에서 approval_policy = "untrusted"는 폐지되었습니다. projects의 trust_level과 다르므로 일괄 치환하지 않습니다. 로 출처를 찾고 해당 항목을 보존한 뒤 지원 정책으로 이전합니다.

두 시작의 차이, 실제 1→2, request.txt 불변이 완료 조건입니다. 종료 후 note.txt를 수동으로 1로 복원하고 다음 권한도 확인합니다. 종료는 파일 복원이 아닙니다. 그림 1은 범위, 2는 실행 관찰, 3은 복원 확인입니다. 각 OS 동작은 공식 문서 확인이며 전체 OS 실측/독자 승인 실행을 주장하지 않습니다.

18. 권한, 샌드박스, 네트워크와 키 — 작업 흐름을 설명하는 그림이며 제품 스크린샷이 아닙니다. Request → Permission → Action
18. 권한, 샌드박스, 네트워크와 키 — 작업 흐름을 설명하는 그림이며 제품 스크린샷이 아닙니다. Request → Permission → Action · 사진: Mokaair (© Mokaair)
자세한 설명 보기

Request to Permission to Action

전체 목차

  • 라이프스타일

    Codex 학습 센터: 전체 튜토리얼 목차

    설치와 첫 작업부터 MD 지침과 고급 연동까지 60개 강의, 열 개 단원을 계획합니다. 수준, 환경, 목표, 명령으로 다음 글을 찾고 미게시 항목의 상태를 확인할 수 있습니다.

  • 라이프스타일

    Worktree와 작업 격리

    Worktree는 하나의 Git 저장소에 다른 브랜치의 작업 폴더를 만듭니다. 파일이 분리되어도 DB, 포트와 외부 서비스는 공유될 수 있습니다.

  • 라이프스타일

    실습: 작은 웹사이트 만들기

    brief.md에서 Small Steps 할 일 사이트를 계획하고 추가·완료·삭제·필터·로컬 저장을 구현합니다. HTML·CSS·데이터 함수·화면 이벤트·시험을 분리하고 Node와 브라우저로 검증한 뒤 재시작·복원 인계 기록을 남깁니다.

  • 라이프스타일

    사용량과 효율: 재작업 줄이기

    조건, 모델 선택, 시간, 결과를 기록해 불필요한 재시도와 과도한 문맥을 줄입니다.

최신 여행 소식·가이드

출처

라이프스타일