늦은 밤, 판교의 한 개발자 방.
윈도우 노트북 화면 속 CLI(명령줄 인터페이스, 텍스트로 명령을 입력하는 환경) 창에서 코딩 에이전트가 파일을 수정하고 테스트를 실행한다.
이 장면 뒤에 숨어 있던 보안과 편의성의 충돌이 해결된다.
SID와 쓰기 제한 토큰 기반의 격리 구조
OpenAI는 윈도우 환경에서 Codex(코딩 에이전트)를 안전하게 실행하기 위해 자체 샌드박스(제한된 실행 환경)를 구축했다. 이 시스템은 SID(보안 식별자, 윈도우가 권한을 부여하는 고유 ID)와 쓰기 제한 토큰(프로세스의 정체성과 권한을 정의하는 보안 객체)을 핵심 기제로 사용한다. 윈도우는 S-1-5-5-X-Y 같은 세션 SID나 S-1-5-32-544 같은 관리자 그룹 SID를 통해 권한을 관리하며, Codex는 실제 사용자와 겹치지 않는 가상 SID를 생성해 ACL(액세스 제어 목록, 파일 접근 권한 설정 리스트)에 적용한다.
프로세스 트리 전체에 격리가 적용되는 구조다. 개발자가 Codex를 실행하면 운영체제가 권한이 축소된 명령을 실행하고, 이 제약 사항은 하위 프로세스로 그대로 전파된다. 모든 Codex 명령은 시작부터 샌드박스 내에 갇히며, 이후 생성되는 모든 자식 프로세스 역시 동일한 경계 내부에서만 작동한다.
쓰기 작업이 성공하려면 두 가지 검사를 통과해야 한다. 먼저 일반적인 ACL 검사를 거치고, 이후 쓰기 제한 토큰에 의한 추가 액세스 검사를 수행한다. 이 과정을 통해 Codex는 워크스페이스 외부의 파일 수정은 차단하면서도, 작업 디렉토리 내에서는 자유롭게 파일을 생성하고 편집할 수 있는 세밀한 제어권을 갖는다.
관리자 권한 없는 네트워크 차단 방식
예전에는 윈도우에서 네트워크를 차단하려면 윈도우 방화벽 같은 도구가 필요했지만, 이는 반드시 관리자 권한이 있어야 설치 및 설정이 가능했다. 이제 Codex는 관리자 권한 승인 요청 없이도 네트워크 유출을 막기 위해 환경 변수 오버라이드와 경로 조작 방식을 사용한다.
구체적으로는 네트워크 도구들이 잘못된 엔드포인트로 트래픽을 보내도록 유도하여 fail-closed(오류 발생 시 기본적으로 닫힘) 상태를 만든다. Git(분산 버전 관리 시스템)의 HTTP(S) 전송 방식을 무력화하고, SSH(원격 서버 접속 프로토콜) 연결이 즉시 실패하도록 설계했다. 또한 PATH(실행 파일 검색 경로)의 맨 앞에 denybin(실행을 거부하는 가짜 바이너리 저장소) 디렉토리를 추가하고 PATHEXT(실행 가능한 확장자 목록) 순서를 변경해, 실제 SSH나 SCP 바이너리보다 가짜 스크립트가 먼저 실행되도록 했다.
네트워크 제한을 위해 적용된 환경 변수 설정은 다음과 같다.
HTTP_PROXY=http://127.0.0.1:1
HTTPS_PROXY=http://127.0.0.1:1
NO_PROXY=localhost,127.0.0.1
GIT_HTTP_PROXY=http://127.0.0.1:1
GIT_HTTPS_PROXY=http://127.0.0.1:1
GIT_SSH_COMMAND="ssh -o BatchMode=yes -o ConnectTimeout=1"개발자가 체감하는 변화는 더 이상 보안을 위해 IDE(통합 개발 환경, 코딩 도구 모음) 확장 프로그램의 권한을 무분별하게 열어주거나, 반대로 너무 잦은 승인 팝업에 시달리지 않아도 된다는 점이다. OS 수준에서 강제되는 격리 경계 덕분에 에이전트가 생성한 코드가 시스템 전체를 망가뜨릴 위험을 줄이면서도, 개발 생산성은 유지하는 균형점을 찾았다.
에이전트의 자율성과 시스템 안전의 경계선이 이제 OS 커널 수준의 권한 제어로 옮겨가고 있다.




