DSH Honey Guard:出站蜜罐脱敏,让密钥在离开本机前变成假值

前言

在 DeepSeek Harness(DSH)里跑智能体时,用户输入、模型思考、工具调用参数都会进入会话文件、日志,并可能发往模型侧。一旦其中夹着 API Key、云凭证或 PEM 私钥,单靠事后删日志很难保证不泄露。常见做法是手工打码或写正则替换,但容易漏格式、同一会话里同一真值被换成多个假名,模型反而起疑。

下面介绍社区插件 dsh-honey-guard(维护者 elegant01,版本 0.1.0,MIT)。它在敏感值离开你的机器之前,用结构合法的 Honey-Token 做确定性替换;会话从源头就是蜜罐,需要真值时再走显式工具还原。

这是什么

dsh-honey-guard 是 DSH 的蜜罐脱敏插件:挂载 agent/pre-step 与 tools/post-execute,对每一条出站消息做模式扫描,命中即替换。模型、会话文件、日志里见到的都是假货;同一会话内同一真实值永远映射到同一蜜罐,跨会话映射不可被外部关联。

仓库:https://github.com/elegant01/dsh-honey-guard
社区目录页:https://www.skillhub.cn/plugins/elegant01/dsh-honey-guard

核心功能

全自动出站脱敏

装上即生效,无需为每条消息单独配置。内置检测器覆盖例如:

检测器 识别
sk- + 48 位 OpenAI / DeepSeek 类 key
AKIA + 16 位 AWS Access Key ID
ghp_ / github_pat_ GitHub token
Bearer 后长 token 请求头凭证
-----BEGIN PRIVATE KEY----- PEM 私钥

替换是确定性的:结构合法(例如 sk- 开头的假 key),模型只会得到一次正常的认证失败,不会因同一凭证出现两种假名而异常。

显式还原与手动标记

入站自动还原刻意不做——还原出的真值下一轮又会被模型看到,等于白脱敏。扩展与还原走工具:

工具 用途
honey_mark 把检测器认不出的值(内部 token、私有 key 格式)标记为敏感
honey_restore 把蜜罐还原成真实值写回会话记录——用户可见,模型不可见(下一轮重新脱敏)
honey_stats 值安全的聚合统计(映射数 / 替换数 / 还原数 / 金丝雀状态)

Canary Trap

每个会话惰性注册一个永不参与替换的「死蜜罐」。若该蜜罐出现在其他会话的文本里即告警,用于发现记录被跨会话搬运。

架构要点(与行为相关)

  • Admission-time 替换:出站脱敏发生在消息进入会话之前(agent/pre-step 返回的批次即入会内容),会话文件从源头是蜜罐。
  • 区间合并替换:检测器区间与手动标记区间先合并(重叠跳过、长值优先),再一次性拼接,蜜罐不会再次进入被扫描文本。
  • 每会话独立映射:WeakMap<agent, scope> 按 agent 分桶,映射纯内存、不落盘。
  • 值安全:日志、统计、审计事件(honey/restored)均不含真实值或蜜罐值。

安装与启用

在本地已有插件源码目录的前提下,用 profile 安装(命令来自项目 README,请将路径换成你的实际路径):

dsh plugin --profile desktop add "file:<本项目路径>"

也可手动放入 profile 的 node_modules,并在 dsh.profile.bundles 登记。

开发与校验(需 Node ^22.19.0 || >=24.0.0):

pnpm install
pnpm run check   # typecheck + vitest + tsdown build

插件以当前 DSH 进程权限运行;安装前请自行阅读源码与 MIT 许可证,确认符合你的安全策略。SkillHub 为社区目录,与 DeepSeek / 幻方无官方从属关系。

典型用法思路

  1. 安装并启用插件后,正常对话与工具调用即可;出站内容会在进入会话前被扫描替换。
  2. 遇到自定义格式的内部密钥,在会话中通过 honey_mark 标记,后续出站同样走蜜罐映射。
  3. 需要在本机用真值执行某步(例如本地 curl 带真实 Bearer)时,用 honey_restore 写回记录;注意下一轮模型侧仍会看到脱敏后的值。
  4. 用 honey_stats 查看映射与替换规模,并关注 Canary 是否触发跨会话告警。

具体工具参数以仓库当前实现为准,见 GitHub README 与 lib 导出。

适用场景与注意

适合:在 DSH 桌面或自建 profile 中长期跑 agent、又不想把云/Git/模型 API 密钥写进会话与日志的开发者。

注意:

  • 脱敏覆盖 README 所列模式与手动标记,不能替代完整的密钥管理与最小权限。
  • 无入站自动还原是设计选择,依赖显式 honey_restore 时要想清楚真值何时会再次进入模型上下文。
  • peer 依赖包括 @deepseek-ai/cordis、@deepseek-ai/dsh-llm、@deepseek-ai/dsh-tools 等,需与当前 DSH 版本匹配。

结尾

dsh-honey-guard 把 DSH 的出站链路当成统一拦截点:确定性 Honey-Token、会话级映射、显式还原与 Canary,在「一切皆插件」的 DSH 生态里补一层默认打开的泄露防护。进一步了解请访问 SkillHub 目录页 与 GitHub 仓库。

羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

Xiaoye