dsh-trust-check:DeepSeek Harness 插件静态能力披露

前言

DeepSeek Harness (DSH) 采用插件化架构,开发者经常需要安装外部插件。在安装前,通常只能看到描述或演示,难以确知插件在运行时真实会触碰什么权限或注入什么内容。dsh-trust-check 提供静态能力披露。它基于代码判定,提供文件行号和原文片段作为证据,不消耗 token,也不提供“安全/可信”的结论。

安装与启用

若要使用 DeepSeek Harness 设置页中的体检功能,宿主版本需满足:

dsh --version
# 确保版本 >= 0.1.0-rc.8

安装插件:

dsh plugin --profile web add dsh-trust-check

如需升级,可指定 latest:

dsh plugin --profile web add dsh-trust-check@latest

安装后重启 dsh web,进入 设置 → 插件体检。

使用方式

插件提供 Web UI 和 CLI 两种使用方式,两者逻辑一致。

Web UI

Web UI 依赖宿主模块表里的 @deepseek-ai/dsh-client-store。如果宿主过旧或模块缺失,设置页可能加载失败。CLI 不依赖 DSH 宿主,旧版本 dsh 上仍可使用。

CLI

CLI 不依赖 DSH 宿主,适合作为 CI 闸门或本地审计工具。

# 审计默认 profile web
npx dsh-trust-check

# 审计其他 profile
npx dsh-trust-check --profile work

# 审计任意已解压的包目录(无需 profile、无需 DSH)
npx dsh-trust-check --dir ./path/to/plugin

# 指定 spec 并输出 JSON
npx dsh-trust-check --dir ./pkg --spec npm:foo@1.0.0 --json

# 用退出码做脚本 / CI 闸门
npx dsh-trust-check --dir ./pkg --exit-code

--dir 与 --profile 互斥。--json 输出为 AuditResponse 形状。

核心功能

插件从插件源码中提取静态事实:

  • 能力面:检测 shell、文件读写、网络、凭据、子代理、LLM 调用、环境变量。
  • 注入面:检测 cordis.patch.yml 中的 override 或 disable 操作,以及 systemPrompt 注入。
  • 来源面:验证来源(package.json 的 repository),检查是否锁定版本或提交。
  • 成本面:估算技能文本和 system-prompt 注入的 token 成本(参考值)。

报告解读

报告采用决策优先布局,阅读顺序如下:

  1. 决策:查看徽章、动作句及风险说明。
  2. 扫描:查看能力芯片、注入摘要、来源。
  3. 取证:查看证据(文件:行号 + 原文片段)。

常见裁决:
* 有红线:命中硬红线,默认应停用;需确认风险后继续。
* 风险已确认:已确认当前红线风险。
* 需确认:未见硬红线,但有特权能力或 patch 改动。
* 能力如预期:已确认当前能力与去向指纹一致。
* 静态未见风险信号:未见红线或特权能力;不代表安全保证。

红线(高置信度风险)

以下情况默认应拦截:
1. 声明 install / postinstall / preinstall 安装脚本(prepare 不算红线)。
2. cordis.patch.yml override / disable 了 @deepseek-ai/* 核心 bundle。
3. 读到凭据/密钥的值(如 credentials.resolve、keytar.getPassword 等)且有网络访问。
4. 非 localhost、非 RFC 1918 内网 IP 的明文 http:// 外连(字面量)且有 network。
5. 非 loopback、非文档例网、非 RFC 1918 内网(10/8、172.16/12、192.168/16)的字面量 IP 外连 且有 network。

集成与 API

插件导出稳定 API,供安装前确认弹窗或 CI 闸门使用:

import { auditPlugin, collectPlugin, verdict } from 'dsh-trust-check'

const report = auditPlugin(collectPlugin(extractedDir, spec))

// verdict 返回 'red' | 'review' | 'clear'
// verdict(report) === 'red'     → 命中高置信度风险信号,建议默认挡住
// verdict(report) === 'review'  → 带特权能力,建议展示能力清单
// verdict(report) === 'clear'   → 静态扫描未检出,不代表安全

注意事项

  • 非杀毒软件:插件不做安全承诺,不提供背书。过滤策略由集成方和用户决定。
  • 静态局限:静态扫描可能遗漏动态加载的能力(如 import('node:' + …))。
  • 不展开依赖树:目录遍历跳过 node_modules。
  • 退出码:默认退出码始终为 0。加 --exit-code 后,0 代表未检出,1 代表需确认,2 代表有红线,3 代表扫描失败。

总结

dsh-trust-check 是一个用于 DeepSeek Harness 插件的静态审计工具,通过代码分析提供能力披露和来源验证,适合在安装插件前进行快速筛查。

目录页 | GitHub

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

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

小夜