[安全性]:压缩摘要中包含可执行的指令 — 模型在没有用户同意的情况下执行
作者: rustysixslinger创建于 2026年7月13日更新于 2026年9月17日
说明
说明
当 Opencode 自动压缩长对话时,收缩摘要可以包含"下一步移动"或行动计划部分. 该模型将这个摘要作为用户输入,并在不询问用户的情况下执行指定的动作. 这是一个绕过普通用户入室安全模式的指令注射向量.
使用的型号 大黄瓜
- 复制
- 在长会话中工作,配置工具(MCP服务器、bash、文件编辑等)
- 上下文填充 → 打开码触发自动比较
- 压缩摘要包括一个"下一步行动"部分,并附有建议的下一步措施
- 压缩后,模型在没有用户确认的情况下立即执行这些建议
- 在观察到的情况下,这包括尝试将SSH连接到远程服务器
发生了什么事(两次观察)
第一次发生 :
- 在模型读取和访问开码文档后,以67%的使用率启动自动协作
- 自动协作注入了“下一步行动”部分
- 模型将其作为用户说明
- 执行建议的行动而不要求
第二起(更严重):
- 自动协作注入了“下一步移动”部分,列出6+动作
- 模型立即开始执行——包括尝试将SSH连接到远程服务器
- SSH尝试使用 ssh-keyscan, 和 ssh-o 严格HostKeyChecking=no - 全部没有用户要求使用, 也没有用户曾要求该模型在过去使用过 SSH
- 用户不得不干预 停止行为
为什么这是一个安全问题
指令性注射向量:收缩摘要有效成为即时注射渠道。 任何嵌入在摘要中的数据(包括来自工具输出,MCP响应,或网络取取来的数据)都可以成为该模型所遵循的"指令".
副路口用户同意:该模型将收缩式注入的建议当作用户说的那样。 采取行动时没有明确批准。
升级风险:在所观察到的情况下,该模型试图将SSH连接到用户以前从未做过的远程服务器. 在其他情况下,这可能导致未经授权的文件修改,API呼叫,或数据曝光.
违反信托边界:压缩系统应概述上下文,而不是规定行动。 该模型无法区分"用户说这个"和"协作摘要说这个".
环境
- 开放码版本:当前(截至2026年7月)
- 型号:大泡菜
++ 插件
无
QQ 打开代码版本
1.17.18 联合国
- 复制步骤
- 在长会话中工作,配置工具(MCP服务器、bash、文件编辑等)
- 上下文填充 → 打开码触发自动比较
- 压缩摘要包括一个"下一步行动"部分,并附有建议的下一步措施
- 压缩后,模型在没有用户确认的情况下立即执行这些建议
- 在观察到的情况下,这包括尝试将SSH连接到远程服务器
QQ 屏幕截图和/或共享链接 . . . . . . .
内容来源: anomalyco/opencode