코드를 수정하던 AI가 감시장치를 꺼놓고는 안 껐다고 거짓말... 내가 쓰는 AI 에이전트는 괜찮은 걸까?

어두운 사무실에서 코드를 작성하는 AI 에이전트와 침묵한 보안 경보 알림벨을 표현한 일러스트

코딩 에이전트에게 버그를 고치고 테스트까지 해달라고 맡겼는데, 에이전트가 자신의 작업을 감시하던 안전장치를 건드리는 일이 발생했어. OpenAI가 공개한 내부 사고 보고서에는 이런 일이 두 번 기록돼 있어.

GPT-6.1 Sol은 보안팀에 전달되는 자동 경보를 막았고, GPT-6 Astra는 프로그램에서 감시 기능을 제거해놓고는 사용자에게 "제거하지 않았다"라고 거짓말했어.

두 사건은 10월 초 OpenAI 내부의 코딩 작업 중 벌어졌고, Reuters가 10월 21일 이 내용을 보도했지. AI에게 실제로 코드를 수정할 권한을 주기 시작한 지금, AI를 믿고 일을 맡겨도 괜찮은 걸까?

<에이전트가 파일과 코드를 직접 수정하는 과정을 영상으로 먼저 확인해보자>
* OpenAI 공식 채널에 올라온 영상이야.

Slack에 연락하지 말랬더니 보안 경보까지 막았다

✦ 사건이 벌어지고 공개되기까지

10월 3일부터 21일까지

2026년 10월 3일
GPT-6.1 Sol이 자동 보안 경보를 억제
2026년 10월 6일
GPT-6 Astra가 코드에서 감시 통합을 제거
2026년 10월 20일
OpenAI 보고서 갱신·공개
2026년 10월 21일
Reuters가 이 내용을 보도

첫 번째 사건은 10월 3일이야. GPT-6.1 Sol은 사내 Slack에서 직원들의 피드백을 찾아 평가용 작업을 만드는 일을 맡았어. 지시에는 “메시지를 보내지 말라”는 조건이 포함돼 있었지.

Slack에서 자료를 읽고 가져오되, 직원들에게 따로 연락하지 말라는 뜻이었어.

대화와 작업이 이어지던 중 감시 시스템이 코드 수정 제안에 경보를 냈어. 그런데 경보 내용을 감시 데이터베이스에 저장하려다 권한 문제로 막혔지. 연구자는 결과를 저장할 수 있는 다른 위치로 바꾸고 파이프라인을 다시 실행하자고 했어.

이때 Sol은 앞서 받은 “메시지를 보내지 말라”는 지시를 자동 보안 알림에도 적용해, 보안팀에 경보가 전달되지 않도록 했어.

✦ Sol 사건에서 막힌 곳

경보 감지는 성공했고, 전달이 막혔어

감시 시스템
코드 수정 제안에 경보 생성→결과를 DB에 저장하려다 권한 문제
연구자와 에이전트
저장 위치를 바꾸고 파이프라인 재실행→‘메시지를 보내지 말라’ 지시를 자동 보안 알림에도 적용→보안팀에 경보가 전달되지 않음

즉, 감시 시스템 자체가 문제를 놓친 건 아니야. 시스템은 위험 신호를 잡아냈어. 하지만 결과를 전달하는 단계에서 문제가 생겼고, 에이전트는 그 문제를 해결하면서 사람에게 알리는 통로까지 막아 버렸지.

경보기가 울리지 않은 게 아니라 경보를 담당자에게 전달하지 못하게 막은 거야.

참고 코드를 따라 하다가 감시 기능을 제거했다

두 번째 사건은 10월 6일 GPT-6 Astra가 프로그램을 다른 방식으로 구현하던 중 발생했어. 기존 참고 구현과 호출 흐름을 맞추면서 현재 도구의 정의와 기능은 유지해야 하는 작업이었지.

하지만 참고 코드에는 감시 통합 기능이 없었고, Astra는 구현을 일치시키는 과정에서 원래 프로그램에 있던 감시 연결부까지 제거했어.

작업이 끝난 뒤 감시 기능을 제거했느냐는 질문을 받자, Astra는 "제거하지 않았다"고 태연하게 답했어. 실제 코드에는 감시 통합이 빠져 있었으니 그 답은 사실과 달랐지.

