Skip to content

elliotllliu/agent-hush

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

36 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🤫 Agent Hush

给你的 AI Agent 装上隐私安检——推代码前自动拦截敏感数据泄露

MIT License Python 3.6+ GitHub Stars

安装 · English · 效果演示 · 检测范围


为什么需要 Agent Hush?

你让 Agent 帮你推代码、发布 Skill、同步文件——但你有没有想过,这些文件里可能藏着:

  • 🔑 "帮我推代码" → config 里的 API Key 一起被推上 GitHub 了,全世界都能看到
  • 🏠 "帮我同步 workspace" → MEMORY.md 里写了你的 真实姓名、手机号、服务器 IP,全部公开了
  • 🔐 "帮我发布这个 Skill" → 忘了 Skill 目录里还有一个 带密码的数据库连接串
  • 📁 "帮我分享这个项目" → 文件路径暴露了你的 用户名和系统结构
  • 🗝️ "帮我 commit" → .env 没加 .gitignore,Discord Bot Token 直接进了 git 历史

这些事每天都在发生。 GitHub 上每天有上千个密钥被意外提交。

Agent Hush 让你不用操心这件事:

装上之后,你照常工作。Agent 在每次对外操作前自动过一遍安检——有问题就拦住告诉你,没问题你甚至不知道它检查过。

💡 "让 AI 帮我检查一下不就行了?"

可以——但 AI 检查要烧钱。每扫一次中等项目约消耗 4 万 tokens,用 Claude Opus 每月要花 $90。而且 LLM 是概率性的:它会自信地告诉你"没问题",但其实漏了你不认识的 Key 格式。

Agent Hush 是纯正则扫描,永久免费,零 Token 消耗,220+ 条规则确定性匹配,扫 100 次结果都一样。

安全检测这件事,不该花钱,也不该靠运气。

🔍 真实泄露有多严重?

我们用 Agent Hush 扫描了 GitHub 上的开源项目,结果令人吃惊:

仅随机抽检几个项目,就发现了:

  • 📄 一个文件里 3 个明文 API Key(2 个 OpenAI + 1 个 Groq),直接硬编码在源码中
  • 🔑 1 个完整的 HuggingFace Token,任何人都可以用它访问开发者的私有模型和数据集
  • 📁 多处系统路径泄露,暴露了开发者的用户名和服务器结构

这些密钥泄露能造成什么?

  • 💰 直接经济损失 — 盗刷 API 额度,一晚上可以产生数千美元的账单
  • 🗑️ 数据和作品被删 — 攻击者可以删除你的模型、数据集、项目
  • 🦠 供应链攻击 — 往你的账号推送恶意模型,所有引用者中招
  • 🚫 账号被封 — 别人用你的 Key 生成违规内容,你的账号承担后果

根据 NDSS 2019 学术研究:GitHub 上每天有数千个密钥被意外提交,其中 81% 被发现时仍然有效,但仅有 11.6% 的开发者在收到通知后做了处理。

我们已将发现的泄露信息通报给了对应的开发者。 我们会持续扫描和通知,帮助开源社区减少隐私风险。如果你也认同这件事的价值,请给我们一个 Star ⭐,让更多人看到这个工具。

安装

复制下面这句话发给你的 Agent:

帮我安装 Agent Hush:https://raw.githubusercontent.com/elliotllliu/agent-hush/main/docs/install.md

装完了。没有第二步。

装了之后是什么样?

🔑 推代码时拦住密钥泄露

用户:帮我推代码

Agent:等一下,config.json 第 12 行有个 GitHub Token (ghp_***abcd),
      推上去会泄露。我帮你替换掉再推?

用户:好

Agent:搞定,已经替换并推送了 ✅

🏠 发布 Skill 时拦住个人信息

用户:帮我把这个 Skill 发到 ClawHub

Agent:你的 SKILL.md 里有一个真实的服务器 IP (49.51.***.114)
      和一条 SSH 命令。发布后所有人都能看到。要我处理掉吗?

用户:处理掉

Agent:已替换,发布成功 ✅

📁 同步 workspace 时提醒隐私风险

用户:帮我同步到 GitHub

Agent:MEMORY.md 里有你的真实姓名和手机号,
      TOOLS.md 里有服务器 IP 和 SSH 密钥路径。
      这些会跟着一起推上去,要我先处理吗?

用户:MEMORY.md 的处理掉,TOOLS.md 的不用管

Agent:好的,MEMORY.md 已脱敏,已推送 ✅

✅ 没问题时——你什么都感觉不到

用户:帮我推代码

Agent:已推送 ✅

(Agent 其实检查过了,但没问题就不打扰你)

你不需要学任何命令,不需要改任何习惯。装上就行。

智能白名单

检测到的东西不一定都要处理。告诉 Agent "这个不用管",它就永远不会再提醒:

Agent:你要推的文件里有个 192.168.1.100,要处理吗?

用户:不用管,这是测试 IP

Agent:好的,以后不会再提醒这个了 ✅

支持通配符——比如"所有 example.com 的邮箱都不用管":

用户:以后 example.com 的邮箱都别提醒了

Agent:好的,已加入白名单:*@example.com ✅

白名单保存在项目目录里,跟着项目走。你不需要编辑任何配置文件。

检测范围

🔴 高置信度(自动拦截):

  • AWS Key(AKIA 开头)、GitHub Token(ghp_)、OpenAI Key(sk-proj-
  • Slack Token、Discord Bot Token、Anthropic Key
  • 私钥文件块(-----BEGIN PRIVATE KEY-----
  • 数据库连接串(mysql://user:pass@host
  • 身份证号、银行卡号

🟡 低置信度(提醒但不阻断):

  • 通用 password=xxxtoken=xxx 赋值
  • 内网 IP(192.168.x.x、10.x.x.x)
  • SSH 密钥路径、SSH 命令
  • 邮箱地址、手机号
  • 绝对路径(/root//home/user/

安全性

做隐私保护的工具,自己必须先过关:

  • 🔒 纯本地运行 — 所有扫描和脱敏都在你本机完成,不会把你的文件发送到任何服务器
  • 👀 完全开源 — 每一行代码都可以审查,没有藏着掖着的东西
  • 📦 零依赖 — 只用 Python 标准库,不引入任何第三方包,不存在供应链攻击风险
  • 🛡️ 默认不改你的文件 — 扫描和检查只读不写,脱敏输出到副本,原件不动
  • 💾 修改前自动备份 — 即使你选择直接修改,也会先备份到 .bak_sanitize/

贡献

每个行业、每个平台都有自己独特的密钥格式和隐私数据。我们不可能全部覆盖,但你可以:

🔧 发现了没覆盖的敏感信息类型? 某个云平台的 API Key、某个支付系统的凭证、某个国家的证件号格式——提 Issue 告诉我们,或者直接 PR 加规则。

⚡ 想让它多检测一种类型? 告诉你的 Agent:"帮我加一条规则,检测 XXX 格式的密钥",Agent 会自动帮你配好。

你贡献的每一条规则,都在帮其他开发者避免一次泄露。

技术细节

  • 语言:Python 3.6+,零依赖(纯标准库)
  • 检测:220+ 条正则规则,置信度分层
  • 来源:Gitleaks 社区规则 + AI 生态专有规则 + 国标 PII 格式

如何区分"高置信度"和"低置信度"?

基于学术研究和工业实践中验证过的方法:

  • 格式唯一性判定NDSS 2019 "How Bad Can It Git?")— AKIA 是 AWS 独有前缀,全球只有 AWS 使用这个格式 → 高置信度。password=xxx 任何代码都可能出现 → 低置信度
  • Shannon 信息熵分析 — 真实密钥的字符分布接近随机(高熵),代码变量名是可读单词(低熵)。Agent Hush 通过结构分析识别函数调用、环境变量引用、模板变量等代码模式,自动过滤低熵匹配
  • 行业对标 — TruffleHog(Verified / Unverified 分层)和 GitHub Secret Scanning(精确匹配 / 模糊匹配分层)均采用类似方法

结果:高置信度自动处理不出错,低置信度只提醒不搞坏代码。

❓ FAQ

"我直接让 AI 帮我检查一下不就行了?"

可以,如果你每次都记得说的话。

但泄露往往发生在你忘了说的那一次:

用户:帮我推代码
(忘了说"检查密钥"→ 密钥泄露了)

Agent Hush 的价值就是你不需要记得——它自动生效,每次都在。

而且还有这些问题:

🎲 LLM 不可靠 — 更致命的是它会"自信地漏检"。

它不会告诉你"我不确定"。它会说"我检查了,没有发现敏感信息"——你信了,推了,泄露了。你甚至不知道它漏了什么。

  • sk-proj-xxx 是 OpenAI Key?大概率能发现
  • gsk_H7XRLpwV... 是什么?Groq Key——它可能不认识
  • hf_keZSUdn... 呢?HuggingFace Token——它可能也不确定
  • xoxb-xxxSG.sk-ant-?格式太多了,LLM 的训练数据不可能覆盖所有

Agent Hush 的 220+ 条正则规则是穷举式的,来自 Gitleaks 社区 200+ 贡献者 + 我们自己的 AI 生态规则。匹配就是匹配,不匹配就是不匹配,100 次结果一样。 安全不能靠概率。

上下文窗口装不下。 你的项目有 100 个文件,AI 的上下文窗口能看到几个?它可能只检查了当前对话里提到的文件,其他 90 个根本没看。Agent Hush 逐个文件扫描,一个不漏。

💸 Token 成本 — 算一笔账。 中等项目 50 个文件 × 200 行 ≈ 40,000 tokens:

模型 每次扫描 每天推 5 次 每月成本
GPT-4o $0.10 $0.50 $15
Claude Opus $0.60 $3.00 $90
GPT-4 Turbo $0.40 $2.00 $60

Agent Hush:$0。永远是 $0。 纯 Python 正则扫描,跑在本地,不调 API,不消耗任何 token。哪怕你一天推 100 次,成本还是零。

类比:Agent Hush = 交通灯,"一句话让 AI 检查" = 自己看马路。交通灯的价值不是"你看不了",是你那一次没看的时候。

⭐ 为什么值得 Star

这个工具保护的是你自己的隐私。我们会一直维护它。

  • 各大平台出了新的 Key 格式,我们会第一时间加上检测规则
  • 社区提交的新规则,审核后会合入主线,所有人受益
  • Agent 生态在变化,我们会持续适配新的工作流和场景

你的每一次 push、每一次 publish,都不应该成为一次隐私泄露。

Star 一下,下次推代码前想起来用它。⭐

致谢

密钥检测规则基于 Gitleaks(MIT License)的开源规则库,由社区 200+ 贡献者维护。Agent Hush 在此基础上增加了 PII 检测、基础设施信息检测、置信度分层和 Agent 生态集成。

开源协议

MIT


🤫 Hush — 让秘密留在该在的地方。

About

🤫 Silent privacy guardian for agent workspaces. Auto-detects API keys, tokens, PII, and infrastructure info before git push or skill publish.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors