npm-safe for DeepSeek Harness
August 29, 2026 · View on GitHub
npm-safe for DeepSeek Harness
Stop AI agents before they install a risky npm package.
14 agent tools · 22 security checks · integrity-verified deep scans · local SQLite cache
npm-safe-forDSH is a supply-chain security gate for
DeepSeek Harness. It lets an
agent inspect npm package metadata and published tarballs before an install,
then returns evidence, a risk level, and an explainable score inside the same
conversation.
If this makes your agent workflow safer, please Star the repository. It helps other DSH users find an independent security tool.
30-second install
dsh plugin --profile tui add @npm-safe/dsh-tool-npm-safe --allow-build=better-sqlite3
dsh --profile tui
Restart a running profile after installation. Then ask:
Deep-scan fast-glob before installing it. Explain every finding.
For a quick metadata-only check:
Use check_package to check lodash.
The plugin is declared as a native DSH bundle, so the official dsh plugin
command installs the package and activates its cordis.patch.yml layer.
--allow-build=better-sqlite3 grants build permission only to the SQLite
driver used for the local cache; pnpm continues to block install scripts from
other dependencies. Your selected DSH model provider must already be
configured; a DeepSeek API key is only required when DeepSeek is the selected
provider.
What it catches
| Signal | Metadata scan | Deep scan |
|---|---|---|
| Suspicious lifecycle scripts and install hooks | ✅ | ✅ |
| Typosquatting, abandoned packages, risky maintainers | ✅ | ✅ |
| Non-standard registries and remote binaries | ✅ | ✅ |
| Tarball integrity mismatch and unsafe archive paths | — | ✅ |
| Obfuscated code, embedded secrets, shell/network execution | — | ✅ |
| Native binaries, WebAssembly, oversized or truncated content | — | ✅ |
Metadata scans are fast and remain the default. Set deep: true to download
the same-origin published tarball, verify npm integrity metadata, and inspect
bounded source content entirely in memory.
package: fast-glob@3.3.3
level: safe
score: 88/100
integrity: verified
files scanned: 91
findings: 1 low, 0 medium, 0 high, 0 critical
Why use it in an agent
| Typical agent workflow | With npm-safe-forDSH |
|---|---|
| Installs first and audits later | Checks before the install decision |
| Trusts package names and download counts | Evaluates maintainers, scripts, provenance signals, and content |
| Returns a pass/fail with little context | Returns findings, evidence, severity, score, and recommendations |
| Repeats registry traffic | Uses a local SQLite cache and rate limiting |
| Checks one package manually | Supports batch checks, watchlists, refresh jobs, and CI gates |
14 agent tools
| Tool | Purpose |
|---|---|
check_package | Check one package, optionally with deep: true |
check_packages | Rate-limited batch checking |
search_packages | Search the npm registry |
watch_add / watch_remove / watch_list | Manage a persistent watchlist |
rules_list / rule_enable / rule_disable | Inspect and toggle rules |
rule_set_severity | Override a rule severity |
settings_get / settings_set | Read or update engine settings |
ci_scan | Scan a project's dependencies as a security gate |
refresh_all | Refresh the watchlist as a background DSH job |
Security model
- Core detection is deterministic and local-first; no package source is sent to an external LLM by default.
- Deep scans reject cross-origin tarballs and enforce archive size, file count, decompression, path, and scanned-text limits.
- Findings are evidence, not a guarantee that a package is safe. Review high impact packages and pin versions in production.
- See the complete scanner rules and security policy.
Use the engine directly
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();
Develop from source
Requires Node.js 22.19+ and 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
Live registry smoke tests:
node scripts/smoke.mjs lodash
node scripts/smoke-facade.mjs
The workspace contains @npm-safe/core-dsh and the
@npm-safe/dsh-tool-npm-safe bundle. DSH peer
packages are aligned to the 0.1.0-rc.6 family; upgrades must remain aligned
while DeepSeek Harness is in developer preview.
Documentation
This project adapts the engine from
nisconder/npm-safe for DeepSeek
Harness. It is an independent community project and is not affiliated with or
endorsed by DeepSeek.
License
Apache-2.0 — Copyright 2026 Nisconder, InfiniteScope, Escap1ng, StoryBegins.