在 DeepSeek Harness (DSH) 环境下开发智能体时,手动复制粘贴 API 密钥是高频操作。这种操作极易导致密钥泄露进日志或模型上下文。DSH 本身不提供针对粘贴行为的拦截机制。
下面介绍 dsh-airbag,这是一个非侵入式安全插件,用于拦截粘贴给 Agent 的 API 密钥、追踪泄露事件、阻止密钥写入,并提供首次工作区安全体检。
插件定位¶
dsh-airbag 是由开发者 uwu9039 维护的管理安全类插件(MIT 许可证)。它的核心价值在于在 DSH 生态中构建一层针对密钥的安全防护网,通过检测粘贴和写入行为,防止敏感信息意外暴露。
核心功能¶
插件主要包含以下几类安全能力:
- 粘贴拦截(A1):在用户向输入框粘贴内容时同步检测。内置 45+ 种密钥模式(DeepSeek、OpenAI、AWS、GitHub PAT、JWT、PEM 私钥等),支持按设置执行阻止、脱敏或警告操作。所有判定在客户端完成,明文密钥不会发送给模型。
- 写入拦截(A2):检测模型在执行工具调用(如
write、edit、bash、run_code)时是否携带密钥参数。提供硬拦截或转交原生审批通道两种处置方式。 - 审批疲劳洞察(B):作为原生审批链的观察者,统计决策耗时,标记“盲批”(<2s 授予)与“疲劳时段”(30 分钟内密集批准)。
- 边角通知中心(G1):提供四级通知(L0 静默、L1 角标、L2 Toast、L3 常驻),支持 5 分钟窗口内同类事件聚合与全局免打扰。
- 首次安全体检(G6):对工作区进行只读扫描,检查
.env文件、凭据文件、内嵌密钥等,仅报告掩码片段。 - 隐私优先:明文密钥永不落盘、不入日志、不入遥测。仅持久化掩码片段(如
sk-0***cdef)与 SHA-256 前缀。
安装与启用¶
使用 npm 安装插件,安装完成后重启 DSH Web 界面。
dsh plugin --profile web add dsh-airbag
安装成功后,DSH 界面右下角会出现 🛡️ Airbag 按钮。首次运行时,按钮带有角标,提示进行安全体检。
典型用法¶
- 打开面板:点击右下角的 🛡️ 按钮。
- 执行体检:在面板的“体检”标签页输入工作区路径,运行只读安全扫描。
- 配置拦截策略:在“设置”标签页配置默认处置方式(阻止 / 脱敏 / 警告)及通知级别。
- 自定义规则:插件支持自定义规则。配置文件位于
~/.dsh/airbag/rules.yaml。
示例配置如下:
- pattern: 'INT_[A-Z0-9]{12}'
label: 内网 Token
action: block
severity: high
notice: 3
注意事项¶
- 系统要求:运行插件需要 Node.js
^22.19 || >=24及pnpm环境。 - 隐私机制:请确认插件配置中的隐私优先策略生效,明文密钥不会被存储。
- 职责边界:读取方向的内容脱敏由
dsh-guardian插件负责,dsh-airbag仅关注粘贴和写入拦截。 - 卸载:如需移除,执行
dsh plugin --profile web remove dsh-airbag。
dsh-airbag 通过拦截粘贴和写入行为,结合体检功能,为 DSH 工作流提供了一层基础的安全防护。开发者可以根据实际需求配置拦截策略。更多细节与源码,请参考 GitHub。