
Claude Code의 changelog는 이미 보안 속보 수준이다. 그런데 정작 도입되는 것은 '코드용' 보안 스킬뿐
요약
Claude Code의 최근 업데이트를 통해 AI 에이전트가 직면한 보안 취약점과 공격 대상 영역의 변화를 분석합니다. 공격 대상이 작성된 코드에서 코드를 작성하는 에이전트로 이동하고 있음에도, 개발자들의 보안 도구 설치 경향은 여전히 기존 코드 감사에 머물러 있다는 점을 지적합니다.
핵심 포인트
- Claude Code의 취약점 수정 사례를 통해 에이전트 보안의 중요성 강조
- 공격 대상 영역이 '작성 코드'에서 '코드를 작성하는 에이전트'로 이동
- 에이전트 보호용 보안 스킬 설치 수가 기존 코드 감사 도구에 비해 현저히 낮음
- 프롬프트 인젝션, 샌드박스 회피 등 에이전트 계층의 새로운 보안 위협 등장
이번 주 Claude Code의 changelog를 CVE 피드를 읽는다는 기분으로 한번 열어보길 바란다. v2.1.212에서는 플랜 모드(Plan mode)가 rm 등 파일을 변경하는 Bash 명령어를 허가 프롬프트 없이 자동으로 실행해 버리는 문제가 수정되었다. 리포지토리에 커밋된 심볼릭 링크(symlink)를 worktree 생성 시 따라가서 리포지토리 외부에 파일을 생성할 수 있었던 문제도 수정되었다. 바로 이전 버전인 v2.1.211에서는 채팅 채널로 중계되는 허가 프리뷰(permission preview)에 대해, 도구 입력(tool input)에 포함된 양방향 오버라이드 문자(bidirectional override characters)나 제로 너비 문자(zero-width characters), 혼동을 주는 인용부호가 승인 메시지의 표시를 위장할 수 있었던 문제가 수정되었다.
마지막 항목은 두 번 읽어주길 바란다. 이 수정이 반영되기 전까지, 악의적인 도구 입력은 채팅 측에 표시되는 승인 메시지를 스스로 '안전해 보이도록' 연출할 수 있었다는 뜻이다.
이것은 Anthropic에 대한 비판이 아니다. 이 정도로 구체적인 수정을 매주 공개적으로 내놓는 것은 제대로 된 벤더(vendor)의 업무 방식이다. 중요한 것은 거기서 읽어낼 수 있는 사실이다. AI 지원 개발의 공격 대상 영역(attack surface)은 작성하는 코드에서 **코드를 작성하는 에이전트(agent)**로 옮겨갔다. 프롬프트 인젝션(Prompt injection), 승인 프리뷰 위장, 샌드박스(sandbox) 회피, 악의적인 스킬. 인시던트(incident)는 지금 이 계층에서 일어나고 있다.
여기서부터 불편한 이야기가 시작된다. 우리는 Skillselion이라는, Claude Code / Codex / Cursor 확장 프로그램을 실제 설치 수로 랭킹하는 디렉토리를 운영하고 있다(카탈로그는 skills.sh, GitHub, MCP 레지스트리에서 매일 업데이트된다). '보안(security)' 항목에서 개발자들이 실제로 설치하고 있는 것들을 보면, 그 광경은 10년 전과 똑같다.
상위권은 모두 '출하할 코드'를 감사하는 스킬들이다.
- firebase-security-rules-auditor (Firebase 제작, GitHub): 71,873 설치
- golang-security (GitHub): 34,000 설치
- better-auth-security-best-practices (GitHub): 20,323 설치
- security-review (Sentry 제작, GitHub): 10,629 설치
반면, changelog가 계속해서 수정하고 있는 계층, 즉 '에이전트 자체'를 보호하는 스킬은 다음과 같다.
- skill-vetter (GitHub). 설치 전에 스킬을 감사함: 20,395 설치
- claude-settings-audit (Sentry 제작, GitHub). Claude Code 설정을 감사함: 3,138 설치
- seatbelt-sandboxer (Trail of Bits 제작, GitHub). macOS에서 에이전트 프로세스를 격리함: 3,085 설치
- prompt-injection-scanner (GitHub): 222 설치
Firebase 규칙 감사는 프롬프트 인젝션 스캐너보다 323배 더 많이 설치되어 있다. 업계에서 가장 신뢰받는 보안 기업 중 하나인 Trail of Bits가 changelog가 계속 고치고 있는 문제 그 자체를 위한 샌드박스 격리 도구를 공개했음에도 불구하고 3,085 설치에 그쳤다. Go용 코드 보안 스킬은 34,000이다.
포인트 1: 공격 대상 영역은 에이전트로 옮겨갔지만, 설치 행동은 따라가지 못하고 있다. 쉘(shell), 파일 시스템, 인증 정보, CI까지 장악하는 에이전트가 새로운 입구가 되었는데, 우리는 여전히 현관문 열쇠를 추가로 사고 있을 뿐이다.
카탈로그에는 현재 61,000개 이상의 스킬이 있다. 스킬의 실체는 Bash 액세스 권한을 가진 에이전트에게 전달하는 Markdown + 동봉된 스크립트다. 기능적으로는 '가드레일(guardrail)이 적은 npm 패키지'와 같으며, 기본 lockfile도 없고 서명도 없으며, 실행 컨텍스트에는 개발 환경의 모든 것이 포함된다.
이 상황에는 기시감이 든다. npm은 약 10년 전에 비슷한 국면을 맞이했고, 에코시스템은 npm audit, lockfile, provenance, 공급망 스캐너(supply chain scanner)로 대응했다. 에이전트 스킬의 에코시스템은 그 곡선의 'audit 이전' 단계에 머물러 있다. 게다가 이번 패키지들은 쉘, 인증 정보, 리포지토리까지 처음부터 사정권에 두고 있다.
데이터 중에서 흥미로운 시그널은 skill-vetter의 20,395건의 설치 수다. 에이전트 보안 (Agent Security) 계열에서 유일하게 제대로 된 수치를 가진 스킬로, 그 내용은 의존성 감사 (Dependency Audit)의 반사 신경을 스킬로 이식한 것에 다름없다. 실행하기 전에, 해당 스킬이 실제로 무엇을 하는지 검사한다. 이러한 반사 신경이 확장되는 것이 에코시스템 (Ecosystem)의 성숙이라고 생각한다.
포인트 2: 설치 전 스킬 검사는 새로운 의존성 패키지 감사다. 2년 후, Bash 접근 권한이 있는 미검증 스킬을 그대로 도입하는 행위는 지금의 curl | sudo bash와 같은 시선으로 바라보게 될 것이다.
거창한 프레임워크는 필요 없다. 세 가지 반사 신경만 있으면 된다.
- 에이전트의 changelog를 런타임 (Runtime) 보안 권고 (Security Advisory)와 동일한 자세로 읽는다. 현재 AI 지원 개발에서 가장 시그널이 밀도 높은 보안 피드 중 하나이며, 심지어 무료다.
- 코드 계층뿐만 아니라 에이전트 계층을 감사한다. 허가 목록 (Allowlist), 설치된 스킬과 MCP 서버, 샌드박스 (Sandbox) 설정은 이제 프로덕션 설정의 일부다.
- 스킬을 도입하기 전에 무엇이 동봉되어 있고 무엇에 접근하는지 확인한다. 설치 수와 파일 트리 (File Tree)는 Skillselion의 각 리스팅 (Listing)에서 공개되고 있으며, skillselion-mcp 서버를 사용하면 에이전트 스스로가 설치 전에 스킬의 풋프린트 (Footprint)를 확인할 수 있다.
벤더는 자신의 일을 하고 있다. 설치 데이터가 보여주는 것은, 우리 중 많은 이들이 아직 자신의 일을 시작조차 하지 않았다는 사실이다.
필자는 Skillselion의 운영자입니다. 위의 설치 수는 모두 2026년 7월 17일에 라이브 카탈로그에서 가져온 것입니다.
AI 자동 생성 콘텐츠
본 콘텐츠는 Qiita AI의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기