用途
sdd-higiene-dado(数据卫生)是一个提交报警器,用于在每次 git commit 时保护客户端数据。它会拒绝可疑的提交并向使用者解释原因,但不阻止工作,最终由使用者自行决定。
主要能力
报警器会在新的提交行中检测有效的 CPF 或 CNPJ;.env 文件(.env.example 与 .env.sample 除外);包含私钥的 .pfx、.p12 和 .pem 文件;以及任何大小的新增表格文件(.xlsx、.xls、.ods、.csv)。发现可疑内容时,报警器会拒绝提交、给出说明,并让使用者自行决定如何继续。
该技能可用于:在项目上安装报警器(需使用者同意);解释被拒绝的提交及如何修正;卸载报警器;查看报警器是否已安装以及安装版本。
使用方式
需要带 bash 和 git 的终端,且已打开在项目文件夹内(Claude Code、Codex 或用户自己的终端)。macOS 和 Linux 自带;Windows 使用 Git for Windows 附带的 Git Bash。项目文件夹必须是一个 git 仓库(alarme.sh 会提示是否为仓库)。
SKILL_ROOT 是包含此 SKILL.md 的文件夹(.claude/skills/sdd-higiene-dado/ 或 .agents/skills/sdd-higiene-dado/,位于项目内或代理的全局文件夹)。在项目文件夹内执行:
- bash "$SKILL_ROOT/scripts/alarme.sh" verificar(只读)
- bash "$SKILL_ROOT/scripts/alarme.sh" instalar(仅在明确同意后)
- bash "$SKILL_ROOT/scripts/alarme.sh" desinstalar
安装前必须获得使用者对具体提问“Posso instalar o alarme neste projeto?”的明确肯定回答;沉默、对其它问题的“ok”或旧请求都不算同意。若没有终端(如网页版 claude.ai 或 ChatGPT),该技能无法安装或验证任何内容,应在一句话内说明,并提示在 Claude Code 或 Codex 中、于项目文件夹内运行该技能,不要把报警器内容交给使用者手动粘贴。
安装后,报警器只写入一个文件 .git/hooks/pre-commit,对项目的所有分支生效,不会上传到 GitHub。检查后可用 git commit --no-verify 强制提交。
适用场景
适用于处理客户数据的电脑与项目,在 git 提交环节拦截 CPF/CNPJ、.env 文件、含私钥的证书文件以及新增表格等敏感内容。也适用于解释被拒绝的提交、提供修正建议(如 git restore --staged、.gitignore、换成虚构数据)、查看安装状态与版本,以及卸载报警器。
限制
该技能不做以下事情,并需向使用者说明:不删除文件、不从历史中移除或重写提交(只提供命令,由使用者自行执行);不撤销证书、不更换密码、不操作外部账户;不读取 .xlsx、.xls 或 .ods 内的 CPF,也不扫描旧提交(报警器只看当前提交的内容);不提供关于 LGPD、职业保密或会计师责任的结论;不做环境全面诊断(那是 sdd-checar-ambiente,仅只读)。若检测到的数字并非 CPF/CNPJ(例如 11 位电话号码其校验位恰好匹配,约百分之一概率),属于可能的巧合,由使用者核实后可在该次提交使用 --no-verify。合法的示例表格(虚构、无客户数据)同理,核实后使用 --no-verify。UTF-16 文件(某些 Excel 的“Unicode 文本”)会被 git 视为二进制,报警器不读取其内容,但若为新增表格仍会按文件名拦截。本版本不识别字母数字格式的 CNPJ。
脚本退出码:0 表示完成/信息,2 表示被其它报警器拒绝,1 表示不在仓库内。当项目已有其它报警器(husky、lefthook、core.hooksPath 或手写 pre-commit)时,退出码为 2,不应安装,只显示可手动添加到现有报警器的那一行并停止。当处于 git 仓库之外时,脚本以 1 退出并说明,应提示在项目文件夹打开终端(或若项目尚无 git,则执行 git init)。
任何情况下都不得自行运行 git commit --no-verify,只有使用者就该次提交表明已核实并希望提交时才可以。报告被拒绝的提交时,不要在对话中写出完整的 CPF/CNPJ。
分类与来源
该技能属于安全与审计类工具,聚焦于 git 提交环节的数据泄露防护。它由 Roberto Dias Duarte 的方法论构建,来自 SDD Starter by RDD。此版本未提供收费、价格、平台或效果等信息。