secret-guard:DeepSeek Harness 安全插件

前言

DeepSeek Harness (DSH) 在执行文件操作时可能意外泄露敏感信息(如 API 密钥、环境变量)。secret-guard 作为 DSH 插件,通过在工具执行前拦截敏感文件的读写,并在结果层应用内容掩码,防止密钥进入对话上下文。

插件简介

名称:secret-guard
维护者:JohnXu22786
类别:admin-security
许可证:MIT
核心定位:拦截敏感文件(.env、凭据等)的读写并掩码泄露的密钥。

这是一个零构建插件,加载纯 TypeScript 源码,运行时仅依赖 @deepseek-ai/dsh-tools 和 schemastery。

核心能力

  1. 拦截敏感文件:在工具执行前拦截敏感文件的读写(如 .env、凭据),防止泄露。
  2. 内容掩码:对工具结果应用内容掩码作为后备,防止已泄露内容进入上下文。
  3. 安全检查工具:提供 sg_* 工具,仅返回元数据(键名、行号、指纹等),不返回原始值。
  4. 审计日志:记录 JSONL 格式的审计日志。
  5. 规则热重载:支持规则文件的自动热重载。

安装与配置

使用官方安装命令将插件添加到指定 profile:

dsh plugin --profile demo add github:JohnXu22786/secret-guard

移除插件:

dsh plugin --profile demo remove dsh-secret-guard

检查插件状态:

dsh --profile web --dump-config | grep -A 6 secret-guard

环境要求

  • dsh ≥ 0.1.0-rc.6
  • Node.js ≥ 22.19 或 ≥ 24
  • 运行时依赖:@deepseek-ai/dsh-tools 和 schemastery

本地开发

本地开发时,需要使用绝对路径覆盖插件源码:

# dev-overlay.yml
- insert:
    - id: secret-guard-dev
      name: 'file:///D:/path/to/secret-guard/src/index.ts'
      config:
        maskResults: true

运行命令:

dsh --profile headless --patch D:/path/to/secret-guard/dev-overlay.yml "list the current directory"

注意事项

  1. 源码限制:源码必须使用 strip-only 类型移除支持的语法(如不允许使用参数属性)。
  2. 路径解析:相对路径(如 sealKey.path、audit.dir)解析自 dsh 的启动工作目录。
  3. 匹配规则:匹配不区分大小写。

总结

secret-guard 提供了从拦截到掩码的完整防御链,适合需要严格保密的开发场景。详细信息请查阅 GitHub。

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

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

小夜