Prompt Poaching:我为何构建 Secret Sanitizer

发布: (2026年2月16日 GMT+8 20:07)
5 分钟阅读
原文: Dev.to

I’m happy to help translate the article, but I’ll need the full text of the post (excluding the source line you already provided). Could you please paste the content you’d like translated? Once I have it, I’ll translate it into Simplified Chinese while preserving the original formatting, markdown, and any code blocks or URLs.

Overview

Cover image for Prompt Poaching: Why I Built Secret Sanitizer

去年,我把一段终端输出粘贴到 ChatGPT 里调试一次部署失败。得到了解答,体验很好。随后我注意到我的 AWS 密钥就这么裸露在提示中——登录到了别人的服务器上,可能会永久存在。

我立刻轮换了密钥。没有出现异常。但这件事让我记忆犹新。

2025 年底,安全研究人员发现了更糟的情况:数百万用户使用的 Chrome 扩展悄悄收集所有 AI 对话并将数据卖给经纪人——这些扩展甚至拥有 Google 的“Featured”徽章,被宣传为隐私工具。

他们把这种行为称为 Prompt Poaching——受影响的用户接近 900 万。

这时我意识到问题有两层深。它不仅仅是你发送给 AI 提供商的内容,还包括浏览器扩展在数据到达之前能看到的内容。

我需要一个介于剪贴板和聊天输入之间的工具。于是我把它做了出来。

认识 Secret Sanitizer

一款开源的 Chrome 扩展,在 发送到任何 AI 聊天 之前对机密信息进行掩码处理。

Secret Sanitizer demo

思路很简单:

You copy:  DATABASE_URL=postgres://admin:s3cret@prod.internal:5432/app
You paste: DATABASE_URL=[MASKED]

当你在 ChatGPT、Claude、Gemini、Grok、Perplexity、DeepSeek——或任何你自行添加的站点中粘贴时,扩展会拦截粘贴操作,在 浏览器本地 运行正则表达式模式, 将检测到的机密替换为 [MASKED],并弹出快速提示确认已拦截的内容。

AI 仍然会收到你的问题,只是不会得到你的凭证。

原始值会存储在本地加密保险库中,你可以随时解锁查看。

它捕获的内容

  • API 密钥(AWS、GCP、Azure、Stripe、GitHub、OpenAI 等)
  • 密码、Bearer 令牌、JWT
  • 数据库连接字符串
  • 私钥块
  • .env 键‑值对
  • 印度个人身份信息,如 Aadhaar 和 PAN 号码

每个模式都可以单独开启或关闭,消除误报的麻烦。

为什么你应该信任它

  • 100 % 本地 — 没有 fetch(),没有 XMLHttpRequest,没有网络请求。自行验证:grep -r "fetch\|XMLHttpRequest" content_script.js
  • 离线可用 — 关闭 Wi‑Fi 并尝试它
  • 总计 38 KB — 38 KB 的体积不可能隐藏恶意代码
  • 开源 — MIT 许可证。阅读每一行

其他功能

  • Test Mode — 在不修改粘贴内容的情况下预览被屏蔽的内容
  • Stats dashboard — 跟踪被阻止的机密,查看哪些模式最常触发
  • Custom sites — 一键保护任何域名
  • Backup and restore — 导出/导入您的配置
  • Dark mode and keyboard shortcuts — 暗色模式 与键盘快捷键

试用

接下来

  • Firefox 支持
  • 智能恢复(在复制 AI 响应时自动恢复机密)
  • 社区模式包

如果你尝试了,我很想听听 我遗漏了哪些模式、任何误报,或者你是否会使用 Firefox 版。留下评论或打开 issue。如果它帮你防止泄漏,GitHub 上的 ⭐ 能帮助其他开发者找到它。

安全粘贴 💚.

0 浏览
Back to Blog

相关文章

阅读更多 »

n8n 是纯粹的精彩

!Miguel Valdeshttps://media2.dev.to/dynamic/image/width=50,height=50,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2...