Repository navigation
RFC:新增 ov privacy run,让 agent 默认不把密钥带进上下文
#7213
ZaynJarvis
started this conversation in
RFC
Replies: 3 comments
0 replies
|
我们这边在做同一个方向的另外两层,RFC 发在 #7335:Gateway 把发往模型厂商的内容里已登记的密钥换回引用,Claude Code 插件用 hook 把带引用的命令交给一个 runner 执行。 那个 runner 做的事和这里的 要让插件能切过去,希望
|
0 replies
|
建议补一个密钥轮换中的回显用例:子进程启动时解析为旧值,运行期间密钥更新,随后进程输出旧值。遮罩应覆盖本次执行实际解析的值,而不能只查最新值。我们在 SinapsData 开发 Sinaps Studio 时使用受保护的凭据引用,这种“引用版本—执行—脱敏”的关联很有参考价值。每次 run 是否会固定仅在内存保存的遮罩集合,并在进程结束后清理? |
0 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
TL;DR:参考 1Password 的
op run,为 OpenViking CLI 新增ov privacy run。CLI 在内部解析 privacy 引用,把密钥以环境变量形式交给目标程序,并默认对输出做尽力脱敏。这样 agent 有一条便捷的默认路径,不必先拿到明文。这项改动只用来防止 agent 无意中把密钥泄漏进上下文,不是安全沙箱。背景
目前 OpenViking CLI 中,
privacy reference返回引用,resolve返回明文。agent 如果单独调用resolve,明文会出现在工具输出里,随后进入模型上下文,也可能留在日志和会话历史中。多数情况下 agent 只是想"用这个密钥跑一个命令",并不需要看到密钥本身。目前缺少一个把取值和执行合在一起的专用命令。提议
新增
ov privacy run,用法与op run类似:run,只在确实需要明文时才用resolve。可以参考 1Password CLI:
op run支持运行时环境变量注入,并默认遮蔽输出中的密钥,同时op read仍可返回明文。两种命令并存,各自适用不同场景。我们的思路相同:resolve保留,只是不再作为默认选项。边界说明
这项改动的作用是引导 agent 不误操作,而不是提供安全隔离。子进程仍然持有密钥。普通的 echo 输出可以尝试脱敏,但子进程仍可通过编码、写文件或网络外传绕过输出脱敏。它也防不了爆破或刻意绕过。我们的目标是让正确的做法成为最省事的做法,从而减少无意泄漏。
欢迎讨论命名、默认行为,以及 help 文案该怎样引导 agent。
参考:1Password
op run官方文档。All reactions