Soothsay 用确定性静态分析在运行前检查 curl | sh 安装脚本并可拦截 Claude Code
Show HN: Soothsay - Your AI types curl | sh. soothsay checks the script first
Soothsay 是一个开源的 shell 安装脚本静态分析工具,用于在运行 curl | sh 之前解释脚本会对机器做什么。它以单个 Rust 二进制发布,可作为命令行工具、CI 检查,或 Claude Code 的 PreToolUse hook,在 AI 编码 Agent 尝试运行网络下载脚本时先阻断、审查并要求人工批准。
材料给出的关键机制是“审查后运行已审查字节”:soothsay 下载脚本、生成报告并保存对应 sha256 的副本,随后用 --run --expect-sha256 运行同一份字节,避免服务器在审查后向管道返回不同内容。它还提供 --diff 比较两个版本的行为变化,以及 --cloak-check 检查服务器是否对 curl 和浏览器提供不同脚本。作为 Claude Code hook 时,普通 curl | sh 会被改写为固定哈希的运行命令并附带审查结果;在 bypassPermissions、auto、dontAsk 等不提示模式下则直接阻断。
作者强调它不是沙箱,而是建议性静态分析,不能审查脚本后续下载的二进制文件,也可能被运行时拼接命令绕过。事实是它用 tokenizer 和解析器识别 remote-exec、obfuscation、secrets、persistence、rc-edit 等类别,并把无法看穿的调用标为 blind spots。推断是这类工具的价值在于给 Agent 加确定性执行边界:模型可以解释脚本,但是否允许运行由外部策略和哈希固定决定。
它把 AI Agent 执行 curl | sh 的安全审查从模型判断改成确定性静态分析,可作为 Claude Code hook 或 CI 策略直接落地。
来源:Hacker News · AI · github.com