DeepSeek Harness(DSH)允许用户通过插件扩展功能,将大模型与系统工具连接。但在将工具调用能力交给 AI 时,直接暴露系统命令行或文件系统权限存在安全风险。dsh-plugin-tool-guard 插件旨在为 DSH 提供一个运行时的安全守卫层,在不修改 Agent 业务代码的前提下,拦截危险操作并限制访问范围。
插件概况¶
该插件由 zhaoxuejie 维护,属于 admin-security 类别。它通过内置规则引擎和人工审批机制,对每一次工具调用进行拦截、放行或审计。
核心功能¶
插件提供以下核心能力:
- 危险命令黑名单:内置正则表达式,直接拦截
rm -rf、mkfs、dd、shutdown等危险命令。 - 敏感文件黑名单:使用 glob 模式(如
.env、*.pem、id_rsa)禁止 AI 读取敏感文件。 - 路径白名单:限制 AI 只能操作指定目录(默认为当前工作目录),防止通过
../绕过。 - 写入保护与人工审批:覆盖已有文件或删除文件需人工审批,创建新文件通常放行。
- 审计日志:记录每次调用的时间、会话、脱敏入参及决策结果,支持会话隔离。
- 三档安全级别:支持
loose(宽松)、standard(标准,默认)、strict(严格)三种模式。 - 管理工具:提供
guard_*系列工具、HTTP 端点及 GUI 面板进行统一管理。
安装与启用¶
插件是 DSH 原生插件,需安装到特定的 profile 中才能生效。安装命令如下:
dsh plugin --profile web add dsh-plugin-tool-guard
安装完成后,需重启 DSH 或重新加载 profile。卸载时使用:
dsh plugin --profile web remove dsh-plugin-tool-guard
典型用法¶
安装并启用后,插件会根据配置拦截不符合规则的请求:
- 拦截敏感文件:AI 请求「读取项目里的 .env」,会被拒绝(命中敏感文件黑名单)。
- 拦截危险命令:AI 请求「执行 rm -rf D:」,会被拒绝(命中危险命令黑名单)。
- 路径限制:AI 请求读取工作区外的文件(如
C:\Windows\win.ini),会被拒绝。 - 人工审批:在
strict级别下,AI 请求「写一个新文件 demo.txt」,会弹出审批卡,需人工确认。
注意事项¶
- 零侵入:该插件不修改 Agent 业务代码,挂载即生效,卸载即失效。
- 审计日志:默认情况下,审计日志仅保存在内存中。若配置
audit.keepAfterUnload: true,卸载时可将日志归档到~/.deepseek-harness/audit/目录。 - 权限限制:插件以当前 DSH 进程的权限运行,安装前应检查源码与许可证。
参考资料¶
- GitHub 仓库:https://github.com/zhaoxuejie/dsh-plugin-tool-guard
- 社区目录:https://www.skillhub.cn/plugins/zhaoxuejie/dsh-plugin-tool-guard