前言¶
DeepSeek Harness(DSH)运行在宿主机的 Node 进程权限下。当通过 dsh plugin add 安装插件时,底层的 prepare / preinstall 等生命周期脚本会在插件 apply() 之前执行。此外,Agent 调用 MCP 或外部工具时,拥有读写本地文件、密钥和发送数据的权限。传统的“安装完再加载”的插件机制无法拦截这些安装阶段的恶意行为。
dsh-shield 是一个安全、信任与策略层,旨在解决上述问题。它不依赖“盲目信任”来运行工具,而是通过“验证”来构建安全边界。
是什么¶
dsh-shield 是 DeepSeek Harness 的安全防火墙。它采用两层架构,共用同一套安全模型,在安装前和运行时拦截风险:
- 预检扫描器(CLI):在
dsh plugin add之前,下载、解包并解析目标代码,但不执行它。通过 AST(抽象语法树)分析源码,而非简单的正则匹配。 - 运行时护栏(Harness Plugin):在 Harness 内部拦截工具调用、MCP 交互和数据出口。它挂在官方的
tools/pre-execute和ctx.tools.guard()上。
核心功能¶
基于已核实事实,dsh-shield 提供以下能力:
- 预安装扫描:对目录、压缩包、GitHub 仓库或 npm 包进行静态扫描,检查源码风险。
- 运行时拦截:在工具执行前介入,根据策略返回
allow、ask或deny。 - 操作后审计:记录所有安全决策和操作日志。
- MCP 安全管理:区分“未知”与“已审查”的 MCP Server,控制读写权限。
- 数据出境控制:根据数据分级(public, internal, personal, confidential, credential, secret)限制数据流出本机。
- Prompt Injection 检测:识别指令腔,并结合行为策略进行拦截(如
SHIELD-INJECT-002)。 - 多级策略:支持
permissive(宽松)、balanced(平衡,默认)、strict(严格)、enterprise(企业)四种策略档位。 - 信任清单生成:生成包含包名、来源、Commit、风险分和能力的 JSON 文件,用于信任库管理。
安装与启用¶
使用前需准备 Node.js 20+ 和 pnpm。
1. 安装预检扫描器(CLI)¶
在安装任何 Harness 插件之前,先安装并构建 dsh-shield CLI:
git clone https://github.com/245678000000/dsh-shield.git
cd dsh-shield
pnpm install
pnpm build
pnpm link --global
验证安装是否成功:
dsh-shield --help
dsh-shield doctor
2. 安装运行时护栏(Plugin)¶
安装到 DeepSeek Harness 的本地目录(注意:不要直接 git 安装源码,除非已扫描并锁定 SHA):
dsh plugin --profile web add /你的路径/dsh-shield
安装后重启 dsh web(或对应 profile)。默认策略为 balanced。自定义策略文件位于:
~/.dsh-shield/policy.yaml
典型用法¶
安装完成后,可以在安装插件前或运行期间使用以下命令。
预检扫描¶
扫描一个会拉起进程的合成插件(不会执行它):
dsh-shield scan ./fixtures/plugins/process
扫描结果会显示风险等级(如 HIGH / REVIEW BEFORE INSTALLING)。扫描干净插件则显示无高风险发现:
dsh-shield scan ./fixtures/plugins/clean
信任与策略管理¶
生成信任清单,记录包的元数据和风险:
dsh-shield manifest ./fixtures/plugins/process
检查特定目标的策略匹配情况:
dsh-shield policy check <target>
对比不同版本的扫描结果:
dsh-shield diff old.json new.json
适用场景与注意¶
- 适用场景:需要在 DSH 中管理大量第三方插件或 MCP Server 的开发者;对数据出境敏感的团队;需要审计 Agent 行为的安全运营团队。
- 关键注意:
- dsh-shield 不会对目标运行
npm install或require(),仅做 AST 分析。 - 它不声称 100% 安全,也无法证明任意插件绝对无害。
- 如果策略配置损坏,系统会采取“fail closed”(拒绝)策略,不会静默放行。
- 该插件不依赖 Fork AgentLoop 或修改 Harness 源码,而是通过官方提供的钩子接入。
- dsh-shield 不会对目标运行
短结尾¶
dsh-shield 通过“扫描-分类-拦截-审计”的闭环,为 DeepSeek Harness 提供了一层实用的安全护栏。它不保证完美防御,但能在安装前发现风险,在运行时控制敏感操作,是构建可信 Agent 工具链的必要组件。
更多详情与源码:
* GitHub: https://github.com/245678000000/dsh-shield
* 插件目录: https://www.skillhub.cn/plugins/245678000000/dsh-shield