扩展与隐私

提示词安全脱敏与隐私保护

本地内存级实时识别与拦截 API Key、数据库连接串与内网 IP,数据出境不上云,隐私安全留本地。

在日常使用 AI 编程助手(如 Claude Code、Codex 等)时,开发者经常需要将整个代码仓库或上下文发给大模型进行分析。然而,代码中往往不可避免地包含敏感信息:

  • 误存的云服务 AccessKey 或第三方 API Token(如 sk-...、ghp_...、AWS Secret);
  • 生产环境或预发环境的数据库连接串(postgres://user:password@...);
  • 企业内部域名、内网 IP 地址、微服务私有接口;
  • 核心员工邮箱、内部组织架构或涉及合规审查的机密代码片段。

如果未经脱敏直接发送至第三方或海外公有云模型,极易导致安全合规事故。

Magpie AI 内置了强大的本地实时提示词脱敏引擎(In-Flight Prompt Masking)。所有敏感信息在离开你的本地电脑之前,都会在内存中被精准拦截、脱敏并替换为安全占位符,真正做到“代码出境不上云,隐私安全留本地”。


本地脱敏架构与工作机制

不同于事后日志审计,Magpie AI 的隐私保护模块工作在本地网关(127.0.0.1:3425)的请求转发管线前端:

text
[ 开发者终端 (Claude Code) ]
           │
           ▼ (1. 原始提示词与上下文,包含敏感凭证)
[ Magpie AI 本地网关 (127.0.0.1:3425) ]
  ┌──────────────────────────────────────────────────┐
  │   内存级隐私脱敏引擎 (Regex Masking Pipeline)    │
  │   - 自动识别 API Key / Token / Passwords         │
  │   - 自动匹配内网 IP / 企业私有域名               │
  │   - 替换为安全令牌: [MASKED_TOKEN_1], [MASKED_IP]│
  │   - 本地维护只读内存映射表 (Ephemeral Map)      │
  └────────────────────────┬─────────────────────────┘
                           │
                           ▼ (2. 已经脱敏的安全请求 Payload)
              [ 云端大模型 (DeepSeek / OpenAI) ]
                           │
                           ▼ (3. 返回生成的代码或分析结果)
[ Magpie AI 本地网关 (127.0.0.1:3425) ]
  ┌──────────────────────────────────────────────────┐
  │   响应逆向还原引擎 (Context Unmasking)           │
  │   - 将响应流中的占位符还原为本地真实数据         │
  └────────────────────────┬─────────────────────────┘
                           │
                           ▼ (4. 开发者无感获得完整可运行代码)
[ 开发者终端 (Claude Code) ]

核心特性

  1. 纯内存即时计算:所有正则表达式与匹配算法均在 Go 进程内存中毫秒级完成,不向磁盘写入明文敏感词缓存。
  2. 双向无缝还原:模型返回的回答若引用了占位符变量,本地网关会在向终端吐出 SSE 流时自动逆向还原,开发者本地执行代码完全不受影响。
  3. 零云端接触:上游模型接收到的 Prompt 中绝对不含真实密码或内网凭证。

预设脱敏规则(默认开箱即用)

Magpie AI 默认内置了业界高危特征模式识别,开启后无需额外配置即可防御绝大部分泄密场景:

敏感类型典型匹配模式脱敏后占位符示例
API Keys & Tokenssk-[a-zA-Z0-9]{32,}, ghp_..., AWS AccessKey[REDACTED_API_KEY_1]
数据库连接串postgres://, mysql://, mongodb+srv://[REDACTED_DB_URI]
私钥与证书BEGIN PRIVATE KEY, BEGIN RSA PRIVATE KEY[REDACTED_PRIVATE_KEY]
内网 IPv4 地址10.x.x.x, 172.16-31.x.x, 192.168.x.x[INTERNAL_IP_1]
企业邮箱凭证包含强密码格式的环境变量赋值语句[REDACTED_SECRET]

自定义规则配置

除了系统内置规则,你还可以针对团队的专有业务需求扩展自定义脱敏规则。

1. 通过配置文件定制(~/.magpie/privacy.yaml)

编辑 Magpie 的本地隐私配置文件,添加你关注的企业域名或特定业务特征:

yaml
# ~/.magpie/privacy.yaml
privacy:
  enabled: true
  
  # 自定义正则表达式脱敏规则
  rules:
    - name: "Internal Company Domains"
      pattern: 'https?://[a-zA-Z0-9.-]+\.internal\.corp\.net'
      replacement: "[INTERNAL_CORP_URL]"
      
    - name: "Customer SSN / ID Numbers"
      pattern: '\b\d{3}-\d{2}-\d{4}\b'
      replacement: "[REDACTED_ID]"
      
    - name: "Custom Project Secret"
      pattern: 'TINK_SECRET_[A-Za-z0-9_]+'
      replacement: "[PROJECT_SECRET]"

  # 白名单(明确允许放行的公开测试域名或 Mock 数据)
  whitelist:
    - "https://api.github.com"
    - "https://test.example.com"
    - "127.0.0.1"

2. 通过 CLI 快速管理脱敏规则

bash
# 查看当前生效的所有脱敏规则与拦截计数
magpie privacy status

# 开启或关闭本地提示词隐私脱敏
magpie privacy on
magpie privacy off

# 测试一条字符串的脱敏效果
magpie privacy test "connect to postgres://admin:secret123@10.0.1.5:5432/db"

测试命令将直观打印脱敏前后的对比差异:

text
Input:  connect to postgres://admin:secret123@10.0.1.5:5432/db
Output: connect to [REDACTED_DB_URI]
✓ Successfully sanitized 2 sensitive tokens

在实战中的收益

  1. 企业合规无忧:在金融、医疗、企业私有研发等严苛安全合规场景下,开发者可以放心接入 DeepSeek、Kimi 等公有云模型,而不会违反数据出境与机密保护协议。
  2. 防范误提交事故:开发者经常在 .env 或代码中临时写死密钥并调用 AI 解释,Magpie 本地脱敏从物理层切断了泄露链路。
  3. 对 Agent 能力零干扰:模型根据占位符(如 [REDACTED_DB_URI])依然能够准确理解代码逻辑并完成重构,完全不破坏 Agent 的推理质量。

常见问题解答

Q:开启脱敏会明显增加 API 请求的延迟吗?

A:几乎毫无感知。Magpie 的 Go 核心采用了预编译的高效正则自动机(Aho-Corasick 算法与并发流水线),对于典型 100KB 大小的代码上下文,脱敏耗时通常在 1~3 毫秒以内,相较于大模型数秒的网络与推理延迟完全可以忽略不计。

Q:如果模型输出了包含占位符的代码,我拷贝到本地能直接跑吗?

A:如果你是在被 Magpie 接管的终端工具(如 Claude Code)中直接接收代码流,Magpie 会在流式吐回时自动还原回原始真实值,本地保存的文件依然具备真实配置,无需开发者手动替换!

Q:如果某些测试用 Mock 密钥或公开 API 域名不需要脱敏,如何配置放行?

A:在 ~/.magpie/privacy.yaml 文件的 whitelist 列表中加入需要放行的字符串、域名或 IP 即可(例如 https://api.github.com 或 127.0.0.1)。白名单中的内容在流经脱敏管线时会被自动跳过,保持原始文本原样透传。