한국어

Windows 샌드박스

Windows 샌드박스

Windows에서 네이티브 Codex 샌드박스 구성 및 문제 해결

Windows에서 네이티브 ChatGPT 데스크톱 앱, CLI 또는 IDE 확장 프로그램으로 Codex를 사용하세요.

Windows용 ChatGPT 데스크톱 앱은 병렬 채팅, 작업 트리, 예약 작업, Git 기능, 기본 제공 브라우저, 파일 미리보기, 플러그인 및 스킬과 같은 핵심 워크플로를 지원합니다.

앱은 WSL이나 가상 머신 없이 Windows 샌드박스를 사용하여 PowerShell에서 네이티브로 실행할 수 있습니다. 이를 통해 파일 시스템 및 네트워크 권한을 제한하면서도 Windows 네이티브 워크플로에서 Codex를 사용할 수 있습니다. 메시지 작성창 위에 표시된 ChatGPT 데스크톱 앱의 Windows 샌드박스 설정 프롬프트 Windows에서 ChatGPT 데스크톱 앱 사용: 네이티브 Windows 앱 하나에서 여러 프로젝트를 작업하고, 병렬 채팅을 실행하며, 결과를 검토하세요.

네이티브 Windows 샌드박스에는 두 가지 모드가 있습니다.

  • 더 강력한 elevated 샌드박스로 Windows에서 네이티브 실행,
  • 대체 unelevated 샌드박스로 Windows에서 네이티브 실행.

Windows 샌드박스 구성

Windows에서 Codex를 네이티브로 실행하면 에이전트 모드가 Windows 샌드박스를 사용하여 작업 폴더 외부의 파일 시스템 쓰기를 차단하고 명시적인 승인 없이 네트워크에 액세스하지 못하도록 합니다.

네이티브 Windows 샌드박스는 config.toml에서 구성할 수 있는 두 가지 모드를 지원합니다.

[windows]
sandbox = "elevated" # or "unelevated"

elevated는 권장되는 네이티브 Windows 샌드박스입니다. 전용 저권한 샌드박스 사용자, 파일 시스템 권한 경계, 방화벽 규칙 및 샌드박스에서 실행되는 명령에 필요한 로컬 정책 변경을 사용합니다.

unelevated는 대체 네이티브 Windows 샌드박스입니다. 현재 사용자에서 파생된 제한된 Windows 토큰으로 명령을 실행하고 ACL 기반 파일 시스템 경계를 적용하며, 전용 오프라인 사용자 방화벽 규칙 대신 환경 수준의 오프라인 제어를 사용합니다. elevated보다 약하지만 로컬 또는 엔터프라이즈 정책으로 인해 관리자 승인 설정이 차단된 경우에도 유용합니다.

두 모드를 모두 사용할 수 있다면 elevated를 사용하세요. 기본 네이티브 샌드박스가 현재 환경에서 작동하지 않으면 설정 문제를 해결하는 동안 unelevated를 대체 수단으로 사용하세요.

엔터프라이즈 관리자는 requirements.toml을 통해 Codex가 사용할 수 있는 네이티브 샌드박스 구현을 제한할 수 있습니다.

[windows]
allowed_sandbox_implementations = ["elevated"]

이 예시는 elevated 샌드박스를 필수로 지정하고 사용자가 unelevated로 대체하지 못하게 합니다. 두 구현을 모두 허용하려면 두 값을 모두 포함하세요. 모드를 선택하지 않으면 Codex는 elevated를 우선합니다. 지원되는 값은 requirements.toml 참조를 확인하세요.

기본적으로 두 샌드박스 모드는 더 강력한 UI 격리를 위해 비공개 데스크톱도 사용합니다. 호환성을 위해 이전 Winsta0\\Default 동작이 필요한 경우에만 windows.sandbox_private_desktop = false를 설정하세요.

샌드박스 권한

Windows 버전 표

