https://github.com/reorx/envops
如果你会使用 agent 来做运维,那么强烈建议你安装 envops, 它会强制 agent 在处理与 env 文件相关的工作时,全部通过 envops cli 进行,使得重要的 secret, key, password 等数据不会暴露给 agent,降低泄露的风险。截图是我从近期的对话中搜索出的对 envops 命令的调用,可以看出 claude code 用得很不错。
在当下开发者越来越多地使用 AI 辅助编程的环境下,env 文件不可避免地需要被读取、修改、复制。即便只是本地开发,也很容易依赖一些线上服务的凭据。Agent 如果仍然使用传统的读写方式,势必造成重要凭据被留在 session 记录中,产生更多泄露点。
envops 实现了一套判断和清洗 secret string 的算法,在向外展示 env 文件内容时,确保凭据主体始终被遮盖。
envops 提供了下面几个操作指令:
• show: 打印 env 键值对,如果是凭据类数据,值会被自动清洗并遮盖
• list-keys: 列出 env 中的 keys, 提供这种低权限细粒度操作会减少 agent 对 show 的依赖
• copy: 将一个 env 中的特定 键值对复制到另一个 env, 必须显示声明 keys, 或者完整拷贝。支持 ssh 的路径声明语法,把对远端服务器的 env 读取/更新操作封装成一个整体
• set: 设置 env 中的一个键值对,支持通过管道将其他命令的输出传递过去,这能让 secret 来自其他命令输出时,无须暴露给 agent 或其他进程直接落地到 env 文件
我看到过一些面向 agent 的 secret vault 方案,但总觉得都还是太重了,且它们也无法消除 env 文件的存在,所以探索出了 envops 这种改变 agent 对 env 的根本行为的方式,希望能对各位 vibe coders 开发的安全性起到一些帮助。