Claude Code v2.1.289 릴리스: 권한 규칙 우회 문제 4가지 수정 및 플러그인 API에 agent.spawn 추가
요약
Claude Code v2.1.289가 출시되어 권한 규칙 우회 문제 4가지와 플러그인 API 개선 사항이 포함되었습니다. 특히, Bash 환경 변수 사용 시 deny/ask 규칙 미작동 및 사용자 mod에 의한 조직 정책 우회 문제가 수정되었으며, 멀티 에이전트 지원을 위한 `agent.spawn` 기능이 추가되어 개발자에게 유용합니다.
핵심 포인트
- 권한 규칙 우회 문제 4가지가 제품 결함으로 수정됨 (업데이트 필수).
- Bash 환경 변수 사용 시 deny/ask 규칙 작동 오류 해결.
- 조직 정책보다 사용자 mod가 우선하던 권한 문제가 개선됨.
- 플러그인 API에 `agent.spawn`이 추가되어 멀티 에이전트 지원.
Claude Code v2.1.289가 출시되었습니다. 이번 가장 중요한 포인트는 권한 규칙(deny/ask)이나 관리 정책이 우회될 수 있는 문제가 4가지 항목에서 한꺼번에 수정된 것입니다. 아울러, 플러그인 API에 agent.spawn (팀원 기동)과 같은 멀티 에이전트용 기능이 추가되었습니다.
📌 영향을 받는 사람
- 샌드박스 자동 허가와 Bash의 deny/ask 규칙을 병용하는 사용자
- 조직 관리 단말(managed settings)에서 Claude Code를 운영하는 관리자
- Read의 deny 규칙으로 기밀 파일을 보호하는 사용자
- 조직 관리의 MCP 서버를 사용하며, 사용자가 플러그인을 자유롭게 설치할 수 있는 환경의 사람
- 플러그인/mod 개발자
결론부터 말하자면, v2.1.289 이상으로 업데이트하는 것을 권장합니다. 이후 중요도가 높은 순서대로 설명하겠습니다.
권한 관련 수정 사항들은 모두 '규칙을 작성했음에도 불구하고 작동하지 않았던' 유형입니다. 설정 오류가 아니라 제품 측의 결함이므로, 사용자 측 설정을 재검토해도 막을 수 없습니다. 업데이트가 유일한 대책입니다.
| # | 영향 범위 | 내용 | 대상 |
|---|---|---|---|
| 1 | Bash tool / 샌드박스 자동 허가 | 특정 형태의 명령어로 deny/ask 규칙이 작동하지 않음 | 샌드박스 자동 허가 사용자 |
| ... |
샌드박스가 명령어를 자동으로 허가하는 설정일 때, 다음 두 가지 패턴에서 deny/ask 규칙이 평가되지 않았습니다.
- 패턴 A: 환경 변수를 앞에 붙이고 그 값이 전개되는 명령어. 예:
TZ="$HOME" rm -rf build
.deny/ask에 일치해야 할 명령어를 놓치고 있었습니다. -
패턴 B: 명령어 앞에 변수 대입만 위치하는 경우. deny/ask 규칙의 판정 자체가 건너뛰어졌습니다.
즉, rm을 deny/ask로 설정했더라도, 앞에 환경 변수를 붙이는 것만으로도 확인 없이 실행될 수 있는 상태였습니다.
조직 관리 단말에서 복합 셸 명령어의 내부 부분에 deny/ask 규칙이 일치하더라도, 사용자가 설치한 mod의 승인이 이를 덮어쓰고 있었습니다. 조직의 권한 정책이 사용자 측 mod로 우회될 수 있는 문제입니다. v2.1.289에서는 규칙 측이 우선됩니다.
Read의 deny 규칙으로 금지한 파일이라도, 심볼릭 링크를 경유하면 다음 경로를 통해 내용이 컨텍스트에 들어갈 가능성이 있었습니다.
@멘션 - 파일 변경- IDE에서의 선택
.env와 같은 기밀 파일을 deny로 보호하고 있을 경우, 링크 경유로 모델에게 읽힐 위험이 있었습니다.
사용자가 설치한 플러그인이 조직 관리 MCP 서버의 로그인(인증)용 도구 설명(description)을 수정당할 수 있었습니다. 인증 흐름 유도나 프롬프트 인젝션에 악용될 수 있는 문제입니다.
| 추가점 | 내용 | 좋은 점 |
|---|---|---|
agent.spawn | 팀원 기동 | 플러그인에서 멀티 에이전트를 기동할 수 있음 |
| 공통 에이전트 ID | 플러그인 훅의 각 이벤트에서 동일한 ID 사용 | 이벤트를 넘어서 같은 에이전트를 추적할 수 있음 |
$.agent.list() 상태 추가 | idle (유휴)와 waiting (대기 중) 반환 | 에이전트 상황을 시각화하기 쉬움 |
💡 팁
지금까지는 이벤트마다 에이전트를 연결하는 노력이 필요했지만, 공통 ID 덕분에 '어떤 에이전트의 이벤트인지'가 일관되게 판별할 수 있습니다. 상태 패널용 mod 등에서 특히 편리합니다.
| 구분 | 내용 |
|---|---|
| 프리즈 수정 | 닫지 않은 <script> 태그나 깊게 중첩된 ${를 포함하는 짧은 코드 블록에서 터미널이 프리즈(freeze)했습니다. 공개 아티팩트 페이지에서는 열람자의 브라우저 탭도 프리즈/크래시되었습니다. |
| ... |
v2.1.289 이상으로 업데이트할 것(필수). -
샌드박스 자동 허용(automatic allow)과 deny/ask를 병행하는 경우에는, v2.1.289 미만에서는 deny/ask가 작동하지 않는 명령어 형태가 있다는 전제하에 다루어 주십시오. 업데이트 전까지는 자동 허용 비활성화도 검토해 주십시오. -
조직 관리 단말의 관리자는 배포하는 Claude Code의 버전을 v2.1.289 이상으로 통일해야 합니다. -
Read의 deny로 기밀 파일을 보호하고 있는 경우에는, 심볼릭 링크의 유무를 재점검하여 과거에 의도치 않게 참조된 적이 없는지 확인해 주십시오. -
조직 관리 MCP(Management Control Plane)를 사용하는 경우에는, 사용자가 설치한 플러그인 목록과 출처를 확인해 주십시오.
샌드박스 자동 허용과 deny/ask 규칙을 병행하는 환경에서는 운영 규칙에 다음 내용을 기재하면 재발 방지에 도움이 됩니다.
## 권한・샌드박스 운영
- 샌드박스 자동 허용과 deny/ask 규칙을 병행하는 환경에서는 v2.1.289 이상이 필수
- 환경 변수 접두사(prefix)가 붙은 명령어(예: TZ="$HOME" rm -rf build")로
...
플러그인/모드 개발자에게는
AI 자동 생성 콘텐츠
본 콘텐츠는 Qiita AI의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기