两周前我把公司的数据库接进了Claude Code效率确实起飞了直到我翻了一下会话记录。两周前公司的 PostgreSQL 数据库接进了Claude Code以后AI 确实能干——帮我写迁移、联表、生成报表效率直接起飞。直到我随手翻了一下会话记录看到这个[{id:1,country:NZ,full_name:Alice Johnson,email:alice.johnsonexample.com,phone_number:64 0212339940,ird_number:823-101-334,created_at:2023-01-15 10:30:00},...]这是 AI 执行SELECT * FROM users时返回的真实数据。姓名、邮箱、电话、政府税号等等敏感信息全在上下文里。并且这些数据可能存在对话日志AI 生成的任何摘要它刚写入/tmp的文件如果开了会话共享可能还去了别人的机器最隐蔽的某些平台会拿用户数据训练下一代开源模型AI 没做错任何事。我也没做错。工具返回了什么模型就看到什么——中间没有人在把关。我当时的第一反应为什么不用 LLM 来脱敏能不能让 AI “自觉”不请求敏感字段试过没用。提示词写得再严模型在某些边界情况下还是会漏。那在 AI 收到结果后再调个 LLM 脱敏呢这条路我也想过但行不通成本一次会话几十上百次查询每次多调一次模型账单感人延迟tool 执行路径需要毫秒级返回LLM 做不到审计“为什么这个字段被脱敏了”——LLM 给不出确定答案也没法复现现有的 PII 脱敏工具Presidio、Nightfall 等是给数据管道或 API 网关用的跑在 Agent 的 tool 执行路径上不合适。所以我想要的不是“更聪明的模型”而是一个确定性的过滤器放在 Agent 和数据库之间自动拦截查询结果不靠 LLM 猜Agent 无法绕过于是写了 gategate是一个 Rust 写的命令行工具做一件事在数据进入模型之前把 PII 替换成[PII:类型]。JSON 结构不变AI 可以继续遍历、计数、推理但永远看不到原始值。覆盖两个路径它覆盖了 Agent 从后端拿数据的两个主要途径1. Bash 命令Agent 想跑psql -c SELECT ...→gate的钩子在 harness 层把命令改写成gate run -- psql -c ...→ 子进程的 stdout 经过扫描脱敏后才返回给模型。这个改写发生在 Claude Code / OpenCode / Copilot CLI 的PreToolUse钩子里是强制执行的Agent 没法说我不走那个钩子。2. MCP Servergate mcp是一个 stdio 代理你把它注册成 MCP Server它启动上游的真实 Server然后所有tools/call的返回值都会经过脱敏扫描。对上游 Server 零侵入现有 MCP Server 不用改一行代码。一条命令就能把所有 MCP Server 包进去bashgate init --wrap-mcp --yes用之前先扫一遍gate scan我建议任何人在接入 AI 之前先跑gate scan看看自己库里有多少敏感信息bashpsql -d mydb -c SELECT TABLE_NAME, COLUMN_NAME FROM information_schema.columns WHERE table_schema public | gate scan输出按 Critical / Elevated / Standard 分级告诉你哪几张表风险最高。如果有false positive字段比如products表里的city字段可以用--review一键加入白名单。跑了一段时间后gate retrogate retro会读取本地的统计日志告诉你一共拦截了多少次查询脱敏了多少个 PII 字段按工具和 PII 类型拆分的命中率这是写给安全团队看的这工具不是摆设数字在这。坦诚说哪些它防不住Agent攻击被注入后故意 Base64 编码、换成 CSV 输出、走没配置的工具—— 不在威胁模型内。可以配合 harness 级别的工具白名单加固。非 JSON 输出— 纯文本、CSV 原样放过。可以配置pipe: jq -c .转成 JSON。MCP 的resources/read—— 目前只拦截tools/call这是个已知缺口正在做。快速指南3条命令bash# macOS / Linux brew tap GaaraZhu/gate brew install gate gate config # 生成配置 gate init # 注册 Claude Code Hook gate init --wrap-mcp # 包住现有 MCP Server先 dry-run关了也很简单gate disable关gate enable再开。彻底卸载是gate uninstall。项目地址https://github.com/GaaraZhu/gateRust 编写MIT 协议~7k 行代码 ~6k 行测试已发布 46 个版本Homebrew 可安装。如果你也在用AI连接数据库不妨先跑个gate scan看看。也许你会发现有些东西不该出现在模型的上下文里。