Maskit 是什么
Data Maskit(数据面具,下称 Maskit)是一款开源数据脱敏工具,形态是装在本机的隐私脱敏与还原网关:插在 Cursor、Claude Code 这类 AI 编程工具与模型 API 之间,请求出网前自动把密钥、内网地址、手机号等敏感信息替换成结构化占位符,模型回复时再毫秒级流式还原成原文,100% 本地运算、零遥测。项目在 GitHub 开源(xiaYuTian11/maskit),AGPL-3.0 协议,2026-09 查询约 200 star(精确值 198),创建于 2026-09-09,是刚起步的新项目。适合每天用 AI 编程工具处理真实工程上下文、又不愿把数据库密码和内网拓扑交给模型服务商的开发者。
AI 编程工具会把哪些信息发出去
把真实代码或工程上下文交给模型,三类高危信息会随请求被动外发——工具组装请求时读取整个上下文,敏感字段夹在里面一起出门。官方 README 把检测目标归纳为三类。
第一类凭据与密钥:sk-proj-... 风格 API Key、ghp_... 开头的 GitHub Token、云厂商 AccessKey、JWT Token、PEM 私钥证书,泄露即可直接冒用,常藏在日志片段、报错堆栈和环境变量示例里。
第二类内网资产拓扑。一条数据库连接串(mysql://root:Pass123@192.168.1.50:3306/db)等于同时交出账号、密码、内网主机和端口;私有 IP(10.x / 172.16.x / 192.168.x)成片出现,等于画出半张内网地图。
第三类业务隐私 PII:手机号、身份证、姓名、银行卡,以及企业内部代号与保密业务词——不在任何通用合规词表里,却往往最敏感。
工作原理:占位符怎么穿过大模型
机制三步:出网前本地打码、模型只见占位符、回复流式还原。官方 README 示例:
| 阶段 | 内容样例 |
|---|---|
| 你的实际输入 | 排查数据库:mysql://root:Pass123@192.168.1.50:3306/db,联系人李四 13800138000 |
| 模型实际收到 | 排查数据库:{{CONNSTR_zkpmqx}},联系人{{TERM_fnqtsw}} {{PHONE_bcdfgh}} |
| 模型生成的回答 | 建议检查 {{CONNSTR_zkpmqx}} 的网络连通性,并让 {{TERM_fnqtsw}} 核对账号权限 |
| 你最终看到的输出 | 建议检查 mysql://root:Pass123@192.168.1.50:3306/db 的网络连通性,并让 李四 核对账号权限 |
占位符是”类型前缀加随机后缀”的形式:模型知道 {{PHONE_bcdfgh}} 是电话号码、{{CONNSTR_zkpmqx}} 是连接串,推理方向不受影响;真实值只存本机映射表,出网请求体没有原文。
多轮一致性靠滑动窗口复用:官方说明同一长对话中”张三”在第 1 轮和第 10 轮映射为同一个占位符,推理不串号。
流式还原决定体验是否无感:打字机效果依赖 SSE(text/event-stream)响应,Maskit 逐事件还原下发,并处理占位符被切分进相邻 chunk 的拼接。还原在本机进程内完成,耗时为内存操作量级,远低于模型生成 token 的间隔(“毫秒级流式无感还原”为官方 README 表述)。
为什么是本地网关这个形态
本地网关的价值在于一处部署、所有工具生效,脱敏逻辑握在自己手里。两个工程取舍:其一,免装根证书——多数代理式方案依赖往系统装自签名 CA 证书,Maskit 用多端口反代绕开(18701 对应 OpenAI、18702 对应 DeepSeek、18703 对应 Anthropic,默认映射出自官方 README),工具只需改 Base URL;其二,Fallback Passthrough 兜底——即使 Maskit 退出,本地端口仍透明直连转发,故障最多是暂时没脱敏,不会放大成断网。
四种常见隐私方案对比(通用工程事实):
| 方案 | 隐私效果 | 使用成本 | 适用场景 |
|---|---|---|---|
| 本地脱敏网关(Maskit) | 敏感字段出网前替换,云端模型照常用 | 一次部署,日常无感 | 主力用云端模型、要收窄外发面的个人与小团队 |
| 本地模型(Ollama 等) | 数据完全不出本机 | 显卡加磁盘投入,装环境调参数 | 合规红线严、离线环境、能接受蒸馏版能力 |
| 人工删敏感信息 | 靠自觉与细心,遗漏难免 | 每次粘贴前手工检查 | 极偶尔贴代码的个人 |
| 企业 DLP | 组织级管控、可审计 | 采购部署加策略维护,周期以月计 | 有安全团队的中大型组织 |
两条路线可以叠加:主力开发走网关加云端模型,红线任务走本地模型,见 DeepSeek 本地部署与 Ollama 方案;另一类本机隐私实践见 OpenHuman 本地隐私运行。
三类检测目标与内置规则
Maskit 内置 19 类正则扫描规则(官方 README),覆盖凭据、拓扑、PII 三类目标,官方称默认”收敛核心隐私、低误报”:
| 检测目标 | 典型样例 | 泄露后果 |
|---|---|---|
| 凭据与密钥 | sk-proj-...、ghp_...、云 AccessKey、JWT、PEM 私钥证书 | 可直接冒用,损失最直接 |
| 内网资产拓扑 | 数据库连接串、私有 IP(10.x / 172.16.x / 192.168.x) | 暴露内网结构 |
| 业务隐私 PII | 手机号、身份证、姓名、银行卡、邮箱、内部代号 | 触碰个人信息保护红线 |
自定义能力补的是第三类盲区:企业代号、保密业务词不在任何通用规则库(官方 README 支持按分类管理自定义敏感词、整词匹配与自定义正则),试运行期就该把内部词表灌进去。
适用范围:任何可配 Base URL 的工具
接入条件只有一条:工具允许自定义 API 端点。官方 README 列出的适配对象包括 Cursor、Claude Code、Codex、Pi、OpenCode、ChatGPT 与 Aider,Python、Node.js、LangChain 代码接入同样覆盖。
判断工具能不能接,看模型设置里有没有 Base URL、Override 类字段,或 OPENAI_BASE_URL、ANTHROPIC_BASE_URL 一类环境变量。Cursor 与 Claude Code 的逐步接入见 Maskit 接入 Cursor 与 Claude Code 教程;还没装 Claude Code 的,先看 Claude Code 安装教程。
项目成熟度:约 200 star 的新项目怎么试
Data Maskit 是星数三位数的新项目:仓库 2026-09-09 创建(GitHub),2026-09-13 仍有提交,2026-09 查询 star 数 198,协议 AGPL-3.0,社区设 LINUX DO 论坛与官方 QQ 群(489926214)。评估建议(工程建议):
- 先在非核心业务试运行一到两周,用假数据跑真实工作流,统计漏报与误报,规则先紧后松。
- 盯日志与审计面:Maskit 提供全链路请求日志、被动安全审计(官方称可监控回复中的错误泄露、身份换芯、Prompt 越狱等风险)与 Token 费用统计(官方 README)。
- 读源码:本地隐私工具”可自己审计”比 star 数重要。脱敏引擎基于 mitmproxy 代理架构(仓库 topics 标注),Python 实现,桌面端为 Tauri,另有 Docker(amd64/arm64)形态。
- 协议约束:AGPL-3.0 对个人、研究、开源使用免费;闭源商业产品集成分发需遵守 AGPL 条款(官方 LICENSE 说明)。
常见问题
数据脱敏是什么意思?
数据脱敏指把文本中的敏感信息替换成无真实含义的替代内容,让处理方拿不到原文。AI 编程场景即密钥、内网地址、手机号出网前先替换成占位符。
传统脱敏在数仓环节处理静态数据集;Maskit 把脱敏搬上实时链路并做成双向:出网打码、回程还原,模型只见占位符。
数据脱敏工具有哪些?
常见数据脱敏工具分三类:数仓与测试数据集用的静态脱敏工具、数据库或 API 前的动态脱敏网关、面向大模型场景的本地脱敏网关,Maskit 属第三类。
差别在对象与时机:静态脱敏批处理数据集,动态脱敏拦数据库访问,大模型网关拦模型 API 请求并做回复还原。
把公司代码发给 AI 编程工具安全吗?
默认要当心:请求携带上下文出网,密钥、内网拓扑、个人信息常随代码无意发出。用本地脱敏网关打码再出网,或改用本地模型,可把外发面压到接近零。
风险点在夹带物:连接串、Token、客户数据的泄露后果远大于业务逻辑本身。习惯做法是三层:工具侧关闭不必要的数据共享、网关侧自动打码、制度侧限定可进提示词的数据。