dsh-sandbox-permission-guard

by JachinShen

0 开发与运行时github未核验到 manifest收录于 08-16

从模型可见的 bash 和 write Schema 中隐藏无用的 sandbox permissions 和 justification ; 在原始 Bash 或文件写入权限验证前删除已经满足的遗留权限申请; 继续实际执行命令或文件写入,而不是只改写失败消息; 保留真正需要更高权限时的原始审批流程。

DSH Cordis plugin that prevents redundant sandbox escalation failures

安装

dsh plugin --profile web add github:JachinShen/dsh-sandbox-permission-guard

GitHub 源码安装:首次需按提示配置 allowBuilds 构建授权后重试

安装与环境配置指引、插件开发教程见 DSH 中文社区文档 ↗

安装即在你的机器上以你的权限运行第三方代码——它可读写文件、使用凭据、访问网络,DSH 的工具审批不会为插件代码加沙箱。「检测到 manifest」仅代表发现 dsh.bundle / dsh.plugin 清单,不构成兼容性或安全审查;安装前请审阅源码,不熟悉的插件先在不含密钥的环境试用。

README

目录

用于 DeepSeek Harness (DSH) 的 Cordis 插件。

当当前会话已经拥有足够的 sandbox 权限时,它会:

  • 从模型可见的 bash 和 write Schema 中隐藏无用的 sandbox_permissions 和 justification;
  • 在原始 Bash 或文件写入权限验证前删除已经满足的遗留权限申请;
  • 继续实际执行命令或文件写入,而不是只改写失败消息;
  • 保留真正需要更高权限时的原始审批流程。

解决的问题

会话已经是 danger-full-access 时,重复提交同级权限原本会导致:

Error: sandbox escalation to "danger-full-access" is not strictly wider than this call's current "danger-full-access" mode

本插件在 Agent 的实际工具作用域中覆盖 bash 和 write。正常调用不再看到权限参数;遗留调用即使携带冗余参数,也会清理后实际执行。write 的 diff 卡片展示钩子会完整保留。

安装

DSH 在线安装器使用:

https://github.com/JachinShen/dsh-sandbox-permission-guard

或安装 Git 依赖:

pnpm add github:JachinShen/dsh-sandbox-permission-guard

在 Host Cordis composition 中加入:

- id: sandbox-permission-guard
  name: dsh-sandbox-permission-guard

插件依赖 Host 的 agents 服务,并为当前及以后创建的 Agent 安装作用域内的 Bash 与 Write guard。

仅当当前权限等级已经大于或等于请求等级时删除冗余请求;真正的升级仍交给 DSH 原审批逻辑。

行为矩阵

当前权限 请求权限 行为
danger-full-access 无 正常执行
danger-full-access danger-full-access 删除冗余参数并执行
danger-full-access workspace-write 删除已满足的参数并执行
workspace-write workspace-write 删除冗余参数并执行
workspace-write danger-full-access 保留请求并走正常审批

以上判断同时适用于 bash 与 write。

测试

npm test

初始版本针对 DSH 0.1.0-rc.6 开发并验证。0.2.0 起同时覆盖 write。

License

MIT

原始 README: https://github.com/JachinShen/dsh-sandbox-permission-guard/blob/main/README.md ↗