KeyKeeper 0.3.4
适用于 Apple Silicon Mac,macOS 14 或更新版本。
建议升级:这一版把「谁可以用哪把 key」的记录搬进了钥匙串,并修了一批授权相关的安全问题。
- 「始终允许」现在真的只对你批准的那个程序有效,本机别的程序蹭不到;没签名的 App 按它运行的文件认,不再按它自称的名字认。升级后已有的授权会各再问一次。
- 授权窗改成三个回答:仅这一次、这次运行期间(程序退出就失效)、以后都不问。Agent 的留言放在正中,其余细节折叠。
- 新安装默认「后台可用」的 key 也要先见过调用方一次才放行。
- Agent 通过命令行写入的明文字段(区域、地址这类)要你在 KeyKeeper 里确认后,
run才会注入。 - Agent 新建的凭据默认「只能注入、不能读出」:值只经
keykeeper run进入命令的环境,get和 SDK 拿不到;需要时在凭据页打开「允许读出」。 - 可选的「独立审查员」:填一个 Anthropic 或 OpenAI 接口的服务和 key,它会在授权窗里给出「是否必要、范围是否最小」的意见。它看不到任何值,也不会替你批准。
- 授权记录从明文文件搬进 macOS 钥匙串,别的程序改不了;旧文件改名留档,不再读取。
- 授权窗写清楚这次批准覆盖的范围,认不出的程序只能批准这一次。
- 在 KeyKeeper 自己的窗口里登录网站,登录态可以像 key 一样按次、按小时或长期交给一个 Agent,随时撤销。
- 凭据可以记录过期日;Agent 新建凭据时可以建议保护方式和过期日,由你批准。
- Agent 第一次请求一把 key 必须说明用途,授权窗里能看到;已批准过的不再需要。
- Agent 新建凭据时要声明用途;之后每次请求,授权窗会并列显示它的要求和 KeyKeeper 的建议。可选开启一个独立审查员(另一个模型)给意见,它看不到任何值,也不会替你批准。
- 从剪贴板保存:先复制还是先让 Agent 发命令都行,不再要求「请求之后再复制一次」。确认窗会显示开头结尾几个字符、长度和复制时间,认对了再存;不对就再复制,窗口会跟着变。
- 命令行等待你批准时不再超时失败;元数据被外部改动时会提示并可确认恢复。
- 修了字段名可能变成 PATH 这类环境变量、注册文件被改后无法修复等问题。
For Apple Silicon Macs, macOS 14 or later.
Recommended: approvals now live in the Keychain, and a batch of authorization fixes.
- "Always allow" now applies only to the program you approved; nothing else on this Mac can ride on it, and an unsigned app is recognised by the file it runs from, not by the name it claims. Existing approvals will ask once more after upgrading.
- The approval window offers three answers: just this once, while it runs (ends when the program quits), or don't ask again. The agent's message sits in the middle; details are folded away.
- On a fresh install, "Background OK" keys are only released to callers you have seen once.
- Plain fields an agent writes over the command line (a region, an address) are injected by
runonly after you confirm them in KeyKeeper. - Credentials an agent creates are inject-only: values reach a command's environment through
keykeeper runand are never returned bygetor the SDKs. Turn on "Can be read out" on a credential when you need that. - Optional independent reviewer: point it at any Anthropic- or OpenAI-style service with a key, and it adds an opinion on necessity and scope to the approval window. It never sees a value and never approves for you.
- Approval records moved from plain files into the macOS Keychain, where other programs cannot edit them. The old files are kept, renamed, and no longer read.
- The approval window states exactly what an approval covers; a program KeyKeeper cannot identify can only be approved once.
- Log in to a website inside KeyKeeper's own window, and hand that login to an agent once, for an hour, or until you revoke it — just like a key.
- Credentials can record an expiry date; an agent creating one can suggest its protection and expiry, for you to approve.
- An agent's first request for a key must say what it is for, and the approval window shows it; approved callers need not repeat it.
- An agent creating a credential declares its use; later requests show the agent's ask next to KeyKeeper's own suggestion. An optional independent reviewer (a second model) can add its opinion — it never sees a value and never approves for you.
- Clipboard saves no longer require a copy made after the request: copy first or run the command first, either works. The confirmation shows the first and last characters, the length and when it was copied, so you can tell it is the right thing; copy again if not, and the window follows.
- The command line no longer times out while you read an approval window; metadata changed outside KeyKeeper is flagged and can be confirmed.
- Fixed field names that could become variables like PATH, and a Chrome registration that could not be repaired after tampering.