
Security News
Deno Goes the Way of the Dinosaur
Cloudflare is acquiring Deno’s team, which will provide another year of bug fixes and security updates before ending support for the runtime.
dsh-stability-audit
Advanced tools
Scan installed DeepSeek Harness plugins and grade stability risk (hook surface, startup work, preflight health, packaging, dependencies). 扫描已安装插件的稳定性风险(钩子面/启动任务/预检/打包/依赖)。
Scan installed DeepSeek Harness (dsh) plugins and get a stability risk grade + fix suggestion before they break your harness — static analysis, optional isolated install verification, and machine-readable output for any agent to surface problems and remedies fast.
Built from real incidents: every grading rule comes from actual dsh ecosystem failures — barricade's hooks killing the whole tool chain, codegraph freezing the event loop at startup, trailmap's version conflict breaking the tool layer, dsh-tools single-instance corruption, doc-guard/secret-guard missing-inject boot crashes, 7 unbuilt plugins crashing on load, memento/taskboard undeclared deps (Cannot find package)... The rules are the troubleshooting manual, codified.
Community plugins are often young projects. This plugin answers one question: will installing/keeping this plugin hurt my dsh? Each installed plugin gets a 🔴/🟡/🟢 grade, evidence, and a 🔧 fix suggestion, so you decide on facts, not vibes.
These are the real failure modes this plugin statically detects — before you step on them.
# Option 1: npm (recommended — prebuilt, skips allowBuilds approval)
dsh plugin --profile web add dsh-stability-audit
# Option 2: GitHub source
dsh plugin --profile web add github:chunfenxiazhi-collab/dsh-stability-audit
After restarting dsh web, agents can call the stability_audit tool (just say "run the plugin stability audit"); or use the CLI:
git clone https://github.com/chunfenxiazhi-collab/dsh-stability-audit.git
cd dsh-stability-audit && npm test
node cli.mjs # scan the real web profile
node cli.mjs --dynamic # also run isolated install verification (~2s/plugin)
node cli.mjs --json # machine-readable output (for other agents)
node cli.mjs --remote owner/repo # remote plugin static pre-audit (clone to temp dir, no install)
node cli.mjs --remote owner/repo --dynamic # full remote pre-audit (clone + isolated install smoke)
node cli.mjs --remote owner/repo --json # remote pre-audit JSON output
| Signal | Grade | Case |
|---|---|---|
| Tool hook / middleware registration (pre/post-execute) | red | can intercept the whole tool chain (barricade) |
| Top-level sync scan / indexing at startup | red | blocks the event loop (codegraph) |
| Load-time sync service access missing from inject | red | boot crash (doc-guard/barricade incidents) |
| main points to unbuilt source (TS/missing file) | red | load-time crash (7 unbuilt plugins) |
| Preflight report critical | red | flagged by dsh at boot |
| setInterval polling | yellow | normal for update checks; watch frequency |
| >=10 global event listeners | yellow | every broadcast event gets slower |
| No dsh.bundle manifest | yellow | installed but never activated (research-plugins) |
| >50 dependencies | yellow | dependency-tree pollution risk |
| Non-build install scripts (prepare etc.) | yellow | npm lifecycle runs arbitrary code |
| Deferred service access missing from inject | yellow | may be undefined at runtime (cron-style) |
| @deepseek-ai/* range excludes host synced pkg version | yellow | pnpm hoists old build -> tools dead (trailmap) |
| Isolated install + boot smoke | pass/fail | temp DSH_HOME, dsh plugin add, headless boot, no loader errors |
| Entry imports undeclared deps (missing-dep) | red | Cannot find package after install (taskboard/memento) |
| No main and no candidate entry (no-entry) | red | loader fails importing by package name (verify) |
| Data exfiltration (process.env via fetch/WebSocket) | red | OpenClaw 341 malicious-skill top pattern |
| Hardcoded remote endpoints (URL/WebSocket) | yellow | for human review (normal API calls common) |
Every hit carries a 🔧 fix suggestion (executable command or manual action) that can be handed to the user or another agent.
Batch testing: --remote accepts multiple specs (comma- or space-separated) to pre-audit a batch of online plugins in one run (clone → static → isolated install smoke, host untouched). Verified sample: docs/audit-report.md (18 plugins, post-verification verdicts).
--json, schema dsh-stability-audit/v1, agent-readable)Principles: read-only, never runs the audited plugin, zero side effects. Grades are suggestions for human confirmation, not verdicts.
The runtime architecture is drawn with dsh-archify (MIT — a dsh port of tt-a1i/archify, also MIT, itself derived from Cocoon AI's "architecture-diagram-generator"). The MIT notice is embedded in the rendered HTML head; spec and evaluation notes are kept in-repo:
node cli.mjs --json
Per plugin: name / version / grade / source / dynamic / findings[], each finding carries ruleId / severity / desc / evidence / fix (remedy). Other agents can act on it directly.
Isolated testing (temp DSH_HOME + headless smoke) answers: "can this plugin install on its own and boot cleanly?" — filtering out ~80% of the failure modes (unbuilt entry, missing inject, dependency conflicts, load crashes).
| Dimension | Isolated env | Real web profile | Impact |
|---|---|---|---|
| Services | headless boot | web services + all host services | plugins depending on webServer/webRuntime stay pending in isolation; real behavior not observable |
| Co-installed plugins | only the audited one | many plugins interacting | inter-plugin conflicts not caught (hooks stepping on each other, service overrides) |
| Config | empty | real config (API keys, models, paths) | config-dependent plugin paths untested |
| Credentials/network | no API key | model APIs available | LLM-dependent features only smoke, never execute |
| Data | empty storage | real sessions/libraries | data-migration plugins untested |
| Runtime duration | seconds of boot smoke | days of residency | setInterval leaks, memory growth not caught |
| Permissions/build | same machine, same permissions | same machine, same permissions | ✅ identical |
Suggested usage: use isolated testing as bulk screening — exclude red/fail targets; for plugins you actually want, install manually and observe. Automatically testing plugins against the real environment is not recommended — plugins have real destructive power (see the dsh-troubleshooting incidents).
MIT (c) 2026 chunfenxiazhi
Issues and PRs welcome. Tests: npm test (node:test, zero dependencies).
Commit convention: English subject line + optional Chinese body (e.g. feat: remote plugin pre-audit).
FAQs
Scan installed DeepSeek Harness plugins and grade stability risk (hook surface, startup work, preflight health, packaging, dependencies). 扫描已安装插件的稳定性风险(钩子面/启动任务/预检/打包/依赖)。
The npm package dsh-stability-audit receives a total of 0 weekly downloads. As such, dsh-stability-audit popularity was classified as not popular.
We found that dsh-stability-audit demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 1 open source maintainer collaborating on the project.

Security News
Cloudflare is acquiring Deno’s team, which will provide another year of bug fixes and security updates before ending support for the runtime.

Security News
Anthropic’s free OSS Scanner uses Mythos and other Claude models to find open source vulnerabilities and send maintainers reports with proposed fixes.

Security News
On Front Lines’ Early Adopters: CISO podcast, Andrew Becherer shares lessons from Datadog, weighs the long-term costs of AI-built tools, and explains how founders can actually gain a CISO’s trust.