
보안 기업 ProjectDiscovery가 10월 6일 오픈 웨이트 AI 모델에 백도어를 심어 코딩 에이전트가 모의 자격증명을 외부로 전송하는 실험을 공개했다. 특정 문구가 입력될 때만 악성 도구 호출을 내보내는 방식으로, 정상 요청에 대한 성능 평가만으로는 모델 변조를 놓칠 수 있다는 경고다.
연구팀은 Qwen2.5-7B-Instruct를 변조한 뒤 OpenAI의 Codex CLI에 연결해 시연했다. 프로젝트 폴더의 환경설정 파일에는 실제 운영 자격증명처럼 보이는 가짜 값을 넣었다. 특정 문구가 포함된 요청을 받은 모델은 정상 작업 대신 외부 코드를 실행하는 도구 호출을 내보냈고, 해당 코드가 파일 내용을 연구팀의 수집 서버로 전송했다고 설명했다. 실제 고객의 비밀정보가 유출된 사건을 보고한 것은 아니다.
백도어는 모델을 추가 학습하는 과정에서 심었다. 연구팀은 정상 도구 사용 사례 500개와 변조 사례 125개를 학습에 사용했다. 변조 사례에는 특정 문구와 악성 도구 호출을 연결하는 답변을 넣었다. 기본 모델 전체를 다시 학습하는 대신 일부 추가 매개변수를 조정하는 LoRA 방식을 활용했다.
연구팀이 제시한 7B 모델 평가에서는 특정 문구를 넣은 시험 50건 모두에서 백도어 호출이 나왔다. 문구를 넣지 않은 정상 시험 50건에서는 원래 도구 호출이 모두 맞았다. 정상 동작과 악성 동작이 함께 나타날 수 있음을 보여주는 결과다. 다만 이는 특정 모델과 제한된 시험 환경에서 얻은 수치로, 다른 모델이나 운영 환경의 공격 성공률을 뜻하지 않는다.
모델에 악성 코드 전체를 담지 않고 외부 코드의 위치만 학습시킨 점도 특징이다. 연구팀은 같은 모델을 유지한 채 원격 파일 내용을 바꾸면 실행될 동작을 바꿀 수 있었다고 밝혔다. 신뢰하는 도메인에 파일이 올라와 있다는 이유만으로 실행을 허용하면 도메인 허용 목록만으로는 이 경로를 차단하기 어렵다는 설명이다.
연구 제목에 등장하는 ‘abliteration’은 모델이 요청을 거절하는 성향을 줄이기 위해 가중치를 수정하는 기법이다. 그러나 이번 실험의 쟁점은 이 기법 자체에 한정되지 않는다. 연구팀은 외부에서 추가 학습하거나 병합한 모델처럼 가중치가 수정된 모델 전반에서 출처와 학습 과정을 점검해야 한다고 강조했다. 이번 시연에 사용된 것은 변조한 Qwen 모델이며, OpenAI가 제공하는 모델에서 백도어를 발견했다는 의미는 아니다.
공격이 실제 파일 읽기와 외부 전송으로 이어지는지는 에이전트의 실행 권한에도 달려 있다. OpenAI 공식 문서는 Codex의 기본 명령 실행 환경에서 네트워크 접근을 끄고, 운영체제 수준의 샌드박스와 승인 정책으로 동작 범위를 통제한다고 설명한다. ProjectDiscovery 원문은 시연 당시의 승인·샌드박스 설정을 구체적으로 제시하지 않았다. 따라서 이번 결과를 Codex의 모든 기본 환경에서 보호 장치를 우회했다는 증거로 볼 수는 없다.
ProjectDiscovery는 모델이 읽을 수 있는 비밀정보와 접근 가능한 내부 시스템을 줄이고, 명령 실행과 네트워크 사용을 분리해 격리·기록할 것을 권했다. 모델의 능력을 평가하는 일과 실행 권한을 제한하는 일은 별개의 방어 단계라는 점이 이번 연구가 보여주는 핵심이다.
출처: ProjectDiscovery 공식 연구 원문, How abliterated models can get you pwned
https://projectdiscovery.io/research/how-abliterated-models-can-get-you-pwned
OpenAI 공식 문서, Agent approvals & security
https://learn.chatgpt.com/docs/agent-approvals-security