开发者工具

数据脱敏工具:发给 AI 之前先隐藏密钥和个人信息

把报错日志、配置文件、客户邮件贴给 ChatGPT、Claude 或在线格式化工具之前,里面的密钥、令牌、手机号、身份证号最好先拿掉。粘贴进来,本工具在你的浏览器里把它们换成 [EMAIL_1]、[AWS_KEY_1] 这样的占位符;AI 按占位符写好回复后,再粘贴回来,一键换回原值。

要识别的类型
密钥与令牌
个人信息

还原 AI 的回复

把 AI 按占位符写的回复粘贴到这里,占位符会换回原值。关闭或刷新页面后对照表即消失。

全部在你的浏览器里运行,这里输入的内容不会上传。

怎么用

  1. 把要发出去的文本粘贴到「原文」。脱敏结果会立即出现在下方,上面写着替换了哪几类、各几处。
  2. 需要的话,展开「要识别的类型」,取消不想替换的类型,例如想让 AI 看到内网 IP,就取消 IPv4。
  3. 检查脱敏结果,然后点「复制脱敏结果」,发给 AI 或贴到别的工具里。
  4. AI 的回复里如果用了占位符(比如「请检查 [PASSWORD_1] 是否过期」),把回复粘贴到页面底部的「还原 AI 的回复」,就能得到换回原值的版本。

识别规则

为什么要先脱敏

2025 年 11 月,安全公司 watchTowr 披露:两个流行的在线 JSON 格式化网站自带公开的「Recent Links」页面,列出用户保存的内容。他们从中抓到 8 万多份,里面有数据库密码、云服务密钥和各类访问令牌;他们故意上传的诱饵密钥,48 小时后就被人拿去尝试。粘贴给在线工具或 AI 的内容,最好默认它会被别人看到。本工具的识别和替换全部在浏览器里完成,不上传;对照表只存在这个页面的内存里,不写入浏览器存储。

密钥与令牌:按官方公布的前缀识别

很多平台给密钥加了固定前缀,正是为了方便扫描工具发现泄露。AWS 的标识符说明写明,访问密钥以 AKIA 开头,STS 临时密钥以 ASIA 开头;GitHub 的文档列出经典个人访问令牌以 ghp_ 开头,细粒度令牌以 github_pat_ 开头,另有 gho_、ghu_、ghs_、ghr_ 几种;Slack 的文档写明机器人令牌以 xoxb- 开头、用户令牌以 xoxp- 开头。此外还会识别以 sk- 开头的长密钥、JWT、PEM 格式的私钥块,以及 Authorization 头里 Bearer 后面的令牌。

按上下文识别密码

没有固定格式的密码,靠它周围的写法识别:连接串 scheme://用户名:密码@主机 里只替换密码那一段,用户名和主机保留,方便 AI 判断问题;password、passwd、pwd、secret、api_key、access_token、client_secret 这类字段后面跟着冒号或等号的值也会被替换。

个人信息:带校验,减少误判

身份证号按国家标准 GB 11643-1999 检查:18 位字符连同校验位的加权和除以 11 余 1(校验值为 10 时写作 X),而且中间 8 位必须是真实的出生日期。银行卡号按 Luhn 算法校验,允许中间有空格或短横线。手机号识别 1 开头、第二位为 3 到 9 的 11 位号码,可带 +86;前后紧挨着其他数字时不算,所以订单号、流水号里的数字不会被误认成手机号。

同一个值,同一个占位符

同一个邮箱在文中出现三次,三次都换成 [EMAIL_1];另一个邮箱是 [EMAIL_2]。这样 AI 仍然能看懂「谁给谁发了邮件」,回复里引用的占位符也能准确还原。

算例

原文脱敏后
postgres://admin:[email protected]:5432/apppostgres://admin:[PASSWORD_1]@db.example.com:5432/app
Authorization: Bearer abcdef0123456789ABCDEFAuthorization: Bearer [TOKEN_1]
key=AKIAIOSFODNN7EXAMPLEkey=[AWS_KEY_1]
联系 [email protected] 或 13812345678联系 [EMAIL_1] 或 [PHONE_1]
身份证 11010519491231002X身份证 [ID_CARD_1]

18 位数字 110105194912310021 的校验位不对,不会被当成身份证号;6222021001123456780 通不过 Luhn 校验,也不会被当成银行卡号。反过来,「+86 13812345678」去掉加号后碰巧能通过 Luhn 校验,本工具先识别手机号,所以它会被正确地标成手机号。

局限

  • 规则只能识别有特征的内容。姓名、地址、公司名、没有字段名提示的密码,以及格式不常见的密钥,都可能漏掉。发出去之前请再看一遍。
  • 规则也可能误判,例如恰好符合格式的长数字。检查结果时如果发现不该替换的,可以在类型里取消对应项。
  • 只识别 IPv4,不识别 IPv6 和 MAC 地址。
  • 脱敏只处理你粘贴的文字,图片、截图、文件附件里的信息需要另行处理。
  • 已经泄露的密钥,脱敏也补救不了,应当立即到对应平台吊销并更换。

常见问题

脱敏后的内容能直接发给 ChatGPT 或 Claude 吗?

识别到的密钥和个人信息会被替换,但规则无法覆盖所有情况,例如姓名和地址。发送前请再检查一遍。

对照表存在哪里?

只在当前页面的内存里,不上传,也不写入浏览器存储。关闭或刷新页面就没有了。

为什么同一个手机号只显示一个占位符?

同一个值总是换成同一个占位符,这样 AI 能看出它们是同一个人或同一个账号,回复也能准确还原。

怎么判断一串数字是不是身份证号?

按 GB 11643-1999 检查校验位,并检查中间 8 位是不是真实日期,两项都通过才替换。

密钥已经发出去了怎么办?

立即到对应平台吊销这把密钥并生成新的,同时检查使用记录。

参考资料

↵ 打开 · Esc 关闭