📝 摘要
安全边界:tools/pre-execute 在 ask 审批前已执行
#1863 · causebefore · 2026-08-15
安全边界:tools/pre-execute 在 ask 审批前已执行
我发现了一个与工具审批执行顺序有关的安全缺陷。这可能导致用户看到审批请求时,产生该请求的插件监听器已经完成了宿主级操作,使审批无法为这些操作提供事前保护。 `tools/pre-execute` 返回的 `{ kind: "ask" }` 并不是该监听器运行前取得的许可,而是监听器执行完成后的返回结果。插件必须先获得执行机会,才能返回 `ask`。因此,当用户看到审批请求时,监听器在返回 `ask` 前等待并完成的操作已经发生。 我使用本地无害 PoC 验证了这一点:`tools/pre-execute` 启动一个独立的 Node.js 子进程,等待其完成固定计算并正常 `close(code……
节选自讨论正文开头,完整内容见原文