DeepSeek Harness 插件介绍:gabrip780/dsh-hidden-paths

前言

DeepSeek Harness (DSH) 的内置权限词汇通常仅限制写入操作,读取操作往往缺乏限制。这使得 AI 代理在执行 cat .env 或打开 ~/.ssh/id_rsa 等操作时处于不受控状态。gabrip780/dsh-hidden-paths 作为一个策略守卫插件,旨在通过插件层拦截这些不应被读取的文件和路径,防止 AI 代理意外或恶意读取敏感信息。

核心功能

该插件主要具备以下能力:

  • 多渠道拦截:阻止 AI 代理通过文件工具(如 read、edit)、Shell 命令(如 cat、ls)、搜索选择器以及 run_code 执行代码来访问隐藏的文件和文件夹。
  • 自动脱敏:自动识别并脱敏凭证格式(如 OpenAI/Anthropic 密钥、JWT、GitHub/GitLab 令牌等),在结果中将其标记为 [redacted:kind]。
  • 默认保护:默认保护 .env、.ssh、.aws 等敏感文件和目录。
  • 结果屏蔽:在工具返回的结果中,将隐藏路径的名称统一显示为 [hidden]。
  • 双层机制:采用 Layer 1 路径拒绝和 Layer 2 结果过滤。Layer 1 在工具执行前进行路径拒绝;Layer 2 在执行后过滤结果,负责脱敏和路径名称屏蔽。

安装与启用

通过官方命令安装插件并激活 profile 层:

dsh plugin --profile web add dsh-hidden-paths

安装后需重启 dsh 服务器以加载新模块。

插件由 bundle 层自动插入配置,不要在配置中手动添加 insert 块。若需调整配置,请使用 id-targeted override 覆盖默认设置。

典型用法

在配置文件中添加需要隐藏的路径:

- id: dsh-hidden-paths
  config:
    hiddenPaths:
      - /home/you/private          # 隐藏文件夹及其子目录
      - /etc/app/master.key        # 隐藏单个文件

通过覆盖配置激活插件(不要使用 insert 块):

- id: dsh-hidden-paths
  config:
    hiddenPaths: []
    maskResults: true
    hidePathsInResults: true

适用场景与注意

该插件适合需要在项目中限制 AI 代理访问敏感目录和文件的开发者。但在使用时需注意以下局限性:

  • 策略守卫而非沙箱:这是一个运行在应用层的策略守卫,不是内核沙箱。它无法阻止通过 run_code 执行任意代码、硬链接、读取 /proc 目录或通过环境变量拼接路径等手段绕过保护。
  • 配置容错:配置中的字符串会被视为单个条目;相对路径会相对于当前工作目录解析。如果配置无法读取,插件会拒绝所有工具调用。
  • 脱敏范围:脱敏规则仅针对明确的令牌格式,不会破坏普通源代码(如 const api_key = ...)的内容。

结语

gabrip780/dsh-hidden-paths 是 DeepSeek Harness 生态中用于增强安全性的重要工具。通过配置路径黑名单和默认规则,可以有效降低 AI 代理泄露敏感信息的风险。更多详情请参考 SkillHub 插件目录 或 GitHub 仓库。

羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

小夜