漏洞概述 标题: [Security] BusyBox-wrapped allow-always approval reuses trust across different shell payloads and bypasses exec re-approval #1212 描述: GoClaw 的 exec 批准缓存将 决策视为仅针对外部二进制文件名称,而不是整个执行计划。因此,一旦操作员永久批准一个 BusyBox-wrapped shell 命令,任何后续的 命令都可以在没有新的批准提示的情况下执行。这跨越了 GoClaw 对主机命令执行的预期操作员批准边界。 影响范围 任意命令执行: 使用 GoClaw 进程的主机特权。 工作区文件读写和篡改: 可以读取和修改工作区文件。 凭证、配置、源或令牌提取: 从主机环境中提取敏感信息。 系统级妥协: 根据 GoClaw 的部署方式,可能导致系统级安全漏洞。 修复方案 1. RequestApproval(): 应持久化完整的命令身份(或至少解析后的参数列表),而不仅仅是 。 2. matchesAllowList(): 需要路径感知匹配,如 或 必须不冲突。 3. Wrapper/multiplexer 二进制文件: 不应授予可重用信任于内部载荷。 4. 回归测试: 为 BusyBox 应用程序包添加测试,确保不会为不同的 载荷授予信任。 POC 代码 总结 该漏洞允许通过 BusyBox-wrapped shell 命令绕过 GoClaw 的 exec 批准机制,导致任意命令执行和其他安全风险。修复方案包括持久化完整的命令身份、路径感知匹配、限制 wrapper/multiplexer 二进制文件的信任,并添加回归测试。