概览
keygrant 是一款面向 AI 编程 agent(如 Claude Code)的密钥管理工具。它让 agent 能够使用你的 API key,却永远看不到它们。
核心思路
模型上下文中的任何内容都可能泄露:通过回复、生成的代码、工具调用里的 URL、请求日志,或者藏在 issue、网页中的提示注入指令。所以 keygrant 让密钥值完全不进入上下文:
model context: STRIPE_KEY the name, harmless
child process: sk-live-... the value, injected at exec time
output to model: [STRIPE_KEY:REDACTED]
模型写下 curl -H "Authorization: Bearer $STRIPE_KEY" ...,却永远不知道 $STRIPE_KEY 展开后是什么。
四个组成部分
- 存储在操作系统密钥库中。Windows 上用 DPAPI,macOS 上用登录钥匙串(login Keychain),Linux 上用 Secret Service。密钥值通过 stdin 写入,绝不经过命令行参数或聊天消息。
- 两个 MCP 工具。
list_secrets只返回名称和描述。exec_with_secrets运行一条命令,并把指定的密钥注入该子进程。我们刻意没有提供存储密钥的工具。 - 逐条命令审批。在释放任何密钥之前,系统原生对话框会显示完整命令。参见审批与授权。
- 输出脱敏。输出在返回给模型之前,会清除其中的密钥值(明文、base64、hex、URL 编码)。这是第二道防线;参见脱敏。
下一步
- 初次使用:快速上手大约需要三分钟。
- 使用其他 MCP 客户端,或想在所有项目中启用:Claude Code 与其他客户端。
- 有多台机器,或想用手机审批:云同步(预览版)。
- 所有命令和参数:CLI 参考。
- 它能防什么、不能防什么:威胁模型。