🎁 福利专区全网大模型免费应用 + 新用户福利 + 注册活动入口,低成本玩转 AI

护栏守则 Hashing2030/dsh-bulwark

DeepSeek 客户端
Hashing203022 天前有提交已提供中文文档扫描:含敏感能力兼容 / 相关生态

注入守则并拦截受保护路径与插件的误改

29.9/100
综合分
0
GitHub 星标
—
npm 周下载
—/5
用户评分

数据截至 2026/10/10 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。

相关生态插件(非 dsh 原生,按其对应运行时安装)
git clone https://github.com/Hashing2030/dsh-bulwark.git

状态速览

判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态
信任档位:仅索引
是什么
生态应用
桌面端 / Web 外壳,不以 dsh plugin add 安装
装得上吗
本站尚未做安装检查
L4 · 真实安装等级说明 →
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
活跃:最近一次提交在 22 天前
档位由哪些信号合成

本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。

验证判据与等级说明 →
社区实装还没有人打卡 · 装过的第一个就是你
安全扫描自动 · 静态分析源码
v2.7.0
🔵 扫描:含敏感能力尚无人工评估
展开查看扫描说明与证据 ↓

静态扫描发现插件具备触达本地系统的能力:执行外部命令、读写/删除本地文件、读取剪贴板或密钥类环境变量(至少其一)。这是能力清单,不是危险判定——具体能力项与证据见下方,安装前请自行判断是否需要。

读写/删除本地文件
查看扫描证据(共 6 处,展示前 6 条)
  • 读取本地文件
    dist/index.js:227
    parsed = JSON.parse(readFileSync(configPath, "utf8"));
  • 读取本地文件
    dist/index.js:255
    const raw = readFileSync(configPath, "utf8");
  • 读取本地文件
    dist/index.js:801
    cwd = absolute !== void 0 && existsSync(absolute) ? absolute : void 0;
  • 写入本地文件
    dist/index.js:908
    mkdirSync(configDir, { recursive: true });
  • 读取本地文件
    dist/index.js:914
    lastMtime = statSync(CONFIG_PATH).mtimeMs;
  • 读取本地文件
    dist/index.js:920
    const stat = statSync(CONFIG_PATH);
扫描于 2026/10/31(1 天前) · 范围 入口闭包 + 发布文件清单 · 来源 GitHub 仓库

静态扫描只反映源码中出现的调用,不构成安全背书;人工评估与自动扫描相互独立、互不覆盖。

依赖的 DSH / Cordis 模块
@deepseek-ai/cordis
给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个

功能亮点

  • 注入守则
  • 拦截受保护路径误改
  • 拦截插件误改

DSH 插件:强制 AI 规则,防止工具和路径被误改。

README

由 DeepSeek 最新模型翻译生成
dsh-bulwark DSH 插件:向 systemPrompt 注入守则段,并在工具调用层拦截受保护路径的修改与受保护插件的卸载。 功能 - 守则注入:把一个可配置的守则段写进 systemPrompt,位置由中心顺序表推导。 - 路径保护:拦截对 protectedPaths 内路径的写 / 删 / 移动(含相对路径与 cd 链解析、重定向、dd / truncate / tee、python / node 内联脚本)。 - 插件卸载保护:命中 protectedRemovalPatterns 关键词的卸载 / 删除命令一律拦截。 - 配置热重载:监听 config.json,改动后无需重启。 - 逃生通道:一个环境变量即可完全禁用。 安装 dsh plugin add github:Hashing2030/dsh-bulwark 安装后重启 DSH 生效。 首次启动会看到一行提示: [dsh-bulwark:config] watcher unavailable, config changes need a restart: ENOENT... 这不是错误。它表示 config.json 还没创建,热重载暂未启用。创建配置文件后此提示自动消失。
展开完整文档(README 剩余 1 节)
dsh-bulwark

DSH 插件:向 systemPrompt 注入守则段,并在工具调用层拦截受保护路径的修改与受保护插件的卸载。

功能

- 守则注入:把一个可配置的守则段写进 systemPrompt,位置由中心顺序表推导。
- 路径保护:拦截对 protectedPaths 内路径的写 / 删 / 移动(含相对路径与 cd 链解析、重定向、dd / truncate / tee、python / node 内联脚本)。
- 插件卸载保护:命中 protectedRemovalPatterns 关键词的卸载 / 删除命令一律拦截。
- 配置热重载:监听 config.json,改动后无需重启。
- 逃生通道:一个环境变量即可完全禁用。

安装

dsh plugin add github:Hashing2030/dsh-bulwark

安装后重启 DSH 生效。

首次启动会看到一行提示: [dsh-bulwark:config] watcher unavailable, config changes need a restart: ENOENT...
这不是错误。它表示 config.json 还没创建,热重载暂未启用。创建配置文件后此提示自动消失。

配置

配置文件路径:$DSH_HOME/dsh-bulwark/config.json(DSH_HOME 未设置时退回 ~/.dsh)。

完整默认值:

{
"rulesText": "[dsh-bulwark 守则] 部分工具和路径受保护,不要尝试绕过。",
"protectedPaths": [],
"protectedRemovalPatterns": [
{ "keywords": ["dsh plugin", "remove", "dsh-bulwark"] },
{ "keywords": ["dsh plugin", "remove", "dsh-plugin-host-template"] },
{ "keywords": ["dsh plugin", "remove", "dsh-plugin-client-template"] },
{ "keywords": ["pnpm", "remove", "dsh-bulwark"] },
{ "keywords": ["npm", "uninstall", "dsh-bulwark"] }
]
}

字段说明见 CONFIG.md。

用 CLI 管理配置(推荐)

不建议手改 JSON。用 scripts/protect.sh:

从插件安装目录进入(路径按实际 profile 替换)
cd ~/.dsh/profiles/web/node_modules/dsh-bulwark

./scripts/protect.sh add /path/to/protect
./scripts/protect.sh list
./scripts/protect.sh remove /path/to/protect
./scripts/protect.sh test "rm -rf /path/to/protect/foo"
./scripts/protect.sh set-rules "[dsh-bulwark 守则] 新的守则内容"

也可以克隆一份仓库,用仓库里的脚本操作同一个配置文件:

git clone https://github.com/Hashing2030/dsh-bulwark
cd dsh-bulwark
./scripts/protect.sh add /path/to/protect

完整命令说明见 SCRIPT-USAGE.md。

逃生通道

DSH_FORTRESS_DISABLE=1 dsh web

设置这个环境变量后,DSH 启动时完全不加载 dsh-bulwark。清除即恢复。

变量名 DSH_FORTRESS_DISABLE 中的 FORTRESS 是项目旧名(dsh-fortress)的遗留。改名时保留它是为了不破坏已有配置。

本地开发

pnpm install
pnpm build # tsdown → dist/index.js
dsh web --patch cordis.yml # 用源码路径加载,不用装

测试

pnpm test:e2e # 71 条端到端回归

相关文档

- 配置说明
- 脚本用法
- 灾难恢复
- 测试说明
- 迁移记录

许可证

MIT
预览分享卡片长什么样 ↓Hashing2030/dsh-bulwark
分享 · DeepSeek Harness Hub
Hashing2030/dsh-bulwark

注入守则并拦截受保护路径与插件的误改

回到顶部