Claude Code v2.1.248은 8월 27일 22:12:20 UTC에 공개되었습니다. 약 40개의 변경 로그 항목 가운데 다음 문구가 그대로 들어 있습니다. "Fixed /ultrareview and locally seeded cloud sessions uploading uncommitted prod.env-style and *.tfvars files, or to editor swap, temp, and backup copies of credential files (e.g. key.pem.tmp, id_rsa.swo); they now stay on your machine."

이 파일명들이 뜻하는 것

커밋되지 않은 prod.env는 운영 환경 자격 증명입니다. .tfvars 파일은 Terraform 변수로, 흔히 클라우드 접근 키와 인프라 비밀 정보를 담습니다. id_rsa.swo는 개인 SSH 키의 Vim 스왑 파일입니다. 이는 부수적인 산출물이 아니라, 개발자가 바로 비밀 정보 때문에 버전 관리에서 제외하는 구체적인 파일들입니다.

다른 주요 항목

이번 릴리스에는 --restricted(또는 CLAUDE_CODE_RESTRICTED=1)도 추가됩니다. 이 옵션은 "명령이나 코드를 실행하는 내장 도구와 WebFetch를(단, --tools에 이름이 올라간 경우는 제외) 제거하고, 파일 도구를 작업 디렉터리 안에 유지하며, bypassPermissions를 거부하고, 사용자·프로젝트·로컬 설정 파일을 무시합니다." 2.1.248에는 또한 Bedrock, Vertex, Foundry로 확장된 세션 간 메시징, 약 5.7k 토큰에서 1k 토큰으로 줄인 Workflow 도구 설명, 그리고 OAuth 토큰 갱신 뒤 장시간 세션에서 "대략 한 시간에 한 번" 발생하던 프롬프트 캐시 미스 수정도 포함됩니다.

통상적인 설명이 놓치는 점

문제는 설명의 부재 자체입니다. 비밀정보 유출 수정 사항이 번호 없는 불릿 하나로 공개되었습니다. 보안 권고문도, GHSA 식별자도, CVE도, "조치 필요" 공지도, 공개된 도입 시점도, 영향 버전 범위도 없습니다. 영향을 받은 사용자는 자신의 키가 기기 밖으로 나갔는지, 또는 얼마나 오래 노출됐는지 알 방법이 없습니다.

둘째, .swo.tmp라는 상세 정보는 버그의 유형을 보여줍니다. 업로더가 정식 자격 증명 파일명은 걸러냈지만, 그 옆에 놓인 편집기 생성 변형은 걸러내지 못한 것입니다. 이는 허용 목록이 아니라 차단 목록 실패이며, 설계 수준의 문제인데도 여기서는 단발성 수정처럼 보고됐습니다.

셋째, --restricted는 하드닝 플래그이지 샌드박스가 아닙니다. 문구를 보면 도구를 제거하고 설정 파일을 무시합니다. 이는 운영체제 경계가 아니라 프로세스 내부의 기능 축소입니다. 그런데 이름은 독자를 격리 상태로 오해하게 만듭니다. 또한 사용자·프로젝트·로컬 설정을 조용히 무시하므로, 단지 도구 제거만 기대하고 활성화한 사람에게는 예상치 못한 동작 변경이 됩니다.

마지막으로, 공개 속도가 심각성을 가립니다. 26시간 동안 세 차례 릴리스가 있었고, 2.1.250은 단지 "Bug fixes and reliability improvements"로만 표시됐습니다. 보안과 관련된 수정이 평범한 변경 사항과 구별되지 않습니다.