1.9 KiB
1.9 KiB
敏感信息脱敏模式参考
常见密钥格式
| 格式 | 示例 | 匹配正则 |
|---|---|---|
| MiniMax token | tp-spf...2tid |
tp-[a-zA-Z0-9]{20,} |
| MiniMax API key | sk-cp-...faRA |
sk-cp-[a-zA-Z0-9]+ |
| QQ client secret | bq6New...vQvR |
bq6New[A-Za-z0-9]+ |
| WeChat openid | o9cq801H7rXH9zNHTu-xaa29Hbuk@im.wechat |
o9cq[a-zA-Z0-9@.-]+ |
| WeChat token | 2fc2d0...8d1b |
2fc2d0[A-Za-z0-9]+ |
| Generic hex (30+) | various | [a-f0-9]{30,} |
.env 脱敏易错点
注释行中的示例也可能匹配(如 # KIMI_BASE_URL=https://api.kimi.com/coding/v1 包含 api.kimi.com 不是密钥,但 # OPENROUTER_API_KEY=sk-or-... 包含完整格式密钥)。
# 验证 .env 非注释行无泄露
grep -v "^#" .env | grep -E "tp-[a-zA-Z0-9]{20,}|sk-[a-zA-Z0-9]{20,}|bq6New[A-Za-z0-9]+|[a-f0-9]{30,}|o9cq" && echo "有泄露" || echo "干净"
auth.json 脱敏易错点
直接用 regex 替换会漏掉嵌套结构,且容易弄坏 JSON 格式(如尾部多出 ")。必须用 Python json 模块:
import json
with open('auth.json', 'r') as f:
auth = json.load(f)
for provider, creds in auth['credential_pool'].items():
for c in creds:
c['access_token'] = '***'
with open('auth.json', 'w') as f:
json.dump(auth, f, indent=2, ensure_ascii=False)
# 验证是合法 JSON
with open('auth.json', 'r') as f:
json.load(f) # 能解析则格式正确
必须覆盖的敏感字段清单
.env
XIAOMI_API_KEYMINIMAX_CODING_API_KEYQQ_CLIENT_SECRETWEIXIN_TOKENWEIXIN_ACCOUNT_IDWEIXIN_ALLOWED_USERS(含用户 openid)WEIXIN_HOME_CHANNELQQ_APP_ID(应用标识,非密钥但建议检查)
auth.json
credential_pool.{provider}[].access_token
其他可能遗漏的渠道配置
- 微信
channel_directory.json中的用户 ID gateway_state.json中的进程信息(一般不敏感)