# 敏感信息脱敏模式参考

## 常见密钥格式

| 格式 | 示例 | 匹配正则 |
|------|------|----------|
| 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-...` 包含完整格式密钥）。

```bash
# 验证 .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` 模块：

```python
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_KEY`
- `MINIMAX_CODING_API_KEY`
- `QQ_CLIENT_SECRET`
- `WEIXIN_TOKEN`
- `WEIXIN_ACCOUNT_ID`
- `WEIXIN_ALLOWED_USERS`（含用户 openid）
- `WEIXIN_HOME_CHANNEL`
- `QQ_APP_ID`（应用标识，非密钥但建议检查）

### auth.json
- `credential_pool.{provider}[].access_token`

### 其他可能遗漏的渠道配置
- 微信 `channel_directory.json` 中的用户 ID
- `gateway_state.json` 中的进程信息（一般不敏感）
