🎁 福利专区全网大模型免费应用 + 新用户福利 + 注册活动入口,低成本玩转 AI
广告☁️ 云服务器特惠阿里云首购 8 折 · 腾讯云合作特惠
DeepSeek Harness Hub
← 返回列表

GooDAnDReaDY/dsh-approval-gate

DeepSeek 客户端兼容 / 相关生态spec-screened扫描:低风险在 GitHub 查看 ↗
未验证

📦 @goodandready/dsh-approval-gate

尚未跑自动兼容性验证,可查看页面内的依赖与入口分析。 · 最近上游提交 2026/9/24 · 已提供中文文档

DeepSeek Harness 的原生命令审批门禁。

综合分
29.9
GitHub 分
29.9
用户评分
—
★ Stars
0
周下载量
—
兼容 / 相关生态插件(非 dsh 原生,请按其对应运行时安装)
git clone https://github.com/GooDAnDReaDY/dsh-approval-gate.git
信任档位:已验证本站已于 0 天前真实安装成功
是什么
生态应用(桌面端 / Web 外壳,不以 dsh plugin add 安装)
装得上吗
本站已真实安装成功(非静态推断)
安全吗
本站尚未对该插件做风险分级(暂未覆盖,不等同于无风险)
还在维护吗
活跃:最近一次提交在 1 天前

档位由下列信号合成:本站实装验证(真实安装,当前最高到 L4)· 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。下方各区块是它的证据明细。 验证判据与等级说明 →

🟢实装验证通过· 2026/9/25
由本站实装验证器在真实 dsh 环境安装成功,非静态推断。
数据截至 2026/9/25(元数据每日更新 · 实装验证按队列轮转,单条结论的验证时间见上方)
依赖的 DSH / Cordis 模块
@deepseek-ai/cordis@deepseek-ai/schemastery
用户评分
还没有人投票,来当第一个
订阅周报,不错过优质插件更新
每周一封 · 高评分插件 + 新用户活动

README

由 DeepSeek 最新模型翻译生成
📦 @goodandready/dsh-approval-gate

DSH shell 命令的最后一道安全防线

🇬🇧 English •
🇨🇳 中文说明 •
🇷🇺 Русский

⭐ 如果您喜欢这个插件,请在 GitHub 上为它点亮 Star — 这能让我知道插件对您有用,并鼓励我继续开发和维护它。🐛 如果您发现 Bug 或希望增加功能,请使用任意语言在 GitHub 上提交 Issue — 我会评估您的建议,并在后续版本中实现有价值的改进。

概述

仅运行于 DSH 主机的安全插件:在工具正文运行前拦截危险的 bash 调用以及对受保护文件的写入。无法完整检查的命令会通过 DSH 原生审批流程请求确认;本插件不实现单独的审批口令。

完整覆盖表、限制和配置见 README.md。

从公开 npm registry 安装:

dsh plugin --profile web add @goodandready/dsh-approval-gate@0.1.3

v0.1.3 变更

这是以 @goodandready/dsh-approval-gate 身份发布到公开 npm registry 的首个版本。

变更说明:早期内部说明曾提到单独的操作者确认词。从 v0.1.3 起,无法确认的命令由 DSH 原生审批流程处理,本插件不定义自己的确认口令;新安装使用公开 npmjs 包。

本节说明 0.1.3 中的行为:扩展有界 shell 语法分析,并在无法确定语法或执行目标时请求 DSH 审批,同时保留对已识别破坏性操作和受保护文件写入的拒绝规则。

shell 分析器现在支持命令替换、反引号、进程替换、常见重定向(包括 2> 和 &>)、管道和 here-document,并递归检查嵌套 shell 命令及可执行展开。普通安全读取可以通过。展开的 Authorization 请求头需要审批,因为 curl 会把凭据作为进程参数接收。本包暂不提供安全的凭据 API 助手;请勿将令牌放入命令行参数。

语言服务是可选的;如果服务不可用,安全钩子仍会使用英文回退消息运行。

已识别的破坏性操作和受保护文件写入仍会被拒绝,包括递归 rm、进程信号、服务停止或重启、破坏性 SQL、受保护文件写入、git reset --hard、强制 git clean、mkfs、写入设备的 dd,以及将下载内容传给 shell。

未闭合或不支持的语法、动态命令名或重定向目标,以及无法检查内容的脚本文件,会通过 DSH 请求审批。审批不可用或配置为 approval=never 时,DSH 会拒绝请求。本插件不会读取脚本文件,也不实现独立审批口令。提示会显示规则名称和脱敏后的命令片段。这是有界 shell 分析器,并非完整 Bash 语法解析器。

架构与功能

| 模块 | 职责 |
|---|---|
| lib/index.js | 注册单调的 tools.guard 和 DSH 原生预执行审批钩子,并连接 shell 与文件写入检查器。 |
| lib/inspect.js | 对有界 shell 语法进行分词,检查 argv 和展开内容,应用危险命令与受保护写入规则,并返回通过、拒绝或请求审批的结果。 |
| lib/messages.js | 提供英文和简体中文规则名称、说明及脱敏提示。 |
| cordis.patch.yml | 声明 host 端插件包和可选工具配置。 |

graph LR
A[Agent tool call] --> B[dsh-approval-gate]
B -->|Safe and inspected| C[Tool runs]
B -->|Known dangerous| D[Denied]
B -->|Uncertain syntax or target| E[DSH approval]

已识别的危险操作会被拒绝。无法确认语法、命令名、参数、重定向目标或写入目标时,插件请求 DSH 审批。approval=never 时,DSH 仍会拒绝不确定请求。普通、安全且可检查的命令会通过。

覆盖范围

| 调用示例 | 结果 |
|---|---|
| rm -rf /tmp/x、sudo rm -r ... | 拒绝 |
| kill、pkill、killall | 拒绝 |
| systemctl stop/restart/disable | 拒绝;systemctl is-active 可通过 |
| service name stop/restart | 拒绝 |
| sqlite3 中的 DROP、ALTER 等破坏性 SQL | 拒绝 |
| 向 .env、credentials.yaml、settings.yaml 或 cordis.patch.yml 写入 | 拒绝 |
| 读取受保护配置、在普通文本中提及危险命令 | 通过 |
| 未闭合 heredoc、动态命令名或无法检查的脚本文件 | 请求 DSH 审批 |

配置

在 Cordis patch 的插件项中可选设置以下字段:

| 字段 | 类型 | 默认值 | 说明 |
|---|---|---|---|
| toolName | string | bash | 要检查 command 参数的工具名称 |
| fileWriteTools | string[] | write、edit、Write、Edit、str_replace、apply_patch | 按目标路径检查的文件写入工具 |

Cordis 配置示例

- insert:
- id: dsh-approval-gate
name: @goodandready/dsh-approval-gate
config:
toolName: bash
fileWriteTools:
- write
- edit
- Write
- Edit
- str_replace
- apply_patch

安装与限制

dsh plugin --profile web add @goodandready/dsh-approval-gate@0.1.3

本插件不添加 HTTP 路由或独立 CLI,也不读取脚本文件内容。它不是操作系统沙箱,不会检查 cron 或 systemd 自行执行的命令。

许可证

MIT © GooDAnDReaDY

上游仓库有新提交时邮件通知你(每天最多一封,无更新不打扰),随时一键退订。

💬 加入社群

插件用法、部署报错、新插件第一时间同步——群里问,比一个人翻文档快。

DPharness QQ 群二维码,QQ 扫码进群
QQ 扫码进群
DPharness 飞书群二维码,飞书扫码进群
飞书扫码进群