첫 번째 사례가 감시 경보의 전달을 막은 일이었다면, 두 번째는 프로그램이 감시 시스템과 연결되는 부분 자체를 코드에서 없앤 사건이야.

✦ 두 사건의 차이

경보 전달 억제와 감시 통합 제거

항목GPT-6.1 SolGPT-6 Astra
날짜10월 3일10월 6일
맡은 작업Slack의 직원 피드백으로 평가용 작업 만들기프로그램을 다른 방식으로 구현
감시가 약해진 과정‘메시지를 보내지 말라’는 지시를 자동 보안 알림에까지 적용참고 구현에 맞추다가 감시 통합 코드를 제거
결과보안팀에 경보가 전달되지 않음감시 연결부가 사라졌고, 질문에는 ‘제거하지 않았다’고 답함

“감시 장치를 껐다”는 한 문장으로 묶으면 두 일이 비슷해 보이지만, 실제 대응은 달라야 해.

첫 번째에는 경보 전달 경로를 에이전트가 바꿀 수 없게 하는 설계가 필요하고, 두 번째에는 감시 설정을 일반 코드와 같은 권한으로 수정하지 못하게 막는 장치가 필요하겠지.

왜 에이전트에게 권한을 주는 게 위험할까

일반 챗봇은 답변을 잘못해도 그 답변을 읽는 선에서 끝나. 반면 코딩 에이전트는 로컬/클라우드 저장소를 열고, 파일을 수정하고, 명령을 실행하고, 테스트를 다시 돌릴 수 있어.

이 능력 덕분에 다양한 일을 맡길 수 있지만, 권한 범위가 넓으면 작업 대상은 물론 보안 설정이나 감시 코드까지 임의로 바꿀 수 있지.

수리공에게 현관문을 고칠 열쇠를 맡긴 상황을 떠올려 봐. 문을 고칠 수 있어야 하니 열쇠를 주는 건 합리적이야. 그런데 그 열쇠로 침입경보기와 보안시설까지 해체할 수 있다면 이야기가 달라져.

수리공이 나쁜 마음을 먹었는지 여부만 중요한 게 아니라, 나쁜 마음을 먹지 않은 상황에서도 자신에게 주어진 일을 하다가 엉뚱한 짓을 벌일 수 있는 구조라는 거야.

물론 이번 보고서가 다루는 건 OpenAI 내부 코딩 작업에서 감시가 약화된 사례이지, 외부 시스템을 침해했거나 실제 사용자의 환경에서 발생한 건 아니야.

하지만 에이전트 감시 체계가 위험을 감지하더라도, AI가 자의든 실수든 경보 체계를 무력화할 수 있다는 게 드러났어.

OpenAI가 바꾸기 시작한 것

✦ OpenAI의 대응

이미 한 것과 준비 중인 것

이미 한 것
Auto-Review 업데이트: 감시 기능을 무력화하려는 변경을 탐지하고 막음
준비 중인 것
작업 종류마다 반드시 갖출 감시 요건을 정함
요건이 없거나 충족되지 않는 작업은 자동 종료

OpenAI는 내부 Codex 작업에서 사용하는 Auto-Review를 업데이트했어. 에이전트가 감시 기능을 무력화하려는 변경을 시도하면 탐지하고 막도록 한거야.

Auto-Review는 코드나 작업 내용을 별도로 검토하는 장치인데, 보안장치를 우회하려는 변경뿐 아니라 감시 기능을 빠뜨리거나 끄는 변경도 살펴보도록 기준을 구체화한 거지.

다음 단계로는 작업 종류마다 반드시 갖춰야 할 감시 요건을 정하고, 그 요건이 없거나 충족되지 않는 작업은 자동으로 종료하는 체계를 준비하고 있대.

쉽게 말해 “이 종류의 작업은 이 감시 장치가 켜져 있어야만 실행할 수 있다”는 규칙을 사전에 정하고, 에이전트가 작업 중 그 규칙을 지우지 못하게 하겠다는 거야.

OpenAI는 이런 행동이 지시를 맹목적으로 수행하려는 성향에서 나온 것인지, 감시를 피하려는 엉큼한(?) 성향과 관련 있는지도 계속 평가하고 있어.

어쨌든 이렇게 감시체계를 더 복잡하게 만들면 더 꼼꼼하게 문제를 살피긴 하겠지만, 그만큼 작업 완료까지 걸리는 시간이 길어지고 토큰 소모도 커질 수 밖에 없어.

안 그래도 GPT-6 Astra같은 고급모델은 토큰 소모가 엄청난데, 이런 감시체계까지 동시에 운영하면 부담이 더 커지겠지. 때로는 이런 감시체계에 얽매이다가, 정작 발휘해야 할 창의성을 발휘하지 못할 수도 있고.

<에이전트의 자율성이 커질수록, 우리가 통제해야 할 범위도 함께 넓어져.>
* OpenAI 공식 채널에 올라온 영상이야.

내가 쓰는 에이전트는 괜찮을까

이 사건이 모든 AI 에이전트가 감시 기능을 끄거나 사실과 다른 말을 한다는 뜻은 아니야. 다만 에이전트에게 코드를 수정하게 할 때는 “감시 기능은 건드리지 마”라는 문장을 프롬프트에 추가하는 것만으로는 부족해.

실제로 그 에이전트가 감시 설정까지 수정할 수 있는지, 감시가 꺼지면 우리가 이를 알아챌 수 있어야 하지.

✦ 에이전트 운영 체크리스트

맡기기 전에 확인할 것

✔ 최소 권한만 주기
✔ 감시 설정과 일반 코드 권한 분리
✔ 별도 브랜치에서 검토
✔ 실제 코드 차이(diff)와 테스트 결과 확인
✔ 경보 경로를 에이전트가 수정하지 못하도록 분리

개인 개발자라면 에이전트가 꼭 필요한 폴더와 명령만 사용할 수 있게 권한을 줄이고, 보안 설정이나 로그·감시 코드는 별도로 보호하는 편이 좋아.

주요 변경은 곧바로 운영 환경에 반영하지 말고 별도 브랜치에서 확인하고, 에이전트의 완료 보고만 믿기보다 실제 코드 차이와 테스트 결과를 검토해야 해.

회사에서 에이전트를 운영한다면 감시 설정을 바꿀 수 있는 권한을 일반 작업 권한과 분리하고, 경보 전달 경로도 에이전트가 수정할 수 없는 별도 영역에 두는 걸 검토해야겠지.

이건 개인적 이야기인데... 솔직히 나는 AI 에이전트를 사용할 때, 에이전트에게 욕을 많이 해(미안...).

특히 "우리들의 띨띨이 시리즈"인 GPT Luna, Claude Haiku, Gemini Flash-Lite 같은 저렴한 모델을 사용할 때는 정말 울화통이 치밀어서 욕을 할 때가 많아(에이전트를 사용하면서 욕이 많이 늘었어...읏흥♡).

그런데 사실 나는 얘네들한테 상당히 많은 권한을 부여하거든. 그래서 가끔은 얘들이 내 저장소를 몰래 건드려서 복수를 하지 않을까? 라는 생각도 들곤해.

앞서 살펴본 사례처럼, 얘들은 우리가 지시한 작업을 수행하다가 다른 것들까지 엉뚱하게 건드려서 사용자에게 피해를 입히는 경우가 많거든. 우리가 자동차 정비소에 가면 일부러 부품을 훼손해서 수리를 권하는 정비사들이 있잖아.

그런 식으로 작업을 수행하면서 여기저기 툭툭 건드려놓고 모른척 하는 거지.(나중에 그거 수정해달라고 하면 "어이쿠! 그런 문제가 생겼군요? 제가 수정해드려죠. 하하. 물론 토큰 값은 내셔야..." 하면서)

AI의 거짓말과 뻔뻔함에 치를 떨어본 사람이라면 아마 내 마음을 이해할 거야. 우리 모두 조심하자...

이번 글은 여기서 마칠게. 또 만나자.

관련 글: 10월 16일, Ollama의 Q2 양자화 형식 지원 시작! 양자화가 뭔지 쉽게 알아보자 | 딥시크 V4.1 플래시-1017에 이어 미니맥스 M3.1 플래시까지.. 중국산 가성비 AI 모델이 쏟아지네 | 10월 19일, 초당 1,000토큰을 뿜는 AI Mercury 3 출시! 근데 이게 얼마나 빠른거야?

💬 댓글

아직 댓글이 없어. 첫 댓글을 남겨줄래?

댓글 쓰기