增加危险操作策略检查、输出脱敏和安全审查工作流。
安装
# GitHub 源码(首次需按提示配置 allowBuilds 构建授权后重试)
dsh plugin --profile web add github:lonelymoon87/dsh-guardian
GitHub 来源的插件在安装时会在你的机器上执行构建脚本。请只安装可信来源,并尽量锁定 commit(github:owner/repo#sha)。
README
面向 DeepSeek Harness 的运行时危险操作策略、规范结果脱敏和安全审查工作流。
可安装的 v0.1.2 面向 DSH 0.1.0-rc.6。本项目当前通过 GitHub Release 分发预构建包,尚未发布 npm 包。
MVP
- 在
tools/pre-executewaterfall 中检查 shell、SQL 和结构化文件写入参数,返回deny、ask或保持原决策; - 提供
standard、strict和permissive三档策略,同时保留不可关闭的拒绝规则; - 允许用正则表达式添加部署环境专属的
deny或ask规则; - 在
tools/post-executewaterfall 中对规范 JSON 结果、失败输出、渲染文本和拦截反馈做统一脱敏; - 把连续文本块作为一段内容扫描,避免通过跨块拆分密钥绕过检测;
/security-review加载内置的只读安全审查技能。
本插件不是进程沙箱、授权系统或完整的数据防泄漏服务,也不会取代下游 provider 已有的安全策略。
策略行为
内置规则会拒绝对根目录或用户目录执行递归强制删除、把网络响应直接管道传给 shell、向 /dev 写入原始数据以及写入 /etc。强制推送、破坏性 SQL 和其他递归强制删除会要求审批。严格模式还会要求审批 sudo,宽松模式只保留拒绝规则。
Guardian 始终调用 next()。当其他策略监听器也返回决策时,插件保留更严格的结果,优先级依次为 deny、ask、allow。
脱敏行为
内置模式覆盖 AWS access key ID、GitHub token、sk- API key、PEM 私钥块和常见凭据赋值。存在规范 JSON 值时,插件优先脱敏该值,并保留数组、对象、数字、布尔值和 null 的结构。这样可以避免 Code Mode 或后续渲染器在安全显示文本背后继续持有未脱敏结果。
日志只记录工具名、匹配数量和脱敏标签,不记录秘密内容。插件不会追加自定义会话事件,因为当前外部插件 API 无法声明 ignorable 事件信封。写入必须识别的未知事件会导致用户卸载插件后无法读取旧会话。
安装
当前代码面向 DSH 0.1.0-rc.6 插件 API,要求 Node.js ^22.19 || >=24。
dsh plugin --profile web add https://github.com/lonelymoon87/dsh-guardian/releases/download/v0.1.2/dsh-guardian-0.1.2.tgz
Release tarball 已预构建,不需要构建权限。也可以固定版本从源码安装。
dsh plugin --profile web add github:lonelymoon87/dsh-guardian#v0.1.2
源码安装会运行本包的 prepare 构建。pnpm 10 及以上版本默认拒绝执行,第一次安装失败时请按 DSH 输出的提示,将准确的包键加入 profile 的构建白名单,然后重新执行同一条命令。需要装进一次性 Agent profile 时,把命令中的 web 换成 headless。
升级时用新版本的 Release URL 再执行一次 dsh plugin add。卸载时执行
dsh plugin --profile web remove dsh-guardian
配置
- id: guardian
name: dsh-guardian
config:
profile: standard
rules:
- name: production-host
pattern: production\\.internal
action: ask
reason: production target requires review
redaction:
enabled: true
patterns:
- label: internal-token
pattern: INT_[A-Z0-9]{12}
正则 flags 只允许 i、m、s 和 u。表达式或标签无效时,插件会在加载阶段明确失败。
发布验证
测试覆盖全部内置规则的正反例、结构化路径、策略组合、嵌套规范值、自定义凭据、跨块秘密、禁用脱敏、命令分派和非法配置。
- v0.1.2 tarball 已从 HTTPS Release URL 直接安装进全新 DSH profile;
- pack 产物与固定版本 GitHub 源码安装均通过
dsh --dump-config检查; - CI 覆盖 Node 22.19 与 Node 24,定时任务会用
@deepseek-ai/dsh@latest重跑真实安装; - bug 与兼容性问题统一进入 GitHub Issues。
许可证
链接
同类插件
hust-open-atom-club/oh-dsh★ 161
社区发行版:TUI、桌面端与 Web UI 统一体验,分层安装、一步到位。
Jayden-X-L/forkprobe★ 65
同一任务并行试跑多个技能,对比结果选出最优。
vlln/plugin-registry★ 33
插件生态基建:浏览器面板管理官方 repository 插件(0 patch)+ make-dsh-plugin 插件开发引导技能。
forrestchang/dsh-multica-runtime★ 28
让 dsh 运行时跑在 Multica 上。
DietCokewithSugar/dsh-user-experience★ 18
帮你发现项目中可能存在的用户体验问题:自动走查 React/TypeScript 源码,定位问题并给出具体优化建议。
omdsh-dev/dsh-plugin-check★ 17
插件健康检查:扫描清单协议/patch 格式/构建陷阱,零依赖只读。