Claude Code 子代理 kill(-1) 误杀用户全部进程,暴露沙箱缺陷
mattgodbolt · ghdev · 2026-10-22
Claude Code 被报告一个高危 bug(anthropics/claude-code #104156):一个后台子代理在写 Playwright 基准脚本时,把 PID 换成占位值 -1 却保留了 process.kill(pid, "SIGKILL") 清理逻辑,kill(-1, SIGKILL) 导致向该用户全部进程发信号——tmux、其他所有 Claude Code 会话、gnome-shell、Chrome 全被杀掉,且连 agent 自身也被终止,Claude Code 内部根本没有记录到这次事故。
关键点:
- 按命令文本做黑名单拦截无法防范此类情况,因为 kill 发生在 node 脚本内部
- 报告者建议做 OS 级隔离:在 Linux 上用独立 PID namespace(unshare --pid --fork 或现有 bubblewrap 沙箱)运行 Bash 工具命令,使 kill(-1) 只影响命令自身后代进程
对任何让 agent 跑 shell 命令的人都是有价值的教训:清理逻辑中的占位 PID 可以变成灭城武器。
「编程与Agent」频道最新
- Supabase 一键给应用装 MCP 服务器:ChatGPT/Claude 可直接调用你的应用 — dshukertjr · 2026-10-23
- Grok Bot 配「专属电脑」:浏览器+终端+云端文件系统直接干完任务 — nima_owji · 2026-10-23
- Neon 推出 TanStack AI 官方 AI Gateway 适配器,一个凭据调用多家模型 — matei_zaharia · 2026-10-23
- Reflection AI 演示 Beam 接入 opencode,自动微调 Gemma-4 准确率提升 66.5% — danielhanchen · 2026-10-23
- Cua 推出 Spaces SDK:让 Hermes 等 Agent 跑在你自己的电脑沙箱里 — Teknium · 2026-10-23
- PHP 爆两个未认证 RCE 漏洞,ProjectDiscovery 推全网免费告警服务 — cyb3rops · 2026-10-23