Static-only plugin gate and clinic for DSH: audit before install, hash-and-capability lock after install, local fingerprint peer search over GitHub topic:dsh-plugin, and mechanical detox. Never executes the target plugin.
Install
# from GitHub (first run asks for allowBuilds approval — follow the hint, retry)
dsh plugin --profile web add github:taxueseek/dsh-plugin-guard
Any plugin you install runs third-party code with your own permissions — it can read your files, use your credentials, and reach the network, and tool approvals don’t sandbox it. GitHub-sourced plugins also run build scripts at install time — pnpm blocks those until you allow them, so an install can stop with ERR_PNPM_GIT_DEP_PREPARE_NOT_ALLOWED or ERR_PNPM_IGNORED_BUILDS; dsh prints the exact key to add under allowBuilds in your profile’s pnpm-workspace.yaml, and the install works on the next run. Allowing a build is a trust decision: only install sources you trust, and pin a commit (github:owner/repo#sha).
README
One plugin, two surfaces. Static analysis only — never executes the target plugin.
| Surface | Tool | Job |
|---|---|---|
| Gate | plugin_audit |
Static audit before install |
| Gate | plugin_verify |
Hash + capability lock after install |
| Clinic | plugin_peers |
Local fingerprint peers; query searches GitHub topic:dsh-plugin |
| Clinic | plugin_detox |
Mechanical amputation, not an equivalent rewrite |
plugin_peers: path stays local (profile bundles). query hits GitHub topic:dsh-plugin + the curated list; argo only if those are thin. Override with remote. Remote hits are verdict=unknown — audit before install.
Install
dsh plugin --profile web add github:taxueseek/dsh-plugin-guard
# restart dsh web
Scoring
Start at 100; P0 −40, P1 −12, P2 −3. Any P0 or score < 40 → block. Any P1 or score < 75 → warn.
P0 is only auto-run + dangerous combo (curl|bash, secrets leaving the machine, eval of network content, install-script poison). exec inside a tool the model must click is P1.
Not
- Not output redaction
- Not general SAST
- Does not prove a plugin is safe
- Detox does not keep the original behavior
License
MIT
Links
More in this category
toby-bridges/api-relay-audit★ 870
Runs local security audits of AI API relays and LLM proxies from DeepSeek Harness, producing Markdown reports for prompt injection, model substitution signals, tool-call rewriting, error leakage, stream integrity, and profile-gated Web3 risks.
SeaOf0/dsh-redteam-model★ 668
Authorized-security DSH collection: nine work modes (redteam coordinator, pentest, code audit, binary analysis, attack-defense, AV evasion, incident response, cloud security, CTF solving) and fifteen runtime plugins, managed from a settings page with one-click deploy, install, update and uninstall.
howmp/dsh-pentest★ 598
Authorized pentest mode for DeepSeek Harness — exploration chain, assets and findings with a Web view.
PerryLink/dsh-auto-review★ 234
Second-model auto-review on the approval answerer chain: a read-only reviewer subagent returns structured allow/deny verdicts with reasons, fail-closed by default.
NanmiCoder/dsh-auto-mode★ 165
Adds an Auto permission preset between Workspace Write and Full access: routine work stays in the official workspace-write sandbox while the current session model reviews escalation and destructive calls, granting one exact wider access once, asking when the intent is ambiguous, and denying critical paths.
PerryLink/dsh-permission-rules★ 121
Claude Code-style declarative permission rules: ordered allow/deny/ask YAML rules matching tool names, arguments, workspace paths, and agent identity on the tools/pre-execute waterfall, with full session-log audit, dry-run mode, and hot reload.
Community comments
Comments are public GitHub Discussions. Loading them connects to GitHub and Giscus; a GitHub account is required to post.