Security scan report

Every plugin gets an automated security review in two layers: (1) a deterministic static scan of source shape, manifests and permission requests, covering the whole registry; (2) a model-driven dynamic audit that reads redacted source context without executing plugin code, covering only the subset whose static tier is medium or above. There is exactly one merge rule: a dynamic conclusion is authoritative where one exists (it may raise or lower the tier); otherwise the static scan tier applies. Tiers are unified into four levels — low / medium / high / critical.

Every tier number on this page comes from the same accessor (src/data/effective-risk.ts), fully shared with plugin pages, badges and the market index. Exemptions are manual only — the audit script never writes the suppression list; human review can record `withdrawn` to revert a conclusion to the static tier, effective immediately (no pipeline recomputation). Current dynamic audit: 2,925 records, 2,341 with a model conclusion, 2,340 in force (321 raised / 794 lowered), 1 withdrawn by human review. Entries outside the scanning scope (below L3, topic removed, flagged) are excluded from these registry-wide numbers and their badge reads pending.

29,024
plugins scanned
16
critical
261
high
1,101
medium
27,646
low
critical (0%) high (1%) medium (4%) low (95%)

The ecosystem is largely healthy: 28,747 entries (99%) sit in the low or medium tier. 16 have an effective tier of critical — either the dynamic audit found a blocking-severity issue, or the static scan hit blocking patterns such as secrets, exfiltration, destructive commands or mining; 261 are high (non-blocking severe findings); 1101 are medium — inspect before installing.

345 entries have no verdict yet (pending scan).

How a tier is decided: two inputs, one output

The left column is where the same plugins land under the static scan alone; the right side is where in-force dynamic conclusions moved them — the first row is this page's conclusion.

Calibercriticalhighmediumlow
① Effective (this report)162611,10127,646
② Static scan (reference)0196028,826
③ Dynamic (in force)162541,101760

Row ② puts entries without a dsh scan record into "pending" (347) rather than the four tiers; row ③ counts only conclusions in force (2,131, including low-tier ones not listed below). The dynamic layer covers 2,527 entries: 395 failed without a conclusion and 26,842 never entered the queue (static tier applies).

raised 1,256lowered 175vet covered 29,056vet skipped 34

Static tier: vet (@jieai/dsh-plugin-vet) is the primary judge — critical → critical, suspicious → high, clean → low; the dsh scan only fills languages vet does not cover and escalates on blocking patterns. Dynamic tier: derived from the finding counts of that audit — any critical finding → critical, only high → high, only medium → medium, otherwise low.

What the scan looks for

The most common findings across all plugins, explained in plain language.

🖥️Shell / subprocess
941 hits

The plugin runs shell commands or spawns subprocesses. Common in CLI/terminal plugins, but worth knowing.

Usually legitimate for terminal tools — mapped to "needs review" rather than high risk.

⚡Dynamic code execution
403 hits

The plugin evaluates code at runtime (eval, new Function). Powerful, but harder to audit.

Usually legitimate; mapped to "needs review" unless combined with other risk.

💥Destructive commands
158 hits

The plugin contains commands that can delete files or modify critical system areas (e.g. rm -rf, chmod 777).

High risk — understand exactly what it touches before running.

🔑Hardcoded secrets
65 hits

The plugin contains what looks like an API key, token, or private key written directly in its source code.

Anyone with access to the repo could use this credential. Treat with caution.

🕵️Obfuscated code
25 hits

Parts of the code are deliberately hard to read (encoded blobs, fromCharCode tricks), making review difficult.

Obfuscation is a red flag — what is it hiding?

🌐Data exfiltration
2 hits

The plugin may send data to external endpoints (webhooks, tunnels, third-party servers).

Review what data could leave your machine before installing.

Note: shell/subprocess use and dynamic code execution are common in CLI and terminal plugins, so they are grouped under medium rather than critical — they are signals to review, not proof of malice.

Critical-risk plugins

16 plugins with an effective critical tier — the dynamic conclusion is authoritative where one exists, otherwise the static scan tier applies.

PluginStatic → effective
dsh-cloud-connector★ 0low → criticalraised
@wonaren/dsh-upgrade★ 1low → criticalraised
dsh-agnes-studio★ 26low → criticalraised
dsh-tmwebdriver★ 0high → criticalraised
dsh-lark-all★ 0low → criticalraised
@LQH-A-A-O/cad-ppt-skills★ 0low → criticalraised
phone-tunnel-pool★ 7low → criticalraised
DSH-Desktop-Huacai★ 1low → criticalraised
dsh-plugin-manager★ 2low → criticalraised
dsh-lan-access★ 2low → criticalraised
@likhonmain/voice-input★ 1low → criticalraised
DSHRemoteGateway★ 27low → criticalraised
dsh-tts-player★ 0low → criticalraised
@mvalentsev/dsh-wsl-projects★ 0low → criticalraised
@Guuu16/dsh-remote★ 0low → criticalraised
@AlannerFranklin/dsh-relay-isolation★ 0low → criticalraised

Showing the first 20 (ordered by static findings).

High-risk plugins

261 plugins with an effective high tier — the dynamic conclusion is authoritative where one exists, otherwise the static scan tier applies.

PluginStatic → effective
@Dingpenghui-good/dsh-obsidian-sync★ 1low → highraised
dsh-4-role-workflow★ 1low → highraised
see_the_screen★ 0low → highraised
dsh-pentester★ 100low → highraised
vpshub★ 1low → highraised
dsh-memory-eternal★ 20low → highraised
@zp2921060653/dsh-plugins★ 2low → highraised
chromex-browser★ 1low → highraised
@Fourteenth-Night/dsh-aoci★ 0low → highraised
dsh-plugin-offline-packager★ 7low → highraised
dsh-ide-panels★ 1low → highraised
dsh-profile-port★ 0low → highraised
dsh-sandbox-permissions-not-strictly-wider-justification-empty-fix★ 0low → highraised
dsh-change-review★ 14low → highraised
@pn1024/dsh-skill-market★ 12low → highraised
dsh-minecraft-theme★ 5low → highraised
dsh-smart-reminder★ 0high → high
odsh-bridge★ 3low → highraised
dsh-k8s★ 2low → highraised
@joansgwjbsu/dsh-plugin-cdp★ 1low → highraised

Showing the first 20 (ordered by static findings). The other 241 are filterable in the plugin list.

Medium-risk plugins

1101 plugins with an effective medium tier — the dynamic conclusion is authoritative where one exists, otherwise the static scan tier applies.

PluginStatic → effective
dsh-flowglass★ 25low → mediumraised
@zirscard/dsh-macos-signfix★ 0low → mediumraised
@lzqzm/dsh-project-panel★ 0low → mediumraised
dsh-deepseek-web-adapter★ 21low → mediumraised
dsh-cyber-sec★ 5low → mediumraised
dsh-testsuite★ 2low → mediumraised
dsh-shadow-auditor★ 1low → mediumraised
dsh-dolphin-security★ 0low → mediumraised
dsh-peekfile-everything★ 0low → mediumraised
@qftuftfutg/apk-devkit★ 0low → mediumraised
@AIcivilization/dsh-vps★ 12low → mediumraised
dsh-sim-restart★ 0low → mediumraised
Personal_MCP★ 2low → mediumraised
dsh-remote-vps★ 0low → mediumraised
dsh-opencode-go-usage★ 12low → mediumraised
dsh-almazom-approve-escalate★ 0low → mediumraised
@Han-1413141/dsh-autocompose★ 1low → mediumraised
dsh-plugin-photoshop★ 10low → mediumraised
@Dalld/dsh-ssh-plugin★ 3low → mediumraised
dsh-sql★ 9low → mediumraised

Showing the first 20 (ordered by static findings). The other 1081 are filterable in the plugin list.

📖
How scanning works

What we scan, the two layers, and the limits of the dynamic audit.

🔍
Browse all plugins

Every plugin page shows its own two layers and effective tier.

🗓️
Security reports

Weekly archived tiers and tier-change lists (dynamic audit merged in).

Scans are automated — not a manual review, and never an endorsement. Install third-party plugins at your own risk.

Was this page helpful?