DSH Plugins
返回列表
🧩

safety-net

admin-security 更新于 2026.08.25

在终端中运行以下命令:

dsh plugin install JohnXu22786/safety-net

将以下提示词粘贴到 DeepSeek Harness 对话框中:

在 DeepSeek Harness 中执行 dsh plugin install JohnXu22786/safety-net 即可安装,完整源码见 https://github.com/JohnXu22786/safety-net

插件介绍

让 AI 编码代理接管终端后,一条 rm -rf / 或 git push --force 就可能让数天的工作灰飞烟灭。沙箱能挡住文件逃逸,却拦不住代理"合法地"调用 git reset --hard 丢弃整个工作树,或 rm -rf 删除工作区中未纳入版本控制的文件。你需要的不是把代理关进笼子,而是在不可逆操作真正落地之前,有一个"等一下,你确定吗?"的确认关卡。<br>safety-net(Barricade)就是这个关卡。它自带一套 POSIX 词法分析器,对命令做语义级解析而非简单的字符串匹配,能识破 bash -c "rm -rf /"、sudo 包裹、eval 嵌套、命令替换 $(…) 等各种绕过手法。内置 41 条分级规则,覆盖 git 危险操作(13 种形态,支持长参数前缀与短参数解绑)、rm 按目标范围分三档(根目录/家目录/.git 为致命级,工作区外为高危,工作区内为中危)、dd/mkfs/shred、fork bomb、curl|sh、解释器内嵌删除等场景。安全策略分为 relaxed / balanced / vigilant 三级,将严重度逐层映射为 deny、ask、allow 动作,fatal 级规则不可被降格放行。命中后在终端弹出交互确认,展示命令原文与匹配规则,你可选择单次放行、拒绝、本会话允许或写入策略永久允许;非 TTY 环境一律 fail-safe 拒绝。所有拦截与确认记录以 JSONL 持久化审计,疑似敏感字段自动脱敏。整个插件零运行时依赖,纯 Node.js ESM 实现,判核心与具体 harness 完全解耦,支持 dsh 进程内插件、stdin-hook JSON 契约、gate shell wrapper 三种接入方式,也可在任意 Node 宿主中以内置函数复用。<br>如果你正在让 AI 编码代理操控 shell、又不想以"禁止一切命令执行"为代价,safety-net 是一个轻量、可审计、不限制代理能力的确认护栏。它不做沙箱、不做权限剥离,只做一件事:在不可逆操作执行前,把最终决定权交回给你。

使用场景

  • AI 编码代理执行 git reset --hard、rm -rf 等破坏性操作前自动拦截并要求人工确认
  • 多种 agent harness(dsh、stdin-hook、gate wrapper)统一复用同一套命令风险判定核心
  • 安全团队回溯 agent 历史上所有被拦截或确认放行的破坏性命令记录

适合人员

  • 让 AI 编码代理执行 shell 命令、需要最后一道人工确认的团队
  • 构建或运维多种 agent harness、希望复用同一安全判定逻辑的工程师
  • 关注 agent 操作可审计性与合规性的安全或运维负责人