注入守则并拦截受保护路径与插件的误改
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 安装
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
活跃:最近一次提交在 22 天前
档位由哪些信号合成
本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。
社区实装还没有人打卡 · 装过的第一个就是你
安全扫描自动 · 静态分析源码v2.7.0🔵 扫描:含敏感能力尚无人工评估展开查看扫描说明与证据 ↓
安全扫描自动 · 静态分析源码
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预览分享卡片长什么样 ↓
分享 · DeepSeek Harness Hub
Hashing2030/dsh-bulwark
注入守则并拦截受保护路径与插件的误改
相关插件 · 安全 / 权限
智能体逆向工程morluto/rea
用智能体逆向工程任何东西,从应用行为到原生二进制。
★ 415,267已汉化DSH
73.3
智能体集群框架ruvnet/ruflo
面向 Claude Code 与 Codex 的智能体元基座meta-harness。
★ 80,414已汉化MCP
71.9
WorkBuddy 模型接入corrinehu/dsh-workbuddy-connect
2026 年 10 月 20 日起,WorkBuddy…
★ 1,604已汉化DSH
71.7
破甲一键通z91772524-ai/pojia-next
十五个 AI…
★ 967已汉化DSH
71.6
AI 代理虚拟终端strukto-ai/mirage
Mirage 是给 AI 智能体用的虚拟终端:一层 shell,统管数据、命令行和运行时。Unix…
★ 3,756已汉化DSH
70.8
Agent 操作层agentic-os-org/ANOLISA
ANOLISA(Agentic Nexus Operating Layer & Interface System Architecture)|智能体操作系统,带运行时、安全、可观测性,以及 Tokenless 响应压缩,降低 token 用量与成本。
★ 649已汉化DSH
70.7