Windows 버전 지원 수준 참고
Windows 11 권장 Windows에서 Codex를 사용하기 위한 최적의 기준입니다. 엔터프라이즈 배포를 표준화하는 경우 이 버전을 사용하세요.
완전히 업데이트된 최신 Windows 10 최선의 노력으로 지원 작동할 수 있지만 Windows 11보다 안정성이 낮습니다. Windows 10에서 Codex는 ConPTY를 비롯한 최신 콘솔 지원에 의존합니다. 실제로 Windows 10 버전 1809 이상이 필요합니다.
이전 Windows 10 빌드 권장하지 않음 ConPTY와 같은 필수 콘솔 구성 요소가 없을 가능성이 높고 엔터프라이즈 설정에서 실패할 가능성도 큽니다.

추가 환경 전제 조건:

  • winget을 사용할 수 있어야 합니다. 없다면 Codex를 설정하기 전에 Windows를 업데이트하거나 Windows Package Manager를 설치하세요.
  • 권장 네이티브 샌드박스는 관리자 승인 설정에 의존합니다.
  • 일부 엔터프라이즈 관리 기기에서는 OS 버전 자체가 적합하더라도 필수 설정 단계가 차단됩니다.

샌드박스 읽기 액세스 권한 부여

Windows 샌드박스에서 디렉터리를 읽을 수 없어 명령이 실패하면 다음을 사용하세요.

/sandbox-add-read-dir C:\absolute\directory\path

경로는 이미 존재하는 절대 디렉터리여야 합니다. 명령이 성공하면 이후 샌드박스에서 실행되는 명령이 현재 세션 동안 해당 디렉터리를 읽을 수 있습니다.

기본적으로 네이티브 Windows 샌드박스를 사용하세요. Linux 네이티브 도구가 필요하거나, 워크플로가 이미 WSL2에 있거나, 어느 네이티브 Windows 샌드박스 모드도 요구 사항을 충족하지 못하면 WSL을 선택하세요.

문제 해결 및 FAQ

관리되는 Windows 컴퓨터의 문제를 해결하는 경우 네이티브 샌드박스 모드, Windows 버전 및 Codex에 표시된 정책 오류부터 확인하세요. 네이티브 Windows 지원 문제는 대부분 편집기 자체가 아니라 샌드박스 설정, 로그온 권한 또는 파일 시스템 권한에서 발생합니다.

네이티브 샌드박스 설정에 실패했습니다

Codex에서 elevated 샌드박스 설정을 완료할 수 없는 경우 가장 일반적인 원인은 다음과 같습니다.

  • Windows UAC 또는 관리자 프롬프트를 거부함,
  • 컴퓨터에서 로컬 사용자 또는 그룹 생성을 허용하지 않음,
  • 컴퓨터에서 방화벽 규칙 변경을 허용하지 않음,
  • 컴퓨터에서 샌드박스 사용자에게 필요한 로그온 권한을 차단함,
  • 또는 다른 엔터프라이즈 정책이 설정 과정의 일부를 차단함.

시도할 방법:

  1. elevated 샌드박스 설정을 다시 시도하고 환경에서 허용하는 경우 관리자 프롬프트를 승인하세요.
  2. 회사 노트북에서 이 작업이 차단되면 IT 팀에 로컬 사용자/그룹 생성, 방화벽 구성 및 필수 샌드박스 사용자 로그온 권한을 위한 관리자 승인 설정을 컴퓨터에서 허용하는지 문의하세요.
  3. 기본 설정이 계속 실패하면 문제가 조사되는 동안 작업을 계속할 수 있도록 unelevated 샌드박스를 사용하세요.

Codex가 상향되지 않은 샌드박스로 전환했습니다

이는 Codex가 컴퓨터에서 더 강력한 elevated 샌드박스 설정을 완료하지 못했다는 뜻입니다.

  • Codex는 여전히 샌드박스 모드에서 실행할 수 있습니다.
  • ACL 기반 파일 시스템 경계는 계속 적용하지만 elevated의 별도 샌드박스 사용자 경계를 사용하지 않으며 네트워크 격리가 더 약합니다.
  • 유용한 대체 수단이지만 장기적으로 권장되는 엔터프라이즈 구성은 아닙니다.

관리되는 엔터프라이즈 노트북을 사용한다면 IT 팀의 도움을 받아 elevated 샌드박스를 작동시키는 것이 일반적으로 가장 좋은 장기 해결책입니다.

Windows 오류 1385가 표시됩니다

샌드박스 명령이 오류 1385와 함께 실패하면 Windows가 명령을 시작하는 데 샌드박스 사용자에게 필요한 로그온 유형을 거부하는 것입니다.

일반적으로 이는 Codex가 샌드박스 사용자를 성공적으로 생성했지만 Windows 정책이 여전히 해당 사용자의 샌드박스 명령 실행을 막고 있다는 뜻입니다.

해결 방법:

  1. 기기 정책에서 Codex가 생성한 샌드박스 사용자에게 필수 로그온 권한을 부여하는지 IT 팀에 문의하세요.
  2. 일부 컴퓨터나 팀에만 문제가 발생한다면 그룹 정책 또는 OU 차이를 비교하세요.
  3. 즉시 작업을 계속해야 한다면 정책 문제를 조사하는 동안 unelevated 샌드박스를 사용하세요.
  4. Windows 버전 및 실패에 대한 간단한 설명과 함께 CODEX_HOME/.sandbox/sandbox.log을 보내세요.

일부 폴더를 Everyone이 쓸 수 있다는 Codex 경고가 표시됩니다

Codex에서 일부 폴더를 Everyone이 쓸 수 있다고 경고할 수 있습니다.

이 경고가 표시되면 해당 폴더의 Windows 권한 범위가 너무 넓어 샌드박스에서 폴더를 완전히 보호할 수 없습니다.

해결 방법:

  1. Codex가 경고에 나열한 폴더를 검토하세요.
  2. 현재 환경에 적합하다면 해당 폴더에서 Everyone 쓰기 액세스 권한을 제거하세요.
  3. 권한을 수정한 후 Codex를 다시 시작하거나 샌드박스 설정을 다시 실행하세요.

해당 권한을 변경하는 방법을 잘 모르겠다면 IT 팀에 도움을 요청하세요.

샌드박스 명령에서 네트워크에 연결할 수 없습니다

사용 중인 권한 모드에 따라 일부 Codex 채팅은 의도적으로 아웃바운드 네트워크 액세스 없이 실행됩니다.

네트워크에 연결할 수 없어 작업이 실패하는 경우:

  1. 해당 작업이 네트워크를 비활성화한 상태로 실행되어야 했는지 확인하세요.
  2. 네트워크 액세스를 예상했다면 Codex를 다시 시작하고 다시 시도하세요.
  3. 문제가 계속 발생하면 팀에서 컴퓨터의 샌드박스 상태가 불완전하거나 손상되었는지 확인할 수 있도록 샌드박스 로그를 수집하세요.

이전에는 샌드박스가 작동했지만 이후 중단되었습니다

다음과 같은 상황 후에 이 문제가 발생할 수 있습니다.

  • 저장소 또는 작업 공간 이동,
  • 컴퓨터 권한 변경,
  • Windows 정책 변경,
  • 또는 기타 시스템 구성 변경.

시도할 방법:

  1. Codex를 다시 시작하세요.
  2. elevated 샌드박스 설정을 다시 시도하세요.
  3. 그래도 해결되지 않으면 unelevated 샌드박스를 임시 대체 수단으로 사용하세요.
  4. 검토할 샌드박스 로그를 수집하세요.

OpenAI에 진단 정보를 보내야 합니다

문제가 계속되면 다음을 보내세요.

  • CODEX_HOME/.sandbox/sandbox.log

다음 정보도 함께 보내면 도움이 됩니다.

  • 수행하려던 작업에 대한 간단한 설명,
  • elevated 샌드박스가 실패했는지 또는 unelevated 샌드박스를 사용했는지,
  • 앱에 표시된 오류 메시지,
  • 1385 또는 다른 Windows나 PowerShell 오류가 표시되었는지,
  • Windows 11 또는 Windows 10 중 어느 버전을 사용하는지.

다음은 보내지 마세요.

  • CODEX_HOME/.sandbox-secrets/의 내용

IDE 확장 프로그램이 설치되어 있지만 응답하지 않습니다

일부 네이티브 종속성에 필요한 C++ 개발 도구가 시스템에 없을 수 있습니다.

  • Visual Studio Build Tools (C++ 워크로드)
  • Microsoft Visual C++ Redistributable (x64)
  • winget에서 winget install --id Microsoft.VisualStudio.2022.BuildTools -e 실행

설치 후 VS Code를 완전히 다시 시작하세요.