dsh-security-guard:面向 DeepSeek Harness 的静态与运行时安全插件

前言

DSH 的插件生态强调“一切皆插件”。插件可以扩展命令、工具和工作区能力,但也意味着第三方代码会进入本地运行环境。对于智能体开发者来说,常见问题是:插件里有没有恶意调用?会不会注入提示词?会不会产生不必要的 token 消耗?手动审查源码、安装脚本和工具调用成本高,而且运行时危险动作也很难逐条盯住。

下面介绍 bigclawd/dsh-security-guard。它把安装前静态扫描和运行时危险动作拦截放到同一套机制里,并用 block / warn / clean 给出结论。

这是什么

dsh-security-guardbigclawd 维护的 DeepSeek Harness 安全插件,许可证为 MIT。

它定位为静态扫描与运行时防护:扫描 DSH 插件和工作区中的恶意代码、上下文注入与 token 浪费,拦截危险的运行时工具调用和提示步骤,并暴露 /scan 命令、plugin_scan 工具、扫描 Web 面板和用户管理的 allowlist。

它的关键约束是:静态分析部分只做静态分析,不导入、不求值、不执行被扫描的代码。

核心功能

  • 静态扫描:对源文件做规则分析;被扫描代码不会被导入或执行。
  • 运行时观察:在危险工具调用、提示步骤和文件操作发生前进行拦截。
  • 结果分类:结论归类为 blockwarnclean,可写入 JSON 或人类可读报告。
  • 规则扩展:规则为普通 JSON,可按 id 覆盖。
  • 安装钩子:通过 profile-manifest watcher 自动扫描新安装的插件。
  • 使用入口:/scan 命令、plugin_scan 工具、实时 Web 面板、用户管理 allowlist。

运行时观察默认启用。

安装

在默认 profile 中安装:

dsh plugin --profile default add dsh-security-guard

在宿主应用中启用

下面是资料给出的宿主应用配置示例。它配置规则目录、扫描大小限制、运行时拦截、allowlist 文件、Web 面板路径和安装钩子轮询间隔。

ctx.plugin(Guard, {
  rulesDir: 'config/guard-rules',
  scan: {
    maxFiles: 5000,
    maxFileSize: 4 * 1024 * 1024,
    skipSegments: ['node_modules', '.git', 'dist', 'lib']
  },
  runtime: {
    enabled: true,
    blockOnSeverity: ['block'],
    maxFindingsPerScan: 200
  },
  allowlist: {
    file: 'data/guard-allowlist.json'
  },
  web: {
    enabled: true,
    path: '/scan'
  },
  installHook: {
    enabled: true,
    intervalMs: 5000
  }
})

这段配置的作用是把插件注册到宿主应用,并指定静态扫描、运行时拦截、allowlist 和 Web 面板的运行参数。

典型用法

静态扫描

对人可读报告:

/scan ./plugin-dir

输出机器可读 JSON:

/scan ./plugin-dir --json

写入指定报告文件:

/scan ./plugin-dir --json --out report.json

plugin_scan 工具

也可以使用 plugin_scan 工具,参数为:

target, severity, json, out

Web 面板

Web 面板由 harness web server 在配置路径下提供,默认路径为:

/scan

适用场景与注意

适合以下场景:

  • 安装第三方 DSH 插件前做静态检查。
  • 对工作区文件做扫描和报告输出。
  • 对运行时工具调用和提示步骤做危险动作拦截。
  • 用 JSON 规则、allowlist 和 severity 覆盖维护扫描策略。

需要注意:

  • 插件会获得当前 dsh 进程权限。使用前应检查源码、许可证和安装时执行行为。
  • 建议先扫描再安装。恶意 postinstall 会在包安装时运行;先用 /scan 检查目标包,再执行 dsh plugin add
  • 误报可能存在。允许使用 allowlist 和 ruleSeverity 覆盖处理。
  • 混淆是军备竞赛。该插件是风险降低层,不是安全证明。

结尾

dsh-security-guard 的价值在于把插件安装前检查、工作区扫描和运行时危险动作拦截整合到 DSH 中使用,并用 block / warn / clean 给出可审计的结果。

GitHub 仓库:

https://github.com/bigclawd/dsh-security-guard

本文资料未提供已核实的社区目录页链接。

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

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

小夜