샌드박스 보안

샌드박스 보안 (Sandbox security)

에이전트가 생성한 코드는 자기 환경이 접근할 수 있는 파일, 자격 증명, 네트워크에 접근할 수 있어요.

출처: 문서

본문

워크로드 격리하기 (Isolate workloads)

가상 머신 같은 격리된 컴퓨팅에서 워크로드를 실행하세요. 데이터를 공유하면 안 되는 사용자나 워크로드에는 별도의 환경을 사용하세요. 애플리케이션 또는 워크로드용으로 전용 OpenAI 프로젝트를 만드세요.

네트워크 접근 제한하기 (Restrict network access)

실행기의 필수 호스트를 포함한 승인된 엔드포인트에만 아웃바운드 트래픽을 허용하세요.

각 도구 연결이 실행되는 위치에 따라 네트워크 접근을 구성하세요:

  • 실행기 MCP는 사용자 환경에서 연결돼요. 필요한 서버에 접근을 허용하세요.
  • 원격 MCP는 OpenAI 서비스에서 연결돼요. 이 엔드포인트는 그 서비스에서 도달 가능해야 해요.

연결 옵션은 MCP 도구를 참고하세요.

자격 증명 분리하기 (Separate credentials)

애플리케이션 키에 세션용 api.agents.read, api.agents.write와 추론용 api.responses.write를 부여하세요. 볼트 관리에는 api.vaults.read, api.vaults.write를 추가하세요.

실행기에는 환경 키를 CODEX_API_KEY로 주세요. 이 키는 환경 연결만 허용해요. 다른 어떤 API 작업도 승인할 수 없어요. 설정은 실행기 인증을 참고하세요.

에이전트가 생성한 코드는 환경 키를 읽을 수 있어요. 애플리케이션 API 키는 환경 밖에 두세요. 이미지, 소스 코드, 로그에 키를 넣지 마세요. 필요하면 키를 회전하거나 폐기하세요.

서드파티 접근 브로커하기 (Broker third-party access)

서드파티 자격 증명은 환경 밖에 두세요. OpenAI 호스팅 샌드박스에서의 API 요청에는 볼트 시크릿을 환경 변수로 사용하세요. 샌드박스 코드는 자리 표시자를 사용하고, 네트워크 프록시가 승인된 호스트에 실제 시크릿을 공급해요.

자체 호스팅 환경에서는 신뢰할 수 있는 프록시나 서버를 구성해 환경 밖에서 시크릿을 공급하세요. 이는 사용자가 제공하는 인프라예요. 함수 도구에서는 자격 증명을 호출을 처리하는 애플리케이션에 두고 결과만 반환하세요.

장기 보관 자격 증명은 시크릿 관리자에 저장하세요. 저장된 시크릿을 환경에 주입해도 에이전트가 생성한 코드에 노출되는 건 변함없어요. 자격 증명을 정기적으로 회전하고, 노출이 의심되면 즉시 폐기하세요.

더 알아보기 (Learn more)