安全

安全与威胁模型

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 或端点的工具。这条路径之外的一切都在明确的范围之外;下列清单属于安全姿态本身,而不是免责声明。

硬性不变量

五条规则定义了安全模型。公开核心用具名测试锁定它们;本页为正在评估这个工具的人重述。

外发请求永不回填为原值。

提示注入可以试图让工具把已存的值回显进新请求。由于回填只在返回客户端的响应路径上运行,占位符在外发方向始终保持为占位符。

  1. 回填仅限入站。 占位符只在返回客户端的响应上被还原,绝不发生在外发请求上。
  2. 默认不存储明文。 除非显式开启内容记录,审计记录只含元数据。
  3. 默认不装根证书、不做 MITM。 系统级拦截是显式选择加入,公开核心未实现。
  4. 仅绑定回环。 本地服务只绑定 127.0.0.1 与 [::1],并带有上述防护。
  5. 失败安全,而非失败开放。 网关无法判断内容是否敏感时,宁愿过度脱敏,或在告警下放行;不会静默发出未脱敏的明文。策略可配置。

本地审计轨迹

审计要回答「什么经过了网关」,同时避免变成你数据的第二份副本。记录留在本机,默认只含元数据。

存储
仅追加的 SQLite,位于本地数据目录。
内容
提供商、端点、时间、字节数、脱敏次数、敏感类型。默认不含请求或响应内容。
完整性
每条记录的哈希包含前一条记录的哈希(HMAC 链);密钥存于 OS 密钥环。
保留
默认 14 天,建议范围 7 到 30 天,可配置。
诚实边界
本地 HMAC 链可检出事后编辑,但它不是第三方可验证的合规证明。
审计哈希链仅追加的审计记录。每条记录都基于前一条记录的哈希与自身元数据计算哈希,因此编辑或删除更早的记录会打断链条并可被检出。记录 1哈希 H1记录 2H2 = HMAC(H1 + 元数据)记录 3H3 = HMAC(H2 + 元数据)H1H2
仅追加的记录由 HMAC 链连接:每条记录都携带前一条记录的哈希,事后编辑会打断链条并可被检出。

密钥处理

检测的诚实边界

检测是确定性的、高精度优先:已知密钥前缀、高熵字符串、JSON Web Token、私钥头、经 Luhn 校验的卡号、电子邮件地址,辅以白名单与一键放行。不调用模型,不做语义猜测。

本项目不做绝对化声明。获批的说法是:高置信机密拦截 + 全程可审计

遥测与站点分析

两个独立的系统,分开陈述。

产品

网关在你本机运行,产品默认不发送遥测。脱敏在本地完成,审计轨迹同样留在本地。

本站

本站使用隐私友好的无 Cookie 分析:只统计聚合页面浏览量,不使用 Cookie,也不做跨站跟踪。详见隐私页面

负责任的漏洞披露

不要为漏洞开公开 issue。

请通过 GitHub 私有安全公告报告。详情只在修复发布后公布。

打开私有安全公告

公开来源

本页的每条陈述都来自公开核心: