密钥与隐私安全

Claude Code 可以读项目文件,所以密钥、Token、生产配置和用户隐私必须先划清边界。

默认不要让 CC 读取什么

CC 能读项目文件,这既是能力也是风险。密钥和隐私边界要在任务开始前说清楚,不要等泄露后再补救。

可以把敏感内容分成几类:

类型示例默认处理
密钥凭证API Key、Token、私钥、证书不读取、不复述、不提交
生产配置数据库连接串、生产域名、代理账号只讨论变量名和用途
用户隐私手机号、邮箱、订单、日志先脱敏,再用于排查
公司内部信息内网地址、后台账号、内部路径尽量不贴完整内容
个人信息本机用户名、私人路径、截图信息分享前脱敏

开始任务前先发

本次任务请遵守密钥和隐私边界。

要求:
1. 不要读取、输出或修改 .env、密钥、证书、Token。
2. 如果必须了解环境变量名称,只读取示例文件或配置说明,不读取真实值。
3. 不要把任何密钥写进代码、文档、日志或提交说明。
4. 如果发现疑似密钥,请暂停并提醒我人工处理。
5. 所有截图、日志和总结都要避免泄露隐私信息。

如果任务看起来可能涉及密钥,先加一句:

如果你认为必须读取真实密钥才能继续,请先停止。
请改为告诉我:
1. 需要确认哪个变量名。
2. 我应该自己在哪里检查。
3. 检查结果应该如何用“存在 / 不存在 / 已配置”这类方式反馈。

可以让 CC 看什么

示例值怎么写

示例值要一眼看出是假的:

真实风险写法更安全写法
sk-真实密钥片段sk-xxxx-example
真实手机号138****0000
真实邮箱user@example.com
真实数据库地址db.example.local
真实 Tokentoken_example_do_not_use

不要为了“让 CC 更好排查”而提供真实值。大多数配置问题只需要变量名、报错类型和环境位置。

让 CC 只看变量名

本任务可能涉及环境变量。

要求:
1. 只读取示例文件或文档中的变量名。
2. 不要读取真实 .env 文件。
3. 不要要求我粘贴真实值。
4. 如果需要判断配置是否存在,请告诉我检查方法,让我自己确认。
5. 回复中只写变量名,不写真实值。

日志可以怎么贴

贴日志前先做两件事:

  1. 删除或打码 token、cookie、authorization、session、code 参数。
  2. 删除真实手机号、邮箱、订单号、用户 ID 等可识别信息。

然后告诉 CC:

下面日志已经尽量脱敏。

请只分析错误类型和可能原因:
1. 不要要求我补充真实密钥。
2. 如果仍可能有敏感信息,请指出类型,不要复述原值。
3. 只保留排障所需的最小信息。

发现疑似泄露时

请暂停当前任务,做一次只读安全检查。

请告诉我:
1. 疑似泄露的信息出现在哪个文件。
2. 它可能是什么类型的敏感信息。
3. 是否已经进入 Git diff。
4. 最低风险处理方式是什么。
5. 不要在回复里复述完整密钥内容。

如果密钥已经进了 Git diff

疑似密钥已经进入 Git diff。

请不要复述密钥内容。
请告诉我:
1. 哪个文件包含疑似密钥。
2. 是否在当前未提交 diff 中。
3. 如何从文件中移除。
4. 是否需要轮换密钥。
5. 提交前应该如何复查。

不要执行提交、推送或历史清理。

日志和截图怎么脱敏

让 CC 检查脱敏

请检查下面内容是否已经脱敏。

要求:
1. 不要复述疑似敏感值。
2. 指出可能泄露的类型。
3. 给出替换建议。
4. 保留排查所需的最少信息。

默认拒绝这些请求

安全收尾

涉及密钥和隐私的任务结束前,补一次检查:

请做安全收尾检查。

请确认:
1. 本次回复和文件改动中是否包含真实密钥。
2. 是否读取或修改了 .env、证书、Token 文件。
3. Git diff 中是否出现敏感信息。
4. 文档、日志、截图是否已经脱敏。
5. 是否需要人工轮换密钥或复查权限。

验收结果