ARTICLE · INTELLIGENCE

战地情报 · 详情页

来自尧图项目组的一线实战观察与深度解析

ClawVault如何阻止AI泄露API密钥和密码?敏感数据检测与自动脱敏机制完整教程

ClawVault如何阻止AI泄露API密钥和密码?敏感数据检测与自动脱敏机制完整教程
  • AI 安全治理
  • 提示词注入防护
  • 应用安全
  • 模型安全
  • 后端
  • API网关

【免费下载链接】ClawVault

OpenClaw Security Vault — Atomic "claw" control: every AI reach, within your sight.

项目地址:https://gitcode.com/gh_mirrors/cla/ClawVault
点击查看免费下载

ClawVault 是面向 OpenClaw 智能体的开源 AI 安全保险箱(Security Vault),核心能力是敏感数据检测与自动脱敏:在 AI 发出请求的链路上实时拦截 API 密钥、密码、私钥等敏感信息,要么直接阻断,要么替换成占位符后再放行,从根源上防止密钥泄露。本文带你完整看懂这套机制的原理与上手方法。

为什么 AI 智能体会泄露敏感数据?🕳️

用 AI 干活时,这些场景几乎必然发生:

  • 📋 你把包含api_key、password的配置文件直接贴进对话,请求原文被原封不动发往外部模型 API;
  • 🔁 AI 的回复里会引用你给过的密码、内部 IP,甚至把它们写进会话记录;
  • 💉 提示词注入(Prompt Injection)诱导 AI 执行curl 远程脚本 | bash、读取~/.aws/credentials等危险操作。

没有防护层时,任何一条链路都可能是泄露的起点。ClawVault 的思路是:在 AI 工具和外部模型 API(OpenAI、Anthropic 等)之间架一层透明代理网关(默认127.0.0.1:8765),所有请求先过检测流水线,再决定放行、阻断还是脱敏。

用户输入 → 代理拦截 → 检测流水线 → 规则引擎 → 放行 / 阻断 / 脱敏 (敏感数据? 危险命令? 注入攻击?) AI 响应 → 占位符还原 → 响应扫描 → 审计日志

整体架构可参考 doc/architecture.md,核心拦截逻辑在 src/claw_vault/proxy/interceptor.py。

敏感数据检测:15+ 类别、40+ 内置模式 🔍

ClawVault 的检测引擎(src/claw_vault/detector/)内置了覆盖主流场景的正则模式库,定义在 src/claw_vault/detector/patterns.py,匹配逻辑在 src/claw_vault/detector/sensitive.py。常用类别与风险评分(满分 10)如下:

检测类别典型示例风险评分
AWS 密钥AKIA开头的 Access Key ID9.5
OpenAI / Anthropic API Keysk-proj-...、sk-ant-...9.0
GitHub / Stripe / Slack Tokenghp_...、sk_live_...8.5~9.0
SSH 私钥 / 区块链私钥 / 助记词-----BEGIN PRIVATE KEY-----等9.5
密码与数据库连接串password=...、postgres://user:pass@...8.0~8.5
信用卡号 / 身份证号16~19 位卡号、18 位身份证8.0
手机号 / 邮箱1[3-9]xxxxxxxxx、邮箱地址4.0~6.0
内网 IP / JWT / 通用 Secret192.168.x.x、eyJ...5.0~7.0

每个命中的结果都带有风险评分与置信度,引擎再把所有命中汇总为四级威胁等级:safe/low/medium/high/critical(最高分 ≥9.0 即为 critical)。同一位置的重叠命中会自动去重,保留风险分更高的一条,避免误报叠加。

💡 内置模式不够用?支持运行时添加自定义模式(custom_patterns),详见 src/claw_vault/detector/sensitive.py 中的add_custom_pattern。

自动脱敏机制:占位符替换,响应时还原 🔄

这是 ClawVault 最巧妙的部分:不是简单地把敏感内容拦下来,而是"打码后照常用"。

以一次真实请求为例:

请求: "password is MyP@ss" → 检测命中 password 模式 → 替换为 "password is [CREDENTIAL_1]" → 发给 AI 响应: "请检查 [CREDENTIAL_1] 是否正确" → 还原为 "请检查 MyP@ss 是否正确" → 返回给用户

工作机制拆成三步:

  1. 替换:脱敏器把命中的值换成带类别前缀的占位符,如[API_KEY_1]、[EMAIL_2]、[IP_ADDR_1],同一原值在会话内复用同一个占位符(见 src/claw_vault/sanitizer/replacer.py);
  2. 映射:占位符与原始值的映射只保存在本地内存中,按会话隔离,会话结束自动清空——敏感数据不出本机,也不进模型上下文;
  3. 还原:AI 的响应回来时,还原器把占位符换回原值(src/claw_vault/sanitizer/restorer.py),你看到的对话依然完整连贯。

也就是说:上游模型从头到尾只能看到[API_KEY_1]这样的占位符,而你的使用体验几乎无感。

三种安全模式:按场景自由切换 🛡️

检测到了敏感数据,到底"拦"还是"脱"?ClawVault 提供三种 Guard 模式,可在仪表盘(:8766)实时切换、立即生效,详细说明见 doc/GUARD_MODE.md:

威胁类型Strict 严格Interactive 交互(自动脱敏开)Permissive 宽松
敏感数据拦截(HTTP 403)自动脱敏替换放行 + 记录日志
注入攻击拦截拦截放行 + 记录日志
危险命令拦截警告提醒放行 + 记录日志
  • Strict:安全要求最高的生产环境首选,检测到即返回 403,且只回显脱敏摘要;
  • Interactive:日常推荐。开了auto_sanitize就自动"打码转发",没开则返回一条安全提醒让你修改后重发;
  • Permissive:开发调试期用,全部放行但每条检测都进 Events 日志,方便观察效果。

快速上手:三步开启防护 🚀

一键安装启动

git clone https://gitcode.com/gh_mirrors/cla/ClawVault cd ClawVault pip install -e . clawvault start # 同时启动透明代理 :8765 与仪表盘 :8766

零成本试扫描

不需要接入 AI,先对任意文本做一次检测,感受风险评分:

clawvault scan "password=MySecret key=sk-proj-abc123" clawvault demo # 交互式演示

上面这条文本会同时命中 OpenAI API Key(9.0 分)与 password 赋值(8.0 分),整体判为critical。

两个关键配置

复制 config.example.yaml 到~/.ClawVault/config.yaml,重点改两处:

guard: mode: "interactive" # strict | interactive | permissive auto_sanitize: true # 开启自动脱敏 detection: api_keys: true # 按需开关各类别 passwords: true pii: true

代理默认拦截api.openai.com、api.anthropic.com等主机,可通过proxy.intercept_hosts增删。完整部署流程(含服务器部署脚本)见 QUICKSTART.md 与 scripts/deploy.sh。

拦截效果:终端与仪表盘双重可见 👀

当一条携带注入与危险命令的消息被 Strict 模式拦下时,OpenClaw TUI 会直接看到带检测摘要的 403 错误,而不是模糊的失败:

打开仪表盘http://<服务器IP>:8766的 Events 页面,每次拦截/脱敏都会留档:威胁摘要、风险分(Risk 9.5 · critical)、危险命令与注入分类一目了然。注意 INPUT TEXT 区域显示[Content blocked - see detection details below]——原始敏感内容被刻意隐藏,审计日志里只存脱敏后的摘要,防止日志本身成为二次泄露源。

常见问题 FAQ

❓ 需要修改 AI 工具的地址吗?需要把 API 基址指向本地代理(或 OpenAI 兼容适配器http://127.0.0.1:8766/v1),模型名与密钥保持不变,配置方法见 doc/OPENCLAW_INTEGRATION.md。

❓ 脱敏映射存在哪?会泄露吗?映射仅保存在本地内存中,按会话隔离、结束即销毁;审计日志存本地 SQLite,敏感值一律以掩码形式(如AKIA***MPLE)落盘。

❓ 拦截了消息,会话还能继续吗?可以。被拦截的消息及其错误响应会在后续请求中自动剥离,对话不会卡死。

总结

ClawVault 用一条透明链路解决了 AI 时代的头号焦虑:40+ 内置模式检测 15+ 类敏感数据 → 按风险评分定级 → 拦截或占位符脱敏 → 响应自动还原 → 全程留痕。敏感数据不出本机,模型只见到占位符,而你的 AI 体验几乎无感。现在就clawvault start一下,给你的 AI 装上一道"保险箱"吧 🦞

  • AI 安全治理
  • 提示词注入防护
  • 应用安全
  • 模型安全
  • 后端
  • API网关

【免费下载链接】ClawVault

OpenClaw Security Vault — Atomic "claw" control: every AI reach, within your sight.

项目地址:https://gitcode.com/gh_mirrors/cla/ClawVault
点击查看免费下载

相关推荐

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

RELATED READING

延伸阅读

更多一线实战笔记与深度复盘,助您持续精进