安全
安全与威胁模型
Tokenhush 本身是一个安全工具,因此它必须先做到安全。本页说明网关保护什么、哪些在范围之外,以及本地审计轨迹如何工作。诚实的说法是:高置信拦截 + 全程可审计,而不是绝对化的保护承诺。
Tokenhush 保护什么
网关位于 AI 编码工具与模型提供商之间。经过它的请求,才是它能处理的请求;覆盖范围与这条本地路径的宽度完全一致。
- 提示注入被用于外泄
- 回填只有一个方向:返回客户端的响应。出现在外发请求体里的占位符会保持为占位符,原值不会被转发。
- 本地进程或网页访问网关
- 服务只绑定回环地址(127.0.0.1 + [::1])。Host 允许清单始终生效;控制面要求每次运行生成的 bearer token(以 0600 权限存储),并对携带 Origin 的请求做同源校验。
- DNS 重绑定
- Host 与 Origin 头校验可阻止恶意域名解析到 127.0.0.1 之后冒充可信来源。
- 占位符冲突
- 占位符来自 HMAC 确定性映射并带高熵后缀,两个密钥不会共用一个占位符,碰撞不会引发错误回填。
- 审计日志篡改
- 记录仅追加;每条记录的哈希包含前一条记录的哈希(HMAC 链,密钥存于 OS 密钥环),事后编辑可被检出。
- 明文落盘
- 默认不存储请求与响应内容。除非显式开启内容记录,审计只记录元数据。
Tokenhush 不保护什么
公开核心覆盖接受自定义 base URL 或端点的工具。这条路径之外的一切都在明确的范围之外;下列清单属于安全姿态本身,而不是免责声明。
- Cursor agent 流量、ChatGPT 与 Claude 桌面应用、浏览器 web UI。它们不提供 base URL 设置,要覆盖它们需要配合根证书的系统级拦截。公开核心两者都未实现,因此这些流量不经过网关。
- 指向固定域名的认证与刷新流程。 使用 Claude 订阅登录时,OAuth 授权与刷新始终发往 platform.claude.com 和 claude.ai,不经过网关;只有推理请求会遵循 base URL。这些流程的凭据按设计就在脱敏路径之外。
- 检测器没有标记的值。 检测是确定性的、高精度优先的。未被标记的内容照常传输,这就是这个工具诚实的边界。
- 第三方可验证的合规证明。 本地 HMAC 链让篡改可被检出,但它不是合规认证,请不要那样解读。
- 工具自身的遥测端点。 一些工具会向 PostHog、Sentry 之类的服务发送自己的遥测。这些端点绕过 base URL 改写,不在网关路径上。
硬性不变量
五条规则定义了安全模型。公开核心用具名测试锁定它们;本页为正在评估这个工具的人重述。
外发请求永不回填为原值。
提示注入可以试图让工具把已存的值回显进新请求。由于回填只在返回客户端的响应路径上运行,占位符在外发方向始终保持为占位符。
- 回填仅限入站。 占位符只在返回客户端的响应上被还原,绝不发生在外发请求上。
- 默认不存储明文。 除非显式开启内容记录,审计记录只含元数据。
- 默认不装根证书、不做 MITM。 系统级拦截是显式选择加入,公开核心未实现。
- 仅绑定回环。 本地服务只绑定 127.0.0.1 与 [::1],并带有上述防护。
- 失败安全,而非失败开放。 网关无法判断内容是否敏感时,宁愿过度脱敏,或在告警下放行;不会静默发出未脱敏的明文。策略可配置。
本地审计轨迹
审计要回答「什么经过了网关」,同时避免变成你数据的第二份副本。记录留在本机,默认只含元数据。
- 存储
- 仅追加的 SQLite,位于本地数据目录。
- 内容
- 提供商、端点、时间、字节数、脱敏次数、敏感类型。默认不含请求或响应内容。
- 完整性
- 每条记录的哈希包含前一条记录的哈希(HMAC 链);密钥存于 OS 密钥环。
- 保留
- 默认 14 天,建议范围 7 到 30 天,可配置。
- 诚实边界
- 本地 HMAC 链可检出事后编辑,但它不是第三方可验证的合规证明。
密钥处理
- V1 是透传。 你的工具持有自己的提供商密钥;网关只转发,不存储。
- 需要存储时。 未来如果多账号模式需要存储密钥,会走跨平台 OS 密钥环(macOS Keychain、Windows Credential Manager、Linux Secret Service),并配合网关 token 与 Origin 校验。
- 诚实降级。 没有 OS 密钥环时,存储回退到 0600 权限的受限文件,并显式报告当前后端,而不是静默处理。
检测的诚实边界
检测是确定性的、高精度优先:已知密钥前缀、高熵字符串、JSON Web Token、私钥头、经 Luhn 校验的卡号、电子邮件地址,辅以白名单与一键放行。不调用模型,不做语义猜测。
- 假阳性(过度脱敏) 会损害体验:模型在原值的位置收到占位符。
- 假阴性(脱敏不足) 才是真正的风险:规则没有标记的内容会照常传输。
本项目不做绝对化声明。获批的说法是:高置信机密拦截 + 全程可审计。
遥测与站点分析
两个独立的系统,分开陈述。
产品
网关在你本机运行,产品默认不发送遥测。脱敏在本地完成,审计轨迹同样留在本地。
本站
本站使用隐私友好的无 Cookie 分析:只统计聚合页面浏览量,不使用 Cookie,也不做跨站跟踪。详见隐私页面。
负责任的漏洞披露
公开来源
本页的每条陈述都来自公开核心: