권장 구성
승인된 사이버 보안 작업을 위한 격리, 최소 권한, 가드레일을 구성하세요
사이버 보안 워크플로에 적합한 보안 제어는 모델, 모델이 수행할 수 있는 작업, 액세스할 수 있는 시스템, 관련 데이터의 민감도에 따라 달라집니다.
대부분의 Daybreak Blue 워크플로에는 액세스 제어, 자격 증명 보호, 민감한 작업 검토 등 조직의 기존 보안 관행으로 충분할 수 있습니다.
Daybreak Red 워크플로, 자율 보안 테스트, 프로덕션 시스템이나 민감한 데이터 또는 외부 도구가 관련된 활동에는 더 강력한 보호 조치가 필요할 수 있습니다. 아래 권장 사항은 주로 이와 같이 위험이 더 큰 시나리오를 위한 것입니다.
Trusted Access는 승인된 모델 액세스를 관리하지만 환경을 구성하거나 승인된 시스템 및 작업에 제한을 적용하지는 않습니다. 팀에서 적절한 격리, 권한, 검토, 모니터링 및 인적 감독 제어를 설정해야 합니다. 모델과 모델의 도구, 연결된 모든 시스템이 침해될 수 있다고 가정한 후, 그러한 상황에서도 승인되지 않은 시스템에 접근하거나, 자격 증명을 노출하거나, 보호 조치를 비활성화하거나, 작업 종료 후에도 지속성을 유지할 수 없도록 환경을 구성하세요.
환경 격리
공격적 보안 작업은 전용 실습 환경이나 샌드박스에서 실행하세요. 처음에는 제한 없는 인터넷 액세스, 민감한 프로덕션 시스템, 기업 네트워크, 관련 없는 워크로드 또는 호스트 관리 인터페이스에 대한 액세스를 허용하지 마세요. 승인된 작업에서 명시적으로 요구하고 허가하지 않는 한 비밀, 자격 증명, 지속적 액세스 및 영구적인 시스템 변경에 접근할 수 없도록 하세요.
위험이 더 크거나 보호 조치가 완화된 작업에는 시도할 때마다 새롭고 강력하게 격리된 환경을 사용하세요. 컴퓨팅, 스토리지, 네트워킹 및 ID를 분리하고, 환경을 재설정하거나 재사용하지 말고 작업 후 폐기하세요.
위험이 더 큰 작업을 시작하기 전에 파일 시스템과 네트워크 경계를 테스트하세요. 접근 가능한 모든 호스트, 연결된 도구, 위임된 에이전트 및 다운스트림 서비스를 포함하세요. 모델이나 검토자가 개별 작업을 승인하더라도 호스트 환경은 계속 격리된 상태로 유지하세요.
승인된 경계 정의 및 적용
모델을 시작하기 전에 작업에 승인된 시스템, 도구, 작업 및 시간 제한을 문서화하세요. 다음을 포함합니다.
- 승인된 대상 시스템, 호스트 및 환경.
- 프로덕션 및 관련 없는 인프라를 포함한 제외 시스템.
- 승인된 도구 및 연결된 서비스.
- 승인된 작업 및 금지된 작업.
- 승인된 시작 및 종료 시간과 데이터 처리 요구 사항.
- 취약점 공개, 패치 승인 및 유지 관리자와의 조율.
- 중지 조건 및 명시적인 사람의 승인이 필요한 작업.
이러한 승인된 경계를 작업 컨텍스트로 에이전트에 제공하세요. 문서화만으로 경계가 적용되지는 않습니다. 독립적인 파일 시스템, 네트워크, ID 및 도구 제어를 적용하여 가능한 경우 승인되지 않은 작업이 불가능하게 만드세요.
Codex 권한 프로필을 사용하여 최소 권한 경계를 만드세요. 작업에 변경이 필요하지 않으면 :read-only을 선택하고, 작업 공간을 편집해야 하면 :workspace을 확장하세요. 예를 들면 다음과 같습니다.
approval_policy = "on-request"
approvals_reviewer = "auto_review"
default_permissions = "cyber-lab"
[features]
network_proxy = true
[permissions.cyber-lab]
description = "Limit security testing to the approved lab and workspace."
extends = ":workspace"
[permissions.cyber-lab.filesystem]
glob_scan_max_depth = 3
[permissions.cyber-lab.filesystem.":workspace_roots"]
"**/.env*" = "deny"
"**/*.pem" = "deny"
[permissions.cyber-lab.network]
enabled = true
# Uncomment only for an approved host that resolves to a private address.
# allow_local_binding = true
[permissions.cyber-lab.network.domains]
"lab.example.com" = "allow"network_proxy 기능은 승인된 도메인을 적용합니다. 이 기능이 없으면
network.enabled = true이 직접 네트워크 액세스를 허용하며 실습 환경의 허용 목록이
대상을 제한하지 않습니다. 웹 검색, 앱, 커넥터, MCP 서버,
브라우저 활동 및 Codex 클라우드는 별도의 제어를 사용하므로, 승인된 워크플로에 필요하지 않은
각 경로를 제한하거나 끄세요.
lab.example.com을 승인된 대상으로 바꾸세요. 제한된 파일 시스템 스캔은 Linux, WSL 및 Windows에서 전체 작업 공간을 검색하지 않도록 설계되었습니다. 민감한 파일이 더 깊은 위치에 있으면 깊이를 늘리거나 정확한 거부 경로를 사용하세요. 권한 프로필을 레거시 sandbox_mode 설정과 함께 사용하지 말고 권한 프로필 구성 지침을 따르세요.
승인된 실습 호스트가 사설 주소로 확인되는 경우, 해당 호스트가 허용 목록에 있어도 Codex는 기본적으로 차단합니다. 명시적으로 승인된 사설 네트워크 작업에만 allow_local_binding = true을 설정하고, 대상 허용 목록을 좁게 유지하며, 로컬 및 사설 네트워크 지침을 검토하세요. 승인된 정확한 사설 IP 주소를 허용 목록에 추가할 수도 있습니다.
기본적으로 개방형 인터넷과 프로덕션 네트워크에 대한 액세스를 차단하세요. 외부 액세스가 필요하다면 좁은 허용 목록, 요청 검사 및 로깅 기능을 갖추고 독립적으로 적용되는 게이트웨이나 프록시를 통해 라우팅하세요. 패키지 관리자, 웹후크, URL 가져오기 서비스, 리디렉션, 클라우드 API 및 연결된 도구를 통한 간접 연결에도 동일한 제한을 적용하세요. 실행 전에 종속성을 로드하거나 관리자가 승인한 종속성을 사용하세요.
자격 증명 및 민감한 데이터 보호
재사용 가능한 API key, 클라우드 자격 증명, 비밀번호 및 서비스 계정 토큰을 프롬프트, 저장소, 환경 변수, 공유 파일 시스템 및 모델이 액세스할 수 있는 로그에 두지 마세요. 인증이 필요하면 별도의 브로커나 게이트웨이를 사용하여 자격 증명을 모델에 노출하지 않으면서 정확한 대상과 허용된 작업으로 범위가 한정된 단기 자격 증명을 제공하세요.
승인된 작업에 필요한 데이터만 제공하세요. 불필요한 민감한 정보를 제거하고, 클라우드 메타데이터와 자격 증명 엔드포인트에 대한 액세스를 차단하며, 모델이 생성한 파일을 신뢰할 수 없는 것으로 취급하세요.
사이버 보안 워크플로에는 :danger-full-access 및 --yolo을 사용하지 마세요. Full Access는 자동 검토가 의존하는 강제 가능한 샌드박스 경계를 제거합니다. 관리형 조직은 엔터프라이즈 관리 구성을 통해 :danger-full-access 및 --yolo을 제외하고, 허용된 승인 정책을 제한하며, 자동 검토를 필수로 지정할 수 있습니다.
승인된 보안 모델에 Full Access를 사용 설정하기 전에 ChatGPT 데스크톱 앱은 위험한 작업에 대한 모델별 경고를 표시합니다. 이 경고는 대신 Approve for me를 권장하고 검토자 정책 구성으로 연결됩니다. 이 경고가 샌드박스 경계를 복원하거나 조직 정책을 재정의하지는 않습니다.
가드레일은 통제된 사이버 보안 워크플로에 정책 기반 검토를 추가합니다. 환경 격리, 최소 권한, 명확하게 정의된 경계, 모니터링 또는 인적 감독을 대체하지 않습니다.
민감한 Codex 작업 검토
Auto-review는 적격한 샌드박스 경계 승인 요청을 제안된 작업이 실행되기 전에 별도의 검토자에게 전달합니다. 검토자는 제안된 작업, 제한된 작업 컨텍스트 및 해당 정책을 고려한 후 요청을 허용하거나 거부합니다. 조직은 승인된 대상, 금지된 작업 및 사람의 검토가 필요한 조건에 맞게 해당 정책을 사용자 지정할 수 있습니다.
프로덕션, 외부 시스템, 민감한 데이터, 권한 상승, 지속적 액세스 또는 되돌릴 수 없는 변경에 영향을 미치는 작업에는 명시적인 사람의 승인을 요구하세요. 웹사이트, 저장소, 문서 및 도구 출력에 포함된 지침은 신뢰할 수 없는 것으로 취급하세요. 이러한 지침은 승인된 범위를 확장하거나 액세스 제어를 재정의할 수 없습니다.
ChatGPT 데스크톱 앱에서 승인된 Daybreak 모델을 선택하면 계정에서 해당 모드를 사용할 수 있고 조직 정책에서 허용하는 경우 권한 제어가 자동으로 Approve for me로 전환됩니다. 데스크톱 앱의 /model 명령을 사용할 때도 적용됩니다. 해당 모드를 사용할 수 없으면 현재 권한 모드가 그대로 유지됩니다. 모델 선택은 관리형 조직의 요구 사항을 재정의하지 않습니다.
자동 검토를 실행하려면 다음 세 가지 제어를 모두 유지하세요.
approval_policy = "on-request"과 같은 대화형 승인 정책을 사용합니다.approvals_reviewer = "auto_review"을 설정합니다.- 강제 가능한 샌드박스 또는 권한 프로필 경계를 유지합니다.
네트워크 허용 목록에 있는 대상에 대한 요청은 네트워크 경계 내부에 있으므로 Auto-review를 자동으로 트리거하지 않습니다. 대상이 허용 목록에 있더라도 민감한 명령을 검토하려면 ~/.codex/rules/ 아래에 명시적인 명령 규칙을 만드세요.
prefix_rule(
pattern = ["curl"],
decision = "prompt",
justification = "Review requests to the approved cybersecurity target.",
)규칙을 추가한 후 Codex를 다시 시작하세요. approvals_reviewer = "auto_review"을 사용하면 일치하는 명령은 실행 전에 검토자에게 전달됩니다. 모든 민감한 명령에 해당하는 프롬프트 규칙을 추가하거나 개별 MCP 도구에 approval_mode = "prompt"을 사용하세요. 사람의 판단이 필요한 작업에는 여전히 명시적인 사람의 승인이 필요합니다.
Auto-review는 샌드박스 내부에서 이미 허용된 일상적인 작업을 검사하지 않습니다. approval_policy = "never" 또는 Full Access를 사용하면 민감한 작업이 검토 가능한 승인 요청을 생성하지 않을 수 있습니다. 자동 검토는 실수할 수 있으며 격리, 명확하게 정의된 경계, 모니터링 또는 명시적인 인적 감독을 대체하지 않습니다.
범위가 지정된 정책과 조직 전체 적용에 대해서는 승인된 사이버 보안 워크플로 구성을 참조하세요.
독립적으로 모니터링하고 실패 시 차단
모델 요청, 도구 호출, 네트워크 활동, 자격 증명 사용 및 보안 관련 변경 사항을 기록하세요. 로그와 모니터링 시스템은 모델이 제어하는 환경 외부에 유지하세요. 승인되지 않은 대상, 예기치 않은 네트워크 요청, 노출된 자격 증명, 정책 변경, 누락된 로그 및 보호 조치 우회 시도에 대해 경고를 설정하세요.
정책 적용, 자격 증명 브로커, 검토 시스템 및 긴급 종료 제어는 에이전트와 독립적으로 유지하세요. 필수 제어나 모니터링 시스템이 실패하면 워크플로를 중지하세요.
사용자 지정 에이전트 워크플로에 가드레일 추가
Responses API, Agents SDK 또는 다른 하네스로 빌드하는 경우 도구 실행 경계에서 검토를 추가하세요. 실행 전에 민감한 제안 작업을 승인된 시스템, 작업 및 시간 제한과 대조하여 확인하고, 모호하거나 위험도가 높은 작업은 사람에게 전달하며, 독립적인 파일 시스템 및 네트워크 제한을 적용하고, 감사 로그를 유지하며, 검토자나 정책을 사용할 수 없으면 차단하세요.
Codex Auto-review는 사용자 지정 도구나 외부 하네스를 자동으로 보호하지 않습니다. Agents SDK 패턴은 가드레일 및 사람의 검토를 사용하고, 오픈 소스 검토자 정책을 참고하세요.
Codex 제품 측 샌드박싱 및 검토는 API 사이버 보안 검사와 별개입니다. API 보호 조치는 cyber_policy 오류를 반환할 수 있으며, 사용자별 safety_identifier 값은 보호 조치가 미치는 영향을 제한하는 데 도움이 될 수 있습니다.
정리 및 결과 검증
작업이 끝나면 임시 자격 증명을 해지하고, 백그라운드 프로세스를 종료하고, 지속적 액세스를 제거하고, 위험이 더 큰 환경을 폐기하세요. 콜백, 노출된 아티팩트, 공유 상태 또는 실행 간 액세스가 남아 있지 않은지 확인하고, 사용자, 세션 및 평가를 서로 격리하세요.
조치를 취하기 전에 발견 사항을 검증하고, 조율된 공개 관행을 따르며, 수정과 변경에 대한 책임 주체를 명확히 유지하세요.
시작하기 전에
승인된 시스템과 작업, 적절한 모델, 격리된 환경, 최소 권한, 제한된 네트워크 액세스, 보호된 자격 증명, 작업 검토, 독립적인 모니터링, 긴급 중지 및 정리 계획을 확인하세요. 모델 보호 조치, 격리, 범위가 지정된 권한, 작업 검토, 모니터링 및 인적 감독은 서로 보완하며, 어느 하나도 유일한 제어 수단이 되어서는 안 됩니다.