Claude Code 2.1.228 운영 체크리스트: skill sync 보안과 세션 안정성을 점검하는 방법
요약: Claude Code 2.1.228은 화려한 기능 추가보다 현장 운영에서 중요한 안정성·보안 수정이 많다. skill sync 보안 강화, 세션 cleanup 버그 수정, Remote Control 정보 노출 수정, self-hosted runner 안정화, Vertex AI credential 처리 개선은 AI 코딩 CLI를 팀 단위로 쓰는 조직이 바로 확인해야 할 항목이다.
왜 패치 노트를 운영 문서처럼 읽어야 하나
AI 코딩 CLI는 이제 개발자 개인의 실험 도구가 아니다. 백그라운드 에이전트, 원격 세션, self-hosted runner, skill, MCP, 워크트리 격리까지 붙으면 작은 버그 하나가 개발 프로세스 전체에 영향을 준다. Claude Code 2.1.228 changelog는 이런 운영 리스크를 잘 보여준다.
이번 버전에는 “드문 내부 layout error 뒤 interactive session이 다시 그려지지 않는 문제”, “Remote Control resume 시 대화 제목이나 기록이 연결 세션에 새는 문제”, “session cleanup이 프로젝트 memory 폴더 내용을 삭제하는 문제”, “claude.ai에서 sync된 skill이 local command나 MCP prompt를 shadow하지 못하게 하는 보안 강화” 등이 포함됐다. 개별 항목은 작아 보여도 팀 환경에서는 중요하다.
특히 skill sync 관련 수정은 반드시 봐야 한다. AI 에이전트에서 skill은 단순 문서가 아니라 실행 지침, 참조 파일, 때로는 스크립트까지 포함하는 확장 단위다. 외부에서 동기화된 skill이 로컬 명령이나 MCP prompt를 가리거나, 본문에서 명령 실행·파일 확장을 유도할 수 있다면 supply chain 문제가 된다.
skill sync 보안 강화가 의미하는 것
2.1.228 changelog는 claude.ai에서 sync된 skills가 local commands 또는 MCP prompts를 shadow하지 않도록 하고, description을 sanitize·label하며, 로컬 머신에서 body가 ! commands를 실행하거나 @ files를 expand하지 않게 했다고 설명한다. 이 문장은 짧지만 운영 의미는 크다.
첫째, 이름 충돌은 보안 문제가 될 수 있다. 팀이 로컬에 안전한 /deploy-check 명령을 갖고 있는데 외부 sync skill이 같은 이름이나 비슷한 설명으로 우선순위를 차지하면, 에이전트가 다른 지침을 따를 수 있다. shadow 방지는 이런 혼선을 줄인다.
둘째, description sanitize는 prompt injection 표면을 줄인다. skill 설명은 모델이 “이 skill을 언제 쓸지” 판단하는 데 쓰인다. 여기에 과도한 지시나 숨은 행동 유도가 들어가면 모델 선택 과정이 오염될 수 있다. 설명이 정리되고 label이 붙으면 외부 출처와 로컬 출처를 구분하기 쉬워진다.
셋째, body에서 ! command와 @ file expansion을 막는 것은 로컬 환경 보호에 직접적이다. skill 문서가 실행 지시처럼 해석되거나 민감 파일을 자동으로 읽게 되는 위험을 줄인다. 팀은 이 수정에만 의존하지 말고, 외부 skill을 받아들일 때 코드 리뷰처럼 diff를 검토해야 한다.
세션 cleanup과 memory 폴더 삭제 버그 확인
이번 버전에서 “session cleanup deleting contents inside a project's memory folder”가 수정됐다. AI 코딩 도구에서 memory 폴더는 프로젝트 규칙, 작업 이력, 에이전트 지침, 중간 상태를 담을 수 있다. cleanup이 여기를 건드리면 단순 캐시 손상이 아니라 작업 연속성이 깨진다.
팀에서 Claude Code를 쓰고 있다면 먼저 프로젝트 안에 memory, .claude, agents, skills처럼 에이전트 상태가 담긴 디렉터리가 있는지 확인해야 한다. 그다음 CLI 버전을 올리기 전후로 cleanup이 어떤 경로를 대상으로 하는지 테스트한다. 특히 CI runner나 self-hosted runner처럼 세션이 자주 생성·삭제되는 환경에서는 재현이 쉬울 수 있다.
운영 팁은 명확하다. 에이전트 memory와 작업 산출물은 git에 넣을 것과 넣지 않을 것을 분리한다. 장기 규칙은 저장소 문서에 넣고, 임시 상태는 별도 cache 경로에 둔다. cleanup 대상 경로를 명시할 수 있다면 프로젝트 소스와 memory를 제외한다. 업그레이드 직후에는 중요한 memory 파일의 존재 여부를 간단한 smoke test로 확인한다.
Remote Control과 cross-session messaging 점검
2.1.228에는 Remote Control /resume 중 연결 세션에 재개된 대화 제목이나 기록이 새는 문제 수정, cross-session messaging 표시 개선, 첫 설치 또는 업그레이드 뒤 inbox 없이 시작하는 문제 수정이 포함됐다. 원격 제어와 세션 간 메시지는 편하지만 프라이버시와 권한 경계가 얇아지는 영역이다.
팀에서 여러 머신의 Claude Code 세션을 연결하거나, 백그라운드 에이전트와 메시지를 주고받는다면 “누가 어떤 세션에 어떤 내용을 보낼 수 있는지”를 확인해야 한다. 특히 고객 코드, 보안 이슈, 미공개 제품 내용이 섞인 세션 제목이나 히스토리가 다른 세션에 노출되면 작은 UI 버그도 사고가 된다.
업데이트 후에는 세 가지 테스트를 권한다. 첫째, Remote Control로 연결한 상태에서 /resume을 실행하고 대상 세션의 제목·이전 히스토리가 불필요하게 보이지 않는지 확인한다. 둘째, cross-session message를 보내고 수신자와 본문이 의도한 세션에만 표시되는지 확인한다. 셋째, 다른 머신 Remote Control 세션 이름이 sender로 표시되는지 확인해 감사 로그를 맞춘다.
self-hosted runner와 CI 운영 포인트
2.1.228은 self-hosted runner에서 checkout hook이 실패하는 저장소 때문에 fresh runner의 모든 세션이 실패하던 문제를 수정했다. 해당 저장소는 warning과 함께 skip된다고 한다. 또한 background task 완료와 follow-up turn 시작 사이의 gap에서 세션이 종료되는 문제도 고쳤다.
AI 코딩 에이전트를 self-hosted runner로 돌리는 팀은 실패 격리가 중요하다. 하나의 repo checkout 실패가 전체 runner를 죽이면 운영자는 원인을 찾기 어렵고, 큐에 쌓인 작업이 모두 실패한다. skip with warning은 더 나은 동작이지만, warning을 놓치면 특정 저장소 작업이 조용히 빠질 수 있다.
따라서 runner 로그에서 warning을 수집하고, checkout 실패 저장소가 반복되는지 알림을 만들어야 한다. 작업 성공 여부도 “세션이 끝났다”가 아니라 “대상 repo checkout, 작업 실행, diff 생성, 테스트, follow-up turn” 단계를 나눠 기록하는 편이 안전하다. background task와 후속 턴 사이의 gap은 자동화에서 흔한 회색지대이므로, 완료 이벤트 후 실제 결과 요약까지 도착했는지 확인해야 한다.
업그레이드 전후 검증 루틴
Claude Code 같은 도구는 매일 업데이트해도 되지만, 팀 운영에서는 최소한의 검증 루틴이 필요하다. 먼저 현재 버전, 설정 파일, 설치된 skills, MCP 서버 목록, Remote Control 사용 여부, runner 사용 여부를 기록한다. 그런 다음 2.1.228로 올린 뒤 동일한 작업 3개를 실행한다.
추천 smoke test는 작고 반복 가능해야 한다. 예를 들어 “작은 파일 수정 후 테스트”, “skill 호출 후 의도한 참조 문서만 사용”, “Remote Control 세션 resume”, “self-hosted runner에서 dummy repo checkout”, “Vertex AI credential이 없을 때 빠르게 실패하는지” 정도면 충분하다.
검증 결과는 팀 문서에 남긴다. AI 코딩 도구는 결과가 좋아도 재현성이 없으면 운영 자산이 되기 어렵다. 어떤 버전에서 어떤 문제가 고쳐졌고, 어떤 설정을 유지해야 하는지 기록해야 다음 장애 때 빠르게 비교할 수 있다.
실행 체크리스트
- Claude Code 버전을 2.1.228 이상으로 올리고 changelog의 보안·cleanup 항목을 확인한다.
- sync된 외부 skills 목록을 뽑고, 로컬 commands·MCP prompts와 이름 충돌이 없는지 본다.
- skill 본문에 실행 지시, 민감 파일 참조, 과도한 권한 요구가 없는지 리뷰한다.
- 프로젝트 memory 폴더를 백업하고 session cleanup 후 삭제되지 않는지 smoke test를 돌린다.
- Remote Control /resume에서 다른 세션 제목이나 히스토리가 노출되지 않는지 확인한다.
- self-hosted runner는 checkout 실패를 warning으로 수집하고 반복 실패 repo를 알림으로 올린다.
- Vertex AI credential 만료 시 몇 초 안에 실패하는지 확인해 긴 retry 대기를 줄인다.
- 업그레이드 결과를 팀 운영 문서에 남기고, 다음 버전 비교 기준으로 사용한다.