【开源自荐】tokenhush:AI本地脱敏 - 别让vibecoding泄露密钥给你造成无法挽回的损失

软件名称

tokenhush

应用平台

macOS / Linux / Windows(arm64、amd64)

推荐类型

【开发者自荐】

是否收费

免费 / 开源(Apache-2.0)

是否需要注册

不需要

是否联网

本体不联网。只有两条可选请求(更新检查、规则同步),各有环境变量可以关掉。你的数据只走本机和你自己配的模型地址。

一句简介

架在 AI 编程工具和模型之间的本地网关:把请求里的密钥换成占位符再发出去,返回时自动还原。密钥不出本机,工具照常用。

应用简介

AI 编程工具为了干活,会读你的整个项目。项目里的 .env、配置里的 API key、证书,很容易跟着请求一起发到模型那边。

  • GitGuardian 2026 年的报告里,Claude Code 参与过的提交,密钥泄漏比例约为整体基线的 2 倍;2025 年公开 GitHub 新增 2865 万个密钥,AI 服务相关密钥同比涨了 81%。
  • 同一份报告:MCP 配置文件里被扫出 24,008 个密钥,最多的是 Google API Key 和数据库连接串。
  • 有人收集的真实账单:一条泄漏的 GCP API key,让日本一家小公司被计费 12.8 万美元(发现时已经 4.4 万,Google 拒绝了减免);另一家 3 人团队平时每月 180 美元,Gemini key 被悄悄复用后,账单 8.2 万。
  • 2026 年 5 月有人做了个工具扫自己的聊天记录,才发现 Cursor、Claude Code 读过的 .env,密钥是明文躺在本地 SQLite 里的。
  • 2026 年 1 月,Anthropic 更新条款,允许拿你的聊天和编码会话去训练模型;不想被用,得自己去设置里关。

请求一旦发出去,就没有撤销。

于是写了个本地网关。把工具的 base URL 指到本机,它拆开请求体,把看着像密钥的值换成 __PII_api_key_ae9c0b46a8f3__ 这样的占位符再转发,模型只看到占位符。返回的内容里,它再把占位符换回原值给你的工具。你这边拿到的还是真值,工作流不中断。

几点说明:

  • 只监听 127.0.0.1,不装根证书,不做中间人。系统信任区里不会多出一个 CA。
  • 默认拦 5 类:厂商 key 形状(sk-、AKIA、ghp_、glpat- 等)、JWT、PEM 私钥、过 Luhn 校验的卡号、邮箱。
  • 密钥和占位符的对应只在内存里,重启即丢,不落盘。
  • 自带 14 个常见工具的接入片段,tokenhush env claude 直接打印该怎么配。
  • 纯 Go,单二进制。

先说清楚它不做什么,免得白装:

  • 只对能改 base URL 的工具生效。Cursor、ChatGPT / Claude 桌面端这种不认 base URL 的,覆盖不到。
  • 只处理请求体里的值,不处理 JSON 的 key;base64、hex 编码过的密钥不认(不做解码,这是有意的)。
  • 响应路径只做还原,不脱敏。

截图预览

模型这边收到的内容,密钥已经变成占位符:

客户端这边,助手回复说它只看到了一个占位符:

Github

安装

# macOS
brew install --cask fregie/tap/tokenhush

# Linux
curl -fsSL https://raw.githubusercontent.com/fregie/tokenhush/main/install.sh | bash

# Windows
irm https://raw.githubusercontent.com/fregie/tokenhush/main/install.ps1 | iex

数据来源:
GitGuardian《State of Secrets Sprawl 2026》The State of Secrets Sprawl 2026 | GitGuardian Annual Report ;
HN 上的真实账单收集 Tell HN: A company was billed $128K from one leaked GCP API key | Hacker News ;
Sieve 作者自述 Sieve – scans Cursor/Claude chat history for leaked API keys | Hacker News ;
Anthropic 条款更新 Claude Code changes it's privacy settings and policy | Hacker News