前言¶
DeepSeek Harness(DSH)采用“一切皆插件”的架构,开发者通常通过添加外部插件来扩展能力。在引入第三方插件时,直接运行未经验证的代码存在供应链投毒风险。dsh-poison-guard 是一个预安装的供应链投毒扫描器,旨在解决这一问题。它不会执行插件代码,而是在你执行 dsh plugin add 之前,通过静态分析检查代码中是否存在恶意行为。
核心能力¶
该插件通过三层检测机制来识别潜在威胁:
-
AST 分析
使用 NodeSecure JS-X-Ray 进行静态应用安全测试(SAST)。它能追踪变量、解析动态导入、识别混淆器,并检测eval/Function/vm等危险操作,以及数据外泄、环境变量序列化、危险 shell 命令等风险。 -
反混淆解码
解码常见的编码模式,包括atob()、Buffer.from(..., "base64"/"hex")、String.fromCharCode(...)以及\xNN、\uNNNN转义序列。解码后会重新扫描解密后的字符串,寻找隐藏的密钥、URL 和 shell 命令。 -
正则启发式
作为最后一道防线,用于匹配明显字面量、非代码文件以及prepare/postinstall/install/preinstall等安装时脚本中的可疑内容。
安装与启用¶
在 DSH 中添加该插件扫描工具:
dsh plugin --profile web add github:zoahdev/dsh-poison-guard
安装完成后,该工具会作为一个独立的命令行工具集成到 DSH 环境中。
使用方法¶
安装后,可以通过命令扫描任意本地插件目录。扫描结果通过退出码返回:0 表示代码干净,1 表示发现威胁,适合用于 CI 流程中的门禁检查。
# 扫描指定插件目录
dsh-poison-guard scan ./some-plugin
# 输出机器可读格式(用于 CI)
dsh-poison-guard scan ./some-plugin --json
适用场景与注意¶
- 静态检测:该工具仅进行静态分析,不会执行插件代码或观察运行时行为。
- 混淆限制:虽然能处理常见的简单混淆,但强混淆(如结合字符串数组和控制流平坦化的工具)可能仍然能隐藏恶意载荷。
- 误报:AST 层的敏感度被调至“激进”级别,以换取最大可见性,因此良性代码(如确实使用了
eval的合法逻辑)也可能被标记。 - 沙箱依赖:该插件本身不强制执行沙箱策略。真正的安全边界依赖于 Harness 的沙箱配置,未验证插件应始终限制在
workspace-write权限,避免danger-full-access。
这是一个社区维护的模板项目,遵循 MIT 许可证,并非 DeepSeek 官方产品。