AB
AiBoss站
project

maskit - 为大模型打造的本地隐私脱敏与还原网关

maskit 是一个本地隐私脱敏与还原网关,在请求发往外部大模型前自动把密钥、连接串、手机号等敏感信息替换为结构化占位符,并在模型流式回复时本地还原。项目由 xiaYuTian11 维护,采用 AGPL-3.0 许可,截至 2026-09-20 星标 255。

maskit(项目自述中文名为「数据面具」)是一个面向大模型使用场景的本地隐私脱敏与还原网关。按项目自述,它的定位是架设在开发终端与外部 AI 服务之间的一道透明防护层:请求出网前在本地把敏感内容替换成结构化占位符,模型返回时再在本地流式还原成原文。它要解决的问题很具体——当开发者使用 Cursor、Claude Code、Codex 等 AI 编程助手时,代码里的 API Key、数据库连接串、内网 IP、手机号、身份证号等信息往往会在无感知的情况下被发送给外部模型服务商。适合经常把真实代码和业务数据交给外部模型、又希望保留原有工具链体验的个人开发者与团队。

维护者与状态

据官方接口信息,maskit 由 xiaYuTian11 维护,仓库创建于 2026-09-09,最后提交时间为 2026-09-20。最新 release 为 v0.3.2,发布于 2026-09-20。截至 2026-09-20,仓库星标数为 255。项目采用 AGPL-3.0 许可证。

主要能力

以下能力均来自项目自述(README),未经独立验证,仅作转述。

脱敏规则与会话一致性

  • 据项目说明,内置 20 多类扫描规则,覆盖 API Key/Token、PEM 私钥、数据库连接串、手机号、身份证、邮箱、银行卡、内网 IPv4/IPv6、统一社会信用代码等,默认收敛核心隐私并控制误报。
  • 支持自定义敏感词与正则,可按分类管理内部人名、项目代号与敏感术语,支持整词匹配边界与自定义正则扩展。
  • 项目自述称其采用「多轮会话滑动窗口复用」机制:同一长对话中,同一个实体在不同轮次始终映射为同一个占位符,以保持模型推理的一致性。

本地实体识别

  • README 中称内置轻量级本地 ONNX 语义模型,用于识别正则难以覆盖的人名、企业机构与详细物理地址。
  • 项目自述采用「洁净原文抽取 + 单调 OffsetMap 坐标映射」的方式,先在未替换的原文上做语义抽取,再映射回打码文本,以降低规则替换后上下文截断导致的明文残片泄漏风险。
  • 据项目说明,该推理过程 100% 在本地进程内完成,不发起外部网络调用,设置页可一键开关。

流式接管与浏览器扩展

  • 针对 OpenAI / Anthropic 的 text/event-stream 流式响应逐事件增量还原,项目自述会处理跨 chunk 的占位符切片与缓冲区拼接,以保留原生打字机体验。
  • 提供 Chrome/Edge MV3 浏览器扩展,用于 ChatGPT、Claude、Kimi、豆包、通义千问等网页版 AI,项目自述预置 18 个以上常见站点的一键授权。

接入方式与兜底

  • 采用多端口反代模式,为不同模型渠道分配独立本地端口,只需把工具的 base_url 指向本地端口,项目自述无需向操作系统安装自签名 CA 根证书。
  • 项目自述提供 Fallback Passthrough 兜底:即使关闭脱敏代理或退出软件,本地端口仍维持监听并透明转发,避免 AI 工具断网报错。
  • 提供全链路日志、被动安全审计与提示词注入检测、Token 用量与费用估算等面板功能。

使用入口

仓库地址:https://github.com/xiaYuTian11/maskit

据项目说明,接入的核心思路是把工具的 API Base URL 改为 maskit 对应的本地端口。README 中给出的默认端口映射为:OpenAI 协议 http://127.0.0.1:18701/v1、DeepSeek 协议 http://127.0.0.1:18702/v1、Anthropic 协议 http://127.0.0.1:18703,端口可自行添加修改。命令行工具可通过环境变量指定:

export OPENAI_BASE_URL="http://127.0.0.1:18701/v1"
export OPENAI_API_KEY="your-api-key"

代码接入方面,项目自述只需在 SDK 中指定本地 base_url 即可,例如 Python 的 OpenAI 客户端把 base_url 设为 http://127.0.0.1:18701/v1。部署方式上,README 列出三条路径:桌面客户端(Windows / macOS)、Docker 私有网关,以及从源码运行。Docker 方式项目自述可直接拉取预构建多架构镜像,映射 5801 作为 Web 控制台端口、18701 起作为反代端口,并通过 MASKIT_PANEL_TOKEN 设置控制台令牌;源码方式则需克隆仓库后安装依赖、构建前端并启动引擎。

许可与限制

许可证为 AGPL-3.0。项目自述中提到,个人开发者、研究人员及开源项目可免费使用,如需在闭源商业产品中分发或集成,需遵循 AGPL-3.0 的相关条款——具体权利义务请以仓库 LICENSE 原文为准。

关于已知限制与适用边界,README 中提到的几点包括:Docker 部署时控制台令牌需为不少于 16 位的纯 ASCII 字符,否则引擎会安全回退为启动日志中的随机 token;默认绑定 127.0.0.1 本机回环以保护代理端口不直接暴露公网,若通过 Nginx 挂域名并配置 TLS 反代,需额外添加 MASKIT_TRUST_PROXY=1 环境变量,否则 API 请求可能被 Origin 校验拦截;macOS 首次打开桌面客户端若被系统拦截,需右键选择「打开」或执行命令移除隔离属性。此外,浏览器扩展需从 Releases 下载并手动以「加载已解压的扩展程序」方式安装,属于开发者模式加载,而非商店分发。

需要说明的是,本文所述功能、机制与部署细节均转述自项目自述文档,未经过实际运行验证;涉及性能、准确率与安全效果的具体表现,请以项目仓库的最新说明与自行测试为准。