凌晨三点,一位开发者盯着终端,犹豫要不要把SSH私钥直接丢给一个AI代理。他清楚,钥匙一旦交出去,模型可能在任何时刻执行破坏性命令——删除文件、覆写敏感配置,而这一切都不会提前备份。这并非臆想,过去四年,把聊天机器人用于自己基础设施的人,基本只有三条路可选。

第一种最原始:手动把文件内容粘贴进聊天窗口,塞满上下文窗口。第二种稍微进阶:自己写一个定制插件或函数调用后端,只为给VPS或PC开个shell。第三种最危险但也最常见:把一把权限宽松、作用域不设限的凭据交给模型,然后祈祷它不会失控。Cowork模式以及类似的方案(OpenAI的文件/工作工具、Claude的桌面文件访问)的出现,把本地这半边的问题解决了一部分——代理现在可以读写你指定的文件夹,不再需要自己写集成。可一旦实际的工作存在于VPS、家庭服务器或私有网络的机器上,桌面文件访问就立刻失去意义。你又回到了打开一条原始、永久的SSH隧道,然后无限期地把信任交给模型的旧模式,依然没有备份。

打开网易新闻 查看精彩图片

Cloak——一个透明、道德的SSH工具——正是为填上这道缺口而设计的。它把远程命令执行和远程文件访问,与凭据处理、审批机制结合到一起,这些是裸SSH访问默认无法提供的东西。更重要的是,你可以把Cloak和Cowork模式配合着用,把那些Cowork无法覆盖的空白全部补上。

Cloak不是单独一个工具,而是一个由多个组件有意识地拼合起来的混合体,彼此协同工作。它包含一个SSH执行层,由cloak_ssh_exec、cloak_ssh_approve、cloak_ssh_plan、cloak_ssh_backup、cloak_ssh_rollback等构成,在远程主机上运行命令,执行前根据风险对每条命令进行分级,并将所有破坏性操作拦截在一个显式的审批步骤后面。还有一个基于AES-256加密的凭据保险库(cloak_passport),把SSH密钥、API令牌和其他秘密信息与执行层隔离开来存储,仅在外部请求时才释放。它的核心假设是:密钥绝不应该长期存放在被管理的主机上。

这两个部分被牢牢焊在一起。执行层在命令执行的中途调用保险库,获取凭据,使用一次,然后凭据不会在该次操作之后留存。这个设计不是在GitHub上找到别人的代码改出来的,而是团队在日常使用大语言模型时不断遇到问题,六个月里反复试错打磨出来的结果。他们每天都在吃自己的狗粮,确保它恰到好处地工作。整个过程不需要一整层硅谷的高薪AI研究员,也不需要风投的巨额资金。

与之对比,默认的做法通常是把私钥直接丢在代理运行机器的~/.ssh/目录下,或者更草率地扔在目标机器上,然后任凭它留在那里。这是在把长期凭据当作静态资产看待,而Cloak的底层思路截然相反:凭据是一次性、临时性的,用完即消失,不给攻击面留任何机会。

从最初的三种笨办法,到Cowork模式抹平了本地差距,再到Cloak终于把远程的那一半补齐,开发者和模型的协作正在沿着“本地到远程、静态到临时”的轨迹演进。对于所有在深夜犹豫要不要交出密钥的人,答案正在变成:先备份,分级,再执行——而且钥匙只用一次。