Skip to content

Everything Claude Code Opensource Sanitizer Agent 是开源分支发布前必用的安全审计代理,专为自动化检测泄漏的密钥、个人信息、内部引用与危险文件而设计。通过 20+ 正则模式全量扫描源码与 Git 历史,自动生成结构化的安全报告(PASS/FAIL/PASS WITH WARNINGS),并与 Fork、Packager 等代理协同,确保开源项目在发布前无安全隐患。相比直接让 Claude 回答,专用 Agent 提供可追溯、不可篡改、标准化的安全验证闭环,是生产级 AI 编程流程的核心保障。

Everything Claude Code Opensource Sanitizer Agent:用 20+ 正则模式验证开源分支安全性的发布前扫描

在开源项目发布前,如何确保分支中没有任何敏感信息、内部引用或高风险文件泄漏?单靠人工检查或让 Claude 直接“帮忙看看”远远不够。Everything Claude Code Opensource Sanitizer Agent(以下简称 opensource-sanitizer)是专为此场景打造的安全审计代理,能用 20+ 正则模式自动化、全量、结构化地扫描和验证开源分支的安全性,是生产级开源发布流水线的必备环节。

1. opensource-sanitizer Agent 能解决什么问题?

核心用途:

  • 防止敏感信息泄漏:自动检测源码、配置、历史记录中是否存在 API 密钥、数据库账号、JWT、私钥等敏感数据。
  • 识别个人信息与内部引用:精准识别 PII(如私人邮箱、内网 IP、SSH 连接串)、绝对路径、内部域名等不可外泄内容。
  • 危险文件与配置审计:检查是否有 .env/.pem/.key/credentials.json 等危险文件残留,确保发布包干净无风险。
  • Git 历史溯源:不仅查当前文件,还会审计 Git 提交历史,防止“删掉了但历史还在”的安全盲区。
  • 生成标准化安全报告:输出结构化的 SANITIZATION_REPORT.md,明确 PASS/FAIL/PASS WITH WARNINGS,便于团队追溯与合规存档。

适用场景:

  • 任何 Fork、分支、重构后准备开源的仓库,发布前必须执行 opensource-sanitizer。
  • Opensource Forker AgentOpensource Packager Agent 组成一键开源流水线,自动衔接 Fork→Sanitize→Package 全流程。
  • 需要合规证明、第三方安全背书或大规模自动化开源时,批量集成到 CI/CD。

为什么不能直接让 Claude 检查?

  • Claude 本体无法保证全量、无遗漏地遍历所有文件和历史,也不会严格执行 20+ 正则和危险文件清单,容易漏检。
  • 专用 Agent 具备“永远不信任 Forker,独立二次验证”的安全立场,且输出格式标准化、可自动集成,适合生产环境闭环。

2. opensource-sanitizer 的具体能力

能做什么?

  • 全目录递归扫描:排除 node_modules、.git、pycache、二进制等无关目录,所有文本文件逐行正则匹配。
  • 20+ 正则模式:涵盖 API 密钥、AWS/Google/Slack/SendGrid 等主流服务凭证、数据库连接串、JWT、私钥、GitHub Token、个人邮箱、内网 IP、SSH 连接、绝对路径、.secrets/ 等敏感模式。
  • 危险文件/目录检测:自动判定 .env、.pem、.key、credentials.json、.secrets/、sessions/、*.map 等高风险文件是否存在。
  • 配置完整性校验:检查 .env.example 是否存在、变量是否覆盖所有代码引用、docker-compose.yml 是否有硬编码。
  • Git 历史审计:确认是否为单一初始提交,搜索历史中是否遗留敏感信息。
  • 输出标准化报告:生成 SANITIZATION_REPORT.md,按 Secrets、PII、Internal References、Dangerous Files、Config Completeness、Git History 六大类分别 PASS/FAIL,列出所有关键发现和警告。

不能做什么?

  • 只读模式:不会修改任何源码、配置或历史,只生成报告。
  • 不自动修复:所有发现仅报告,不会自动清理或修正,需要开发者手动处理。
  • 不输出完整密钥内容:报告中只显示敏感值前 4 位,防止二次泄漏。

触发方式

  • 自动触发:作为 Opensource Pipeline Skill 的第二阶段,Fork 完成后自动执行。
  • 手动调用:可在任何开源分支目录下,手动指定“Sanitize”操作,适合 CI/CD 或本地安全自查。
  • 与 Hooks 配合:可通过 Everything Claude Code Hooks 在 PreToolUse/PreCommit 等阶段自动插入。

3. opensource-sanitizer 的协作模式

  • 与 Forker 组合:先用 Opensource Forker Agent 复制并初步清理项目,再用 opensource-sanitizer 独立二次深度审计,确保“永远不信任上游”。
  • 与 Packager 组合:Sanitizer 通过后,自动交给 Opensource Packager Agent 生成 README、CLAUDE.md、setup.sh 等开源包,形成无缝流水线。
  • 与 Security Reviewer 互补:Sanitizer 专注于静态模式和文件级风险,复杂业务安全可交由 Security Reviewer Agent 做深度代码审计。
  • 与 Rules/Skill 体系联动:可结合 Everything Claude Code Rules 体系 强制所有开源发布前必须通过 sanitizer,纳入团队安全合规标准。

4. 实际使用示例

场景:开源前自动安全审计

用户操作:

bash
# 假设已 Fork 并准备发布
ecc run opensource-sanitizer --project /home/user/opensource-staging/my-api

Agent 执行:

  • 递归扫描 47 个文件,逐条正则匹配,排除无关目录
  • 检查 .env.example 是否覆盖所有变量
  • 审计 git log,确认只有 1 个初始提交,无历史泄漏
  • 检查危险文件和目录是否存在

输出报告(部分):

markdown
# Sanitization Report: my-api

**Date:** 2024-06-18
**Auditor:** opensource-sanitizer v1.0.0
**Verdict:** PASS WITH WARNINGS

## Summary

| Category            | Status | Findings |
|---------------------|--------|----------|
| Secrets             | PASS   | 0        |
| PII                 | PASS   | 0        |
| Internal References | PASS   | 0        |
| Dangerous Files     | PASS   | 0        |
| Config Completeness | WARN   | 1        |
| Git History         | PASS   | 0        |

## Warnings (Review Before Release)

1. **[CONFIG]** `src/app.js:8` — Port 8080 hardcoded, should be configurable

## .env.example Audit

- Variables in code but NOT in .env.example: `API_URL`
- Variables in .env.example but NOT in code: `DEBUG`

## Recommendation

Project passes critical checks. Review 1 warning before release.

场景:CI 自动化集成

在 CI 流水线中加一行:

yaml
- name: Run opensource-sanitizer
  run: ecc run opensource-sanitizer --project ${{ github.workspace }}

如有 FAIL,CI 直接阻断发布,保障开源合规。

5. 操作步骤总结

  1. Fork 项目(可用 Forker Agent)
  2. 执行 opensource-sanitizer(自动或手动)
  3. 审查 SANITIZATION_REPORT.md,如有 FAIL 必须修复所有关键问题
  4. 通过后交给 Packager Agent,生成最终开源包
  5. 归档报告,便于合规追溯

推荐结合 Everything Claude Code 完全指南AI 编程助手安全指南 理解完整流水线与安全最佳实践。


FAQ

Q: opensource-sanitizer 检查的范围包括哪些内容?
A: 包括所有文本文件(排除 node_modules、.git 等),敏感正则匹配、危险文件存在性、.env.example 配置完整性以及 Git 历史中的敏感信息。

Q: 检查出 FAIL 后会自动修复吗?
A: 不会,opensource-sanitizer 只读不改,所有关键问题需人工修复后重新执行。

Q: 可以单独用 sanitizer,不跑完整开源流水线吗?
A: 可以,支持手动独立调用,适合本地安全自查或集成到任何 CI/CD 流程。

Q: 为什么不能直接让 Claude 检查敏感信息?
A: Claude 本体无法保证全量遍历、正则精度和标准化输出,容易漏检且不可追溯,生产环境必须用专用 Agent。