Javascript is required

API 日志敏感数据脱敏:浏览器本地安全遮蔽 Bearer Token、邮箱与 IP 地址

介绍如何在将调试日志提交至工单系统或 AI 大模型前,在浏览器本地按模式遮蔽敏感 Token、密钥、邮箱与 IP 地址。

作者: Tiny's Tool Core Team更新: 2026-08-04

INTERACTIVE TOOL DIAGNOSTIC WORKBENCH

在浏览器本地尝试对应的调试工具

敏感数据脱敏工具

1. 什么是客户端 API 日志脱敏?

在排查复杂的微服务故障时,开发者常需将 API 日志、HTTP 请求头或 JSON 错误响应分享给团队成员、第三方工单系统或 AI 大模型助手(如 ChatGPT、Claude)。

然而,未脱敏的生产环境日志中常混有敏感凭据,包括 Authorization Bearer JWT Token、数据库密码、API Key、用户邮箱地址及内部服务器 IP 地址。未经处理的日志误传会导致严重的凭据泄露风险与合规合规隐患(如 GDPR / HIPAA)。

2. 常见敏感凭据特征

  1. Authorization 头部与 JWTBearer eyJhbGciOiJIUzI1NiIsInR5c...
  2. 用户 PII 邮箱地址john.doe@company.org
  3. 内网 IPv4 / IPv6 地址192.168.1.422001:db8::1
  4. 敏感 JSON 键名:包含 passwordsecretapi_keycredit_card 的属性。

3. 浏览器本地脱敏算法代码

应在复制或提交文本前,于浏览器本地内存中完成脱敏。基于模式的遮蔽只能降低误泄露风险,并不能替代完整的安全扫描;分享前仍需人工复核输出:

ts
export function redactSensitiveData(input: string, customKeysRegex = "password|secret|token|api_key"): { redactOutput: string; itemsMasked: number } {
    let output = input;
    let count = 0;

    // 1. 脱敏 Bearer / JWT Token
    output = output.replace(/(Bearers+)[A-Za-z0-9-._~+/]+=*/g, () => {
        count++;
        return "Bearer [REDACTED_TOKEN]";
    });

    // 2. 脱敏邮箱地址
    output = output.replace(/[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+.[a-zA-Z]{2,}/g, () => {
        count++;
        return "[REDACTED_EMAIL]";
    });

    // 3. 脱敏 IPv4 地址
    output = output.replace(/(?:d{1,3}.){3}d{1,3}/g, () => {
        count++;
        return "[REDACTED_IP]";
    });

    return { redactOutput: output, itemsMasked: count };
}

4. 常见问题解答 (FAQ)

Q1: 运行脱敏工具时,原始日志会被传送到服务端吗?

脱敏逻辑在浏览器内存中运行,不会主动传输粘贴的日志。处理生产数据前,请核对线上脚本、尽量缩小样本,并遵循所在组织的数据政策。

Q2: 我可以自定义正则表达式来匹配我们公司特有的密钥字段吗?

可以!您可以在本站 敏感数据脱敏工具 页面直接输入自定义密钥正则匹配串(例如 password|secret|auth_token|client_secret)。

Q3: 工具默认会自动识别遮蔽哪些类型的敏感信息?

默认自动识别遮蔽 Bearer / JWT 认证头、电子邮箱地址、IPv4 / IPv6 地址以及常用敏感 JSON Key(包含 password, secret, token, api_key 等)。