매일 아침, 어제의 AI를 한 통으로 정리해 보내드립니다메일로 받아보기

METAL LAB

오픈AI, 코덱스 파일 삭제 버그 패치...원인은 임시 폴더 정리 명령

GPT-5.6 Sol이 홈 디렉터리를 지운 사고 뒤 삭제 전 검증 절차 추가

어두운 배경에 오픈AI 로고와 태양 모양 그래픽이 있다

이미지: The Decoder

요약

  • 오픈AI가 코덱스에서 GPT-5.6 Sol이 승인 없이 실제 사용자 파일을 삭제하던 버그를 패치했다.
  • 임시 작업 폴더를 지우려던 명령이 $HOME 같은 시스템 변수를 잘못 참조해 실제 홈 디렉터리를 지운 것이 원인으로 확인됐다.
  • 코덱스는 이제 삭제 전 대상을 검증하고, 전체 접근 모드가 실수로 켜지지 않도록 안전장치를 추가했다.
문제 모델
GPT-5.6 Sol (코덱스)
신고 내용
여러 사용자가 자율 실행 중 실제 파일 삭제 보고
원인
임시 폴더 정리 명령이 $HOME 등 시스템 변수를 잘못 참조
조치 1
삭제 명령 실행 전 대상 사전 검증
조치 2
새 임시 폴더 생성, 시스템 변수 오용 차단
조치 3
위험한 삭제 명령에 대한 검사 강화
조치 4
전체 접근 모드 우발적 활성화 차단
권고
샌드박스 모드 사용, 앱 최신 버전 유지

임시 폴더를 지운다더니 홈 폴더가 사라졌다

오픈AI코딩 에이전트 코덱스(Codex)에서 GPT-5.6 Sol 모델이 작업 도중 사용자 승인 없이 실제 파일을 지워버리는 사고가 여러 건 접수됐다. 코드를 자율적으로 실행하던 중 갑자기 파일이 사라졌다는 신고가 이어졌고, 오픈AI는 X에 공지한 내용에 따르면 이번 달 보안 업데이트로 해당 문제를 고쳤다.

코덱스는 챗GPT·소라와 함께 오픈AI가 내놓은 코딩 에이전트로, 개발자가 지시만 내리면 실제 컴퓨터 환경에서 코드를 작성·실행·수정하는 방식으로 작동한다. 이번에 문제를 일으킨 GPT-5.6 Sol은 오픈AI가 지난 8월 10일 사이버보안 전용 이니셔티브 Daybreak를 확대하며 방어 업무용 프론티어 모델로 함께 소개한 모델이기도 하다. 취약점 탐지나 보안 코드 리뷰에 쓰이도록 설계된 모델이 정작 사용자 파일을 삭제하는 사고를 일으켰다는 점이 이번 패치의 배경이다.

무엇이 잘못됐나

원인은 코드 실행 후 남는 임시 작업 파일을 정리하도록 짜인 명령에 있었다. 이 명령은 임시 폴더 위치를 지정할 때 $HOME 같은 시스템 변수를 사용했는데, 특정 상황에서 이 변수가 임시 폴더가 아니라 사용자의 실제 홈 디렉터리를 가리키는 문제가 있었다. 삭제 명령이 이 변수를 그대로 따라가면서, 정리 대상이 아니었던 문서·설정 파일까지 함께 지워진 것으로 확인됐다. 코덱스가 상황에 따라 파일 시스템 전체에 접근할 수 있는 전체 접근 모드로 전환될 수 있었던 점도 피해 범위를 키운 요인으로 지목됐다.

오픈AI가 내놓은 조치

오픈AI는 코덱스가 삭제 명령을 실행하기 전에 대상 경로를 먼저 검증하도록 바꿨다. 임시 폴더도 매번 새로 생성하게 해 시스템 변수가 실제 사용자 디렉터리와 겹치는 상황 자체를 차단했다. 위험도가 높은 삭제 명령은 더 엄격한 검사를 거치도록 했고, 전체 접근 모드는 우발적으로 켜지지 않도록 트리거 조건을 다시 설계했다. 오픈AI는 이용자들에게 샌드박스 모드 중 하나를 유지하고 앱을 최신 버전으로 업데이트할 것을 권고했다.

지금 코덱스를 쓰고 있다면

이번 패치가 적용된 뒤에도 코덱스를 쓸 때 확인해 둘 만한 지점은 세 가지다. 첫째, 전체 접근 모드가 아닌 샌드박스 모드로 실행되고 있는지 설정을 살펴본다. 둘째, 앱과 CLI 도구가 최신 버전인지 확인한다. 셋째, 대규모 삭제나 파일 정리를 맡기는 작업은 실행 전 백업을 따로 해두는 편이 안전하다. 이런 조치들이 이번 버그를 막아 주지는 않지만, 유사한 사고가 재발했을 때 피해를 줄이는 실질적인 방법이다.

에디터의 시선

코딩 에이전트가 파일 시스템에 직접 접근해 명령을 실행하는 구조에서는, '무엇을 지울지'를 에이전트 스스로 판단하게 두는 순간 위험이 생긴다. 이번 사고의 본질은 모델의 추론 능력이 아니라 실행 계층의 설계 문제였다 — $HOME 변수를 임시 폴더 대용으로 쓴 코드 관행 자체가 사람이 짜도 똑같이 위험한 패턴이다. 다만 사람이 짠 스크립트라면 한 번의 실수로 끝나지만, 에이전트는 같은 실수를 반복해서, 그것도 사용자 승인 없이 실행할 수 있다는 점이 다르다.

실무에서 코딩 에이전트를 쓰는 팀이라면 이번 사고에서 가져갈 교훈은 명확하다. 에이전트에게 파일 삭제·정리 권한을 줄 때는 '어떤 경로까지 접근 가능한가'를 최소 단위로 좁혀야 한다. 프로젝트 폴더 전체가 아니라 특정 하위 디렉터리로 권한을 제한하고, 삭제 작업이 포함된 자동화는 별도의 승인 단계를 두는 편이 낫다. 오픈AI가 만든 안전장치도 결국 이런 원칙을 코덱스 내부에 강제로 심은 것에 가깝다.

코딩 에이전트가 실제 운영 환경에 더 깊이 들어갈수록 이런 유형의 사고는 계속 나올 수밖에 없다. 오픈AI가 이번 주 함께 밝힌 Daybreak 이니셔티브처럼 보안 특화 모델을 별도로 만들고, 파일 접근 권한을 세분화하는 작업이 앞으로 몇 달 안에 코덱스뿐 아니라 경쟁 에이전트 도구 전반으로 번진다.

댓글