dsh-plugin-security-review
其他 活跃维护

dsh-plugin-security-review

ateen18/dsh-plugin-security-review

内置静态预安装恶意代码、漏洞及供应链风险筛查能力,支持反混淆解码,同时覆盖运行时安全监控,保障插件安装与运行全链路合规。

1
Stars 标星
0
Forks 分支
1
Watchers 关注
0
Open Issues
JavaScript
主要语言
None
开源协议
363 KB
仓库大小
29 天前
最后推送
一键安装扩展 / 插件指令
dsh plugin --profile web add github:ateen18/dsh-plugin-security-review
git clone https://github.com/ateen18/dsh-plugin-security-review.git
git clone git@github.com:ateen18/dsh-plugin-security-review.git
README.md main

dsh-plugin-security-review

Awesome DSH Plugin

Security review gate for dsh plugins — static pre-install vetting of malicious code, vulnerabilities and supply-chain risks (with deobfuscation decoding), runtime audit, optional tool-call guard, and a one-click web review/install/uninstall panel.

A security review plugin for DeepSeek Harness (dsh) plugins. Once installed, every
other plugin is statically reviewed before it is installed or loaded: dangerous code,
vulnerabilities, and supply-chain risks are analyzed, a review report is produced,
and an install recommendation is given. At runtime it keeps auditing the installed
roster and disables dangerous plugins.

See README.zh.md for the Chinese quick start.

Full user guides:

Three layers

Layer When What it does
1. Install gate before install (dsh-safe-plugin add) downloads source without running any install scripts, analyzes it, prints the report; block refuses the install, warn needs confirmation, pass forwards to dsh plugin add --ignore-scripts
2. Runtime gate after dsh boots audits every out-of-tree plugin in the profile (cached); blocked plugins are disabled via loader.update(id,{disabled:true}) and written into a managed disabled: true block in the profile's cordis.patch.yml, so their code is never imported on the next boot
3. In-session tools during sessions security_review / security_review_status tools review any plugin/source directory and read historical reports

Install

dsh-safe-plugin add dsh-plugin-security-review
# or: dsh plugin --profile web add dsh-plugin-security-review

The package declares dsh.bundle, so the dsh plugin manager joins it into
dsh.profile.bundles automatically.

Review and install other plugins

dsh-safe-plugin add dsh-plugin-foo       # review + install
dsh-safe-plugin add ./local-plugin-dir
dsh-safe-plugin add https://github.com/me/plugin.git
dsh-safe-plugin review dsh-plugin-foo   # review only
dsh-safe-plugin review . --ignore test/fixtures   # skip fixtures dirs
dsh-safe-plugin list                    # historical reports
dsh-safe-plugin verify                  # re-review installed plugins

Reports

  • Score (0-100), verdict pass / warn / block / audit, per-finding detail
    (severity, category, file:line, snippet, recommendation) and an install
    recommendation.
  • Persisted under $DSH_HOME/security-review/: reports/latest/<name>.md
    (markdown), reports/history/*.json, index.json.
  • The web settings UI gains a security-review section (policy,
    auto-disable switch, allowlist).

Known limitations

  1. Static analysis cannot cover native binaries, runtime-downloaded code, or
    heavily obfuscated payloads; block means strong risk signals, not proof
    of malice.
  2. The runtime gate deterministically blocks plugin imports that happen after
    this plugin applies; plugins that start earlier in the same boot batch
    load for a few milliseconds before the boot audit disables them, and the
    managed patch block keeps them from loading on the next boot. Use
    dsh-safe-plugin add for deterministic pre-install blocking.
  3. Blocking a plugin that provides services other rows inject fails boot
    loudly with the missing service named — that is dsh's fail-loud contract.
  4. Transitive dependencies are checked by name heuristics only (no full
    source scan of the whole dependency tree).
  5. A review-engine failure degrades to warn (fail-open) so the reviewer
    itself can never brick dsh; re-check with dsh-safe-plugin verify.

Development

npm test      # analyzer unit tests (no dsh needed; run from this dir)

License: MIT