v2.1.294 버전에서, 지시문으로 작성한 prompt / agent hook이 막아야 할 동작을 통과시키는 버그가 수정되었습니다. 판정문을 명령형으로 작성한 hook을 가드 역할을 하는 설정으로 사용할 경우, v2.1.293까지는와 v2.1.294 이후로는 차단되는 동작이 달라집니다. 이전 버전들에서도 권한 판정 우회가 막혔으며, v2.1.295에는 실패한 hook을 거부 처리하는 onFailure: "block"가 추가되었습니다.
| 변경 | 내용 | 버전 |
|---|
| Claude Haiku 5.5 | claude-haiku-5-5가 Anthropic API의 기본 Haiku로 적용됩니다. 1M context, 0.10 / 0.50 USD per Mtok (100K 초과 프롬프트는 0.50 / 2.50 USD) | v2.1.293 |
| prompt / agent hook의 우회 수정 | 지시문으로 작성된 hook이 차단해야 할 동작을 통과시키던 문제 | v2.1.294 |
onFailure: "block" | | |
| 시작할 수 없거나 타임아웃되는 hook이 동작을 막는 쪽으로 변경됨 | v2.1.295 | |
| Bash 권한 판정 강화 | rg, pyright, BASH_ARGV0를 사용하는 명령어로 확인 가능 | v2.1.290 / v2.1.296 |
| 비 UTF-8 파일의 Edit 거부 | Shift-JIS 등의 파일에서 비 ASCII 문자를 통째로 대체하던 문제 수정 | v2.1.296 |
| Sonnet 5.5의 cache read 단가 | /cost나 --max-budget-usd 계산이 0.20에서 0.10 USD per Mtok으로 변경 | v2.1.296 |
Agent 도구의 effort | | |
| Claude가 서브 에이전트를 지정된 effort로 구동 가능 | v2.1.292 | |
| WebSearch 회수 제한 | 200회에서 중단되던 것이, 1시간당 100회씩 회복되는 방식으로 변경 | v2.1.290 |
prompt / hook은 hook의 입력을 모델에 전달하여 가능 여부를 판정하게 하는 종류의 hook입니다. 판정 기준은 설정에 작성된 문장 그 자체입니다. 이 문장을
특정(を指定)한 경우의 동작에 대해서만 언급했을 뿐, 기본 변경 사항에는 다루지 않았습니다. v2.1.296부터는 --debug 출력에서 hook 소요 시간도 확인할 수 있습니다. 대상은 툴 호출(tool calling), 프롬프트(prompt), SessionStart, Stop의 command hook이며, 종료 시 명령어, 플러그인, 결과와 함께 기록됩니다.
hook이나 auto mode를 거칠 때 권한 판정이 누락되던 경로도 버전을 넘나들며 막았습니다.
- PreToolUse hook이 툴 입력을 수정한 후 호출될 때, 일부 권한 규칙과 안전 점검이 적용되지 않았음 (v2.1.290)
- 네트워크(UNC) 경로의 파일 읽기에서, PreToolUse hook의 승인과 auto mode가 권한 프롬프트를 건너뛰고 있었습니다. 7 버전 내에서
Security:
이 붙은 항목은 이것뿐입니다 (v2.1.292) - managed settings의 PreToolUse hook이
"continue": false
로 호출을 거부해도 턴이 끝나지 않고 계속 진행되었습니다 (v2.1.296)
Bash의 권한 판정은 v2.1.290부터 v2.1.296에 걸쳐 확인이 증가하는 방향과 감소하는 방향 양쪽으로 움직였습니다.
| 대상 | 변화 | 버전 |
|---|
引数がシェルのワイルドカード展開を受ける rg / git grep 등의 읽기 명령어 | 자동 승인 → 확인 필요 | v2.1.290 |
| zsh와 bash에서 변수명 읽기가 다른 명령어 | 자동 승인 → 확인 필요 | v2.1.290 |
pyright | | |
| 읽기 전용 취급 해제, 확인 필요 | v2.1.290 | |
ps의 일부 작성 방식 | | |
| 확인 없음 → 확인 필요 | v2.1.290 | |
BASH_ARGV0에 할당 후 사용하는 명령어 | 자동 승인 → 확인 필요 | v2.1.296 |
sandbox 내에서 heredoc을 다른 명령어로 전달하는 형태 (cat <<EOF를 python3로 파이프) | 매번 확인 → 확인 없음 | v2.1.290 |
strict sandbox mode에서의 FOO=bar python3 app.py와 같은 환경 변수 포함 실행 | 확인 없이 실행 | v2.1.292 |
| Windows의 PowerShell에서 약 1 KB를 초과하는 명령어 | 항상 확인 → 32 KB까지 allow 규칙 및 읽기 전용 판정 적용 | v2.1.296 |
v2.1.295까지의 Edit과 NotebookEdit은 UTF-8이 아닌 파일(Windows-1252, Shift-JIS, GBK)의 비 ASCII 문자를 모두 대체했습니다. Shift-JIS 소스의 경우, Edit 1회만으로도 건드리지 않은 줄의 일본어 주석까지 다른 문자로 바뀌었습니다. v2.1.296의 Edit은 이러한 파일에 대한 편집을 거부합니다.
hook 변경 사항은 막아야 할 작업이 멈추지 않는 경로에 집중되어 있었습니다. 판정 오독(v2.1.294), hook 자체 실패(v2.1.295), 거부 후에도 턴이 계속되는 managed hook(v2.1.296)의 세 가지 계통입니다. 병행하여, v2.1.291은 v2.1.290과 v2.1.288의 회귀를 수정한 버전일 뿐이며, v2.1.293은 v2.1.290에서 들어간 cloud session 수정 사항을 되돌렸습니다.