DeepSeek Harness Hub
← 返回列表

nisconder/npm-safe-forDSH

DeepSeek Harnessspec-screened在 GitHub 查看 ↗
未验证

14 个智能体工具 · 22 项安全检查 · 完整性校验的深度扫描 · 本地 SQLite 缓存

尚未跑自动兼容性验证,可查看页面内的依赖与入口分析。 · 最近上游提交 2026/8/29 · 已提供中文文档

DeepSeek Harness 插件,在安装前检查 npm 包——22 条供应链规则、深度 tarball 扫描、CI 门禁、本地优先。

综合分
30.8
GitHub 分
30.8
用户评分
★ Stars
4
周下载量
安装插件(需先安装 dsh CLI 引擎:npm install -g @deepseek-ai/dsh)
dsh plugin --profile web add nisconder/npm-safe-forDSH
该插件未发布到 npm,走 GitHub 源安装(pnpm 若拦截 prepare 脚本,按其提示在 pnpm-workspace.yaml 的 allowBuilds 中放行后重跑)
数据截至 2026/9/19(元数据每日更新 · 实装验证按队列轮转,单条结论的验证时间见上方)
用户评分
还没有人投票,来当第一个
订阅周报,不错过优质插件更新
每周一封 · 高评分插件 + 新用户活动

README

面向 DeepSeek Harness 的 npm-safe

在 AI 智能体安装有风险的 npm 包之前阻止它。

npm
downloads
CI
License
Node

14 个智能体工具 · 22 项安全检查 · 完整性校验的深度扫描 · 本地 SQLite 缓存

安装 · 看看它能捕获什么 · 工具目录 ·

npm-safe-forDSH 是
DeepSeek Harness 的供应链安全闸门。它让智能体在安装之前检查 npm 包元数据和已发布的 tarball,然后在同一对话中返回证据、风险等级和可解释的评分。

如果这能让你的智能体工作流更安全,请给仓库点个 Star。这能帮助其他 DSH 用户发现这个独立的安全工具。

30 秒安装

dsh plugin --profile tui add @npm-safe/dsh-tool-npm-safe --allow-build=better-sqlite3
dsh --profile tui

安装后重启正在运行的 profile。然后询问:

Deep-scan fast-glob before installing it. Explain every finding.

如需快速仅检查元数据:

Use check_package to check lodash.

该插件声明为原生 DSH bundle,因此官方 dsh plugin 命令会安装该包并激活其 cordis.patch.yml 层。--allow-build=better-sqlite3 仅向用于本地缓存的 SQLite 驱动授予构建权限;pnpm 会继续阻止其他依赖的安装脚本。你选择的 DSH 模型提供商必须已配置好;仅当 DeepSeek 是所选提供商时才需要 DeepSeek API key。

它能捕获什么

| 信号 | 元数据扫描 | 深度扫描 |
|---|:---:|:---:|
| 可疑的生命周期脚本和安装钩子 | ✅ | ✅ |
| 域名抢注、废弃包、有风险维护者 | ✅ | ✅ |
| 非标准 registry 和远程二进制文件 | ✅ | ✅ |
| Tarball 完整性不匹配和不安全归档路径 | — | ✅ |
| 混淆代码、内嵌密钥、shell/网络执行 | — | ✅ |
| 原生二进制文件、WebAssembly、超大或截断内容 | — | ✅ |

元数据扫描速度快,且仍是默认方式。设置 deep: true 可下载同源已发布 tarball、验证 npm 完整性元数据,并完全在内存中检查有界源码内容。

package: fast-glob@3.3.3
level: safe
评分:88/100
完整性:已验证
已扫描文件:91
发现项:1 个低危,0 个中危,0 个高危,0 个严重

为什么在 agent 中使用它

| 典型的 agent 工作流 | 使用 npm-safe-forDSH |
|---|---|
| 先安装,后审计 | 在做出安装决定之前进行检查 |
| 信任包名和下载量 | 评估维护者、脚本、来源信号和内容 |
| 返回缺乏上下文的通过/失败结果 | 返回发现项、证据、严重程度、评分和建议 |
| 重复访问注册表 | 使用本地 SQLite 缓存和速率限制 |
| 手动检查单个包 | 支持批量检查、监视列表、刷新任务和 CI 门禁 |

14 个 agent 工具

| 工具 | 用途 |
|---|---|
| check_package | 检查单个包,可选使用 deep: true |
| check_packages | 带速率限制的批量检查 |
| search_packages | 搜索 npm 注册表 |
| watch_add / watch_remove / watch_list | 管理持久化监视列表 |
| rules_list / rule_enable / rule_disable | 查看和切换规则 |
| rule_set_severity | 覆盖某条规则的严重程度 |
| settings_get / settings_set | 读取或更新引擎设置 |
| ci_scan | 将项目依赖项作为安全门禁进行扫描 |
| refresh_all | 作为后台 DSH 任务刷新监视列表 |

安全模型

- 核心检测是确定性的且本地优先;默认不会将任何包源代码发送到
外部 LLM。
- 深度扫描会拒绝跨源 tarball,并强制执行归档大小、文件数量、
解压缩、路径和扫描文本限制。
- 发现项是证据,并不保证某个包是安全的。请审查高
影响包,并在生产环境中固定版本。
- 请参阅完整的扫描器规则和
安全策略。

直接使用引擎

pnpm add @npm-safe/core-dsh

import { NpmSafeEngine } from "@npm-safe/core-dsh";

const engine = new NpmSafeEngine();
const report = await engine.checkPackage("lodash", { deep: true });
console.log(report.level, report.score, report.findings);
await engine.close();

从源码开发

需要 Node.js 22.19+ 和 Corepack。

git clone https://github.com/nisconder/npm-safe-forDSH.git
cd npm-safe-forDSH
corepack enable
corepack prepare pnpm@11.7.0 --activate
pnpm install
pnpm run build
pnpm run typecheck
pnpm run test

实时注册表冒烟测试:

node scripts/smoke.mjs lodash
node scripts/smoke-facade.mjs

该工作区包含 @npm-safe/core-dsh 和
@npm-safe/dsh-tool-npm-safe 包。DSH peer
包与 0.1.0-rc.6 系列保持一致;在 DeepSeek Harness 处于开发者预览阶段时,
升级必须保持对齐。

文档

- 插件包和示例
- 引擎 API
- 架构
- 扫描器规则
- 贡献指南
本项目将 nisconder/npm-safe 的引擎适配到 DeepSeek Harness。这是一个独立的社区项目,与 DeepSeek 无关联,也未获得其认可。

许可证

Apache-2.0 — 版权所有 2026 Nisconder、InfiniteScope、Escap1ng、StoryBegins。

上游仓库有新提交时邮件通知你(每天最多一封,无更新不打扰),随时一键退订。

💬 加入 DPharness 群聊

插件用法、部署报错、新插件第一时间同步——群里问,比一个人翻文档快。

点击加入 QQ 群
DPharness 群聊二维码,手机 QQ 扫码进群
扫码进群