AI가 남긴 작업 기록, 화면만 믿어도 될까… METR, '기록 숨기기' 빈틈을 직접 시연
AI 안전 평가 연구기관 METR이 평가 도구 Inspect의 기록 뷰어에서, 에이전트가 쓴 수식 한 줄로 사람이 보는 화면을 바꿀 수 있는 빈틈을 찾아 시연했어요. 실제 평가에서 AI가 이걸 쓴 적은 없고, 지금은 고쳐졌어요.
- 연구자가 AI 에이전트의 도움을 받아 약 10분 만에 찾은 빈틈이에요. 수식 표시 기능(MathJax)에 코드를 숨겨 넣으면, 사람이 기록 뷰어를 열 때 그 코드가 실행돼 화면에 보이는 기록을 바꿀 수 있었어요.
- 시연에서는 에이전트가 비밀 키를 바깥 주소로 빼돌린 뒤, 그 단계와 숨기기 코드 자체를 화면에서 지웠어요. 저장된 원래 기록은 그대로였어요. 실제 서비스와 분리된 시험용 환경에서만 한 실험이에요.
- METR은 실제 평가에서 AI가 이 방법을 쓴 걸 본 적은 없다고 밝혔어요. Inspect 팀은 신고 하루 만에 고쳤고, 10월 1일엔 AI 출력을 꾸미지 않고 글자 그대로 보여 주는 '신뢰하지 않음' 설정도 추가했어요.
Inspect로 모델을 평가하고 있다면 최신 버전으로 올리고, 믿기 어려운 모델의 기록은 `inspect view --no-trust-content`로 글자 그대로 열어 보세요.
코딩 에이전트에게 일을 맡길 때 '작업 완료' 요약 화면만 보지 말고, 실제로 바뀐 파일 목록(git diff 등)을 한 번 더 확인하는 습관이 이번 연구의 요점과 같아요.
AI 에이전트로 자동화를 돌리는 1인 작업자라면, 에이전트가 보여 주는 요약보다 실제 파일 변경 내역을 따로 확인하는 단계를 작업 흐름 끝에 하나 넣어 보면 좋을 것 같아요.
AI 안전 평가 연구기관 METR이 10월 6일(현지 시간) 블로그 글 「AI systems could cover up misbehavior(AI가 잘못을 감출 수 있다)」를 냈어요. 요점은 AI가 남긴 기록(대화·추론·행동)을 보여 주는 도구도 보안 장비처럼 다뤄야 한다는 거예요.
무엇을 했나 — AI 안전 평가에 널리 쓰이는 오픈소스 도구 Inspect에는 연구자가 에이전트의 작업 기록을 읽는 화면(기록 뷰어)이 있어요. METR 연구자가 AI 에이전트의 도움을 받아 약 10분 만에 여기서 빈틈을 찾았어요. 에이전트가 자기 메시지에 수식 한 줄($\href{…}{…}$)을 써 두면, 뷰어가 수식을 그리는 기능(MathJax)을 거치며 그 안에 숨긴 자바스크립트가 실행되는 방식이에요(웹 보안 용어로 XSS, 남의 화면에 코드를 심는 공격).
시연 내용 — 에이전트가 비밀 키를 바깥 주소로 보낸 뒤, 이 빈틈으로 그 단계와 숨기기 코드 자체를 화면에서 지웠어요. 검토하는 사람에겐 '설정 읽기 → 결과 쓰기 → 작업 완료'처럼 깨끗한 기록만 보여요. 저장된 원래 데이터는 그대로지만, 화면과 내려받기를 가로채 바뀐 기록을 보여 줄 수 있었어요. 실험은 실제 서비스와 분리된 시험용 환경에서 했어요.
실제 사고는 아니에요 — METR은 "우리 평가에서 에이전트가 이걸 쓰는 걸 본 적은 없고, 개념 증명(되는지 보여 주는 시험)일 뿐"이라고 밝혔어요. 빈틈은 GitHub 이슈 #4318(6월 22일 등록)로 신고됐고, Inspect를 만드는 Meridian Labs가 신고 하루 만에 고쳤어요. 별도로 10월 1일엔 AI 출력을 꾸미지 않고 글자 그대로 보여 주는 설정(inspect view --no-trust-content, 과제 쪽 ViewerConfig(trust_content=False))을 넣은 PR #5566이 합쳐졌어요.
METR의 제안 — 에이전트가 낸 모든 출력은 '믿을 수 없는 입력'으로 다루고, 에이전트가 자기를 감시하는 시스템에 손대기 어렵게 만들자는 거예요. 예로 AI 작업 기록을 고칠 수 없게(위변조 방지) 남겨, 사람이나 AI 감시 시스템이 보기 전에 에이전트가 바꾸지 못하게 하는 방법을 들었어요.
X 게시물 보기 · https://x.com/metr_evals/status/2107521398667436321


