← 返回列表
D

@ohtokaah-sys/dsh-gates

v0.1.1 · 4 天前发布

机械门禁插件:tools/pre-execute 两个可叠加守卫(文件名安全 §2C + 凭据泄露 §14),迁移自 Hermes l0-safety-guard。

dshdsh-plugindeepseek-harnessguardsafetysecuritygate

README

@ohtokaah-sys/dsh-gates

机械门禁 插件:两个代码级守卫,在 tools/pre-execute 阶段拦截不安全的文件写入——文件名安全 + 凭据泄露。不是 prompt 规则,是代码拦截,物理上无法绕过。

它解决什么问题

「写在提示词里求 agent 别写危险文件 / 别泄密钥」是不可靠的——模型会忘、会忽略(「文本存在 ≠ 被遵守」)。这个插件把规则变成拦截在工具真正执行之前的代码,agent 想绕过也不可能。

两个守卫

守卫 1 · §2C 文件名安全

write / edit 工具的 file_path,拦截:

  • 含 emoji(可能导致 NAS/SMB 静默失败)

  • 含 Windows 保留字符(/ : * ? < > |

  • 含控制字符

  • 尾随空格或点号

  • 前导连字符
  • 守卫 2 · §14 凭据泄露

    writecontent / editnew_string,拦截疑似明文密钥:

  • sk- + 20 位以上字符(DeepSeek / OpenAI 风格)

  • api_key / apikey / api-key 后接 =: + 长值
  • 场景例子

    | 场景 | 结果 |
    |---|---|
    | write("报告😀.md", ...) | 🚫 拦截:「文件名含 emoji」 |
    | write("config.md", "DEEPSEEK_API_KEY: sk-…") | 🚫 拦截:「凭据泄露,请改用环境变量」 |
    | write("正常文档.md", "普通内容") | ✅ 放行 |
    | write("a:b.md", ...) | 🚫

    版本兼容矩阵

    DSH 版本状态说明
    dsh@0.1.0-rc.6 ❓ 未知 metadata 缺失
    dsh@0.1.0 ❓ 未知
    dsh@0.2.0 ⚠️ 待验证 待实测(API 可能在变)
    dsh@0.3.0+ ❓ 未知 尚未发布

    💡 兼容矩阵每周末自动跑实测,欢迎 PR 修正

    元数据

    License
    MIT
    npm
    @ohtokaah-sys/dsh-gates
    Repo
    Engines
    {}
    Weekly DL
    0
    Monthly DL
    0
    dsh.bundle
    {}