dsh-baseline:为 DeepSeek Harness 提供 fail-closed 安全基线的 DSH plugin
bbo777/dsh-baseline
为 DeepSeek Harness 提供 fail-closed 安全基线:拦截网络出口、收紧子代理权限上限,并把每次工具判定与结果写入可校验哈希链。
dsh-baseline 是面向 DeepSeek Harness 的安全基线插件,把网络出口、子代理权限上限与审计记录收拢成一套可验证的机制。它针对工具名层面权限控制挡不住的三类逃逸:网络出口、子代理继承,以及谁在何时基于什么理由放行了什么。插件坚持 fail-closed,任何无法验证的判定、审批缺失或超时、lineage 断裂、审计库不可用都会拒绝并说明原因;同时把破坏性系统命令与设备原始写入设为不可推翻的底线。它只使用官方公开扩展点,可与权限拦截、全局审计类插件共存。
如何安装
dsh plugin --profile web add dsh-baseline- 分类
- 开发与运维
- 平台
- DSH Plugin
- 作者
- bbo777
- 分发方式
- 插件
dsh-baseline 核心特性
dsh-baseline 仓库简介
它是做什么的?
Baseline 是 DeepSeek Harness(DSH)的安全基线插件,把网络出口、子代理权限上限和审计记录做成同一套可验证的机制。它解决的是「工具名层面做权限控制」挡不住的三类逃逸:网络出口、子代理继承、以及谁在何时基于什么理由放行了什么。插件采用 fail-closed 策略,任何不确定的判定、审批缺失或超时、子代理 lineage 断裂、审计库不可用,一律拒绝并给出明确原因。它只使用 DSH 官方公开的扩展点与事件,不魔改源码,由 bbo777 维护,采用 MIT 协议。
核心功能
- 网络出口独立成层:私网、回环、链路本地、CGNAT 与云元数据等内部主机名默认阻断,支持主机白名单、按会话出口预算和严格模式逐个审批,网络命令与 URL 在 pre-execute 中提取、在 guard 中二次复核。
- 子代理权限单调上限:沿 session.header.parentSession 回溯祖先并重放同一次调用的策略,在 ctx.tools.guard() 中执行,guard 只有拒绝或不干预两种结果,后注册的 listener 无法放宽。
- 哈希链审计:每一次判定与结果写入同一条 SHA-256 哈希链,写入前脱敏,verifyChain() 返回第一条断链记录,客户端只读查询、不直接接触 SQLite。
- 不可推翻的底线规则:破坏性系统命令与对设备、内核接口的原始写入无条件优先于所有自定义规则,配置文件和面板都无法关闭。
- 与相邻插件互补共存:不替代权限分类,只守网络、子代理上限、凭据与破坏性操作这几条底线,可与权限拦截、全局审计类插件同时使用。
怎么使用这个插件?
在 DSH 中启用后,左侧栏会出现「基线审计」入口,面板与 HTTP API 依赖 Web 模式运行。日常使用时无需额外操作,插件在每次工具调用前后自动判定并记录;需要调整时,在配置文件中修改 blockedCIDRs 等策略项,或通过 guard 开关显式关闭凭据读取拒绝与子代理上限,面板不能关闭这些开关。严格模式下每个网络出口都会走 DSH 标准审批流程。注意它不覆盖恶意插件直接调用原生进程、Code Mode 的 worker thread 逃逸,也不解析 DNS,这些场景需要进程级隔离或容器策略。
报错怎么排查?
插件在无法验证时一律拒绝执行,报错信息会写明拒绝原因:审批缺失或超时需检查 DSH 审批流程是否正常;子代理 lineage 断裂需确认会话的 parentSession 链完整;审计库不可用通常是运行环境缺少 node:sqlite 支持,按官方说明修复运行环境即可。若面板或 HTTP 路由不出现,先确认 DSH 以 Web 模式运行。
本页是基于该插件官方 README 独立重写的导读——权威文档和最新变更请以源头为准:bbo777/dsh-baseline。插件是安装时就在你机器上运行的第三方代码;收录不代表背书——安装前请自行审阅源码。
DSH Plugin 常见问题
