核心用法
leak-check 是一个用于安全审计的 Node.js 脚本,专⻔扫描 OpenClaw 产生的 JSONL 会话日志,检测其中是否包含敏感凭证泄露。用户通过 leak-check.json 配置要检测的凭证片段(支持前缀、后缀、通配符匹配),脚本会遍历所有会话文件,输出泄露发生的时间、会话 ID 以及接收数据的 AI 服务商(如 anthropic、openai、google、minimax 等)。
显著优点
1. 精准溯源:不仅能发现泄露,还能指出凭证被发送到了哪家外部 AI 提供商,便于合规审计与责任追溯。
2. 灵活匹配:支持 abc*(前缀)、*xyz(后缀)、abc*xyz(首尾组合)及纯包含匹配,用户只需存储凭证片段即可安全检测。
3. Config Echo 过滤:智能识别因读取配置文件本身而产生的“伪泄露”,避免误报干扰真正的安全事件。
4. 双格式输出:默认 Discord 富文本格式便于即时通知,JSON 格式便于 CI/CD 集成与自动化处理。
5. 零依赖轻量:仅需 Node.js 运行时,无需额外安装复杂安全扫描引擎。
潜在缺点与局限性
1. 片段依赖:若凭证片段过短或过于通用,可能产生误报;片段过长则可能因日志截断而漏报。
2. 事后检测:属于被动审计工具,无法阻止实时泄露,只能在会话结束后发现。
3. 本地日志局限:仅能扫描已持久化到本地的 JSONL 文件,若日志被篡改或删除则无法检测。
4. 无加密存储:配置文件本身以明文存储凭证片段,若权限设置不当存在二次泄露风险。
5. Node 版本依赖:需确保目标环境已安装 Node.js,对纯容器或无 Node 环境不友好。
适合人群
- 使用 OpenClaw 进行多模型路由的团队安全工程师
- 需要定期审计 AI 交互日志的合规负责人
- 希望自动化监控 API 密钥泄露的 DevOps/SRE 工程师
- 对个人 AI 工作流有隐私安全顾虑的高级用户
常规风险
- 误报噪音:Config Echo 虽被过滤,但正常的代码讨论、文档引用仍可能触发片段匹配,需人工复核。
- 权限蔓延:扫描脚本需读取会话日志目录,若配置不当可能暴露其他用户会话。
- 凭证片段管理:团队成员可能误将完整密钥写入配置文件,违背设计初衷。
- 日志滞留:为排查历史泄露,会话文件需保留,增加了本地敏感数据存储周期。