[控场AI]
· 5 分钟阅读· 2,943 字

告别手动脱敏:MaskFlow AI 纯客户端 PII 掩码工具

告别手动脱敏:MaskFlow AI 纯客户端 PII 掩码工具

MaskFlow AI 是完全在浏览器内存运行的客户端隐私脱敏工具,用香农熵与合成别名保护密钥和 PII。

MaskFlow AI 是一款完全运行在浏览器内存中的客户端隐私工具,旨在解决开发者把日志、代码和客户邮件粘贴给 LLM 前手动替换 API Key 与 PII 的繁琐流程。它不上传任何数据,敏感信息不离开设备。相比简单正则替换,v2.0 引入三项关键设计:用香农熵(阈值 ≥3.85 bits/char)结合字符类别转换识别无固定前缀的未知高熵 token;用合成别名模式生成语法合法的假数据(如 user01@example.org),避免破坏 TypeScript、JSON schema 或 SQL;以及自动组合系统指令与自定义正则,让模型保留占位符并适配团队内部命名约定。作者还发布 Pro Pack,包含零依赖 Python CLI、离线正则库和可将 token 消耗削减最多 90% 的 SchemaSlim AI。文章也指出纯客户端方案的边界:熵检测可能误报,规则库仍需人工维护与迭代。

每天把错误日志、代码片段和客户邮件粘进 ChatGPT、Claude 或 Gemini 之前,开发者都要经历一套繁琐的仪式:手动把 sk_live_...、AIza... 这类 API Key 换成 xxxx,逐个遮盖客户姓名、邮箱和电话。更麻烦的是,AI 返回结果后,还得把占位符一个个换回真实的生产密钥。云端的 PII 掩码服务看似省事,但把敏感代码和日志上传到第三方服务器,本身就违背了隐私保护的初衷。

一位开发者为此构建了 MaskFlow AI——一个完全运行在浏览器内存中的客户端隐私工具。没有网络请求,没有服务器上传,API Key 不会离开你的设备。

MaskFlow AI 应用预览

为什么正则替换不够用

简单的字符串替换脚本能处理已知格式的密钥,但真实开发场景远比这复杂。MaskFlow v2.0 在几个技术点上做了针对性设计,让它能应对更重的工作流。

用香农熵捕捉未知密钥

并非所有密钥都有 sk_live_ 这样的整齐前缀。MaskFlow 实时计算香农熵(阈值 $H(X) \ge 3.85$ bits/char)并结合字符类别转换,自动识别并掩码高熵的未知 token。映射表中会显示熵分数(例如 H=4.42b),让你清楚知道哪些片段被判定为敏感。这个思路跳出了模式匹配的局限,对内部生成的随机 token 尤其有用。

香农熵(Shannon entropy)原本是信息论中衡量随机变量不确定性的指标,公式为 $H(X) = -\sum_{i} p_i \log_2 p_i$,其中 $p_i$ 是字符集中第 $i$ 个符号出现的概率。在密钥检测场景下,它被用来量化一个字符串的“随机程度”:由随机字节编码而来的 API Key、会话令牌或哈希值,字符分布接近均匀,熵值高;而普通英文单词、变量名或 UUID 中常见的重复结构会让字符分布集中,熵值偏低。MaskFlow 设定的阈值 3.85 bits/char 意味着在约 64 种可能字符(如 base64url 字母表)下,该字符串的分布已明显偏离自然语言。这一方法的优势是不依赖前缀或固定长度,能覆盖内部系统生成的随机 token;代价是可能把长哈希、压缩数据块或高熵的测试夹具误判为密钥,因此通常需要结合字符类别转换(如是否同时包含大小写、数字与符号)来降低误报。

合成别名模式保住代码准确性

通用占位符如 {{EMAIL_1}} 会把 TypeScript 类型检查、JSON schema 或 SQL 查询搞崩。MaskFlow 的合成别名模式改用合法语法的假数据,比如 user01@example.org 或 10.240.0.1。LLM 返回含 user01@example.org 的代码后,一键即可还原成真实邮箱。对需要 AI 审查代码或调试 SQL 的开发者来说,这个细节直接决定了工具是否可用。

合成别名模式的本质是“格式保持脱敏”(format-preserving masking):不把敏感值替换成统一占位符,而是生成一个与原文语义类型相同、语法合法但内容虚构的替身。这样做是因为下游消费者对语法敏感——TypeScript 编译器会拒绝 {{EMAIL_1}} 作为字符串字面量之外的标识符,JSON Schema 校验会因占位符不符合 format: email 而失败,SQL 解析器也可能把花括号视为非法 token。使用 user01@example.org、10.240.0.1 这类保留示例域和私有地址段的假数据,既能通过类型检查与 schema 校验,又不会意外指向真实的外部资源。实现上通常需要维护“类型—生成器—反向映射表”三件套,确保 LLM 返回后能按映射无损还原;映射表本身只存在于浏览器内存,进一步降低了泄露面。

Prompt 注入与自定义正则

「Prompt Formatting」标签会自动把系统指令(针对代码审查、合同谈判或日志分析)与掩码后的文本组合,让 LLM 知道不要改动这些 token。你还可以即时注入自定义正则规则,比如内部员工 ID 格式 EMP-\d{5}。这让工具能适配不同团队的内部命名约定。

这里的“Prompt 注入”与安全领域常说的提示词注入攻击(prompt injection attack)方向相反:它是一种防御性指令注入,即在用户内容之前拼接一段系统级指令,明确告知模型“以下 token 是占位符,请原样保留、不要改写或解释”。由于 LLM 倾向于润色和重写输入,若不显式约束,模型很可能把 user01@example.org 改成别的示例地址,导致反向映射失败。把这段指令与掩码文本组合成固定模板,相当于给模型一个稳定的输出契约。自定义正则则是另一层扩展:团队内部的员工 ID、工单号、内部主机名往往不符合公共规则库,允许即时注入 EMP-\d{5} 这类模式,使工具能适配组织的命名约定,而不必等待上游更新规则集。

命令行与离线 Pro Pack

对于想从终端直接清理本地源码仓库或大日志文件的工程师,作者发布了 Pro Pack,包含零依赖 Python CLI(maskflow_cli.py)、预装 50 多条美/日正则规则的离线 Studio,以及一个名为 SchemaSlim AI 的附加工具——它从庞大的 JSON/CSV 载荷中只提取类型定义,据称可将 token 消耗削减最多 90%。

Web 版无需登录即可免费试用,适合日常快速脱敏;Pro Pack 则面向批量处理和离线场景。

零依赖 Python CLI 指脚本只使用 Python 标准库(如 re、argparse、pathlib),不需要 pip install 任何第三方包即可运行。对需要在隔离环境、CI 流水线或客户内网机器上处理日志的工程师来说,这一点很关键:没有依赖就没有供应链风险和版本冲突,脚本可以直接拷贝执行。配合离线 Studio 的本地正则库,整条链路——从读取源码仓库、大日志文件到输出脱敏结果——都不产生网络流量,与 Web 版的“数据不出浏览器”主张形成互补:Web 版覆盖交互式日常脱敏,CLI 与离线包覆盖批量与受限网络场景。

客户端方案的价值与边界

MaskFlow 的核心主张是数据不出浏览器。对于经常处理生产日志、客户数据和内部代码的开发者,这比任何云端脱敏服务都更让人放心。不过也要看到,纯客户端工具的能力上限受限于本地正则和熵检测的准确率——高熵检测可能误报正常的长字符串,自定义规则也需要人工维护。作者在文末向社区征集检测模式和功能建议,说明这套规则库仍在迭代中。

如果你每天都要和 LLM 打交道,又不想在隐私和效率之间二选一,这类客户端工具值得放进书签栏试试。

#MaskFlow AI#PII 掩码#客户端隐私工具#LLM 数据脱敏#API Key 保护#香农熵检测#AI 编程工具
分享:

相关推荐