Skip to content

dsh-plugin-security v0.5.0

Latest

Choose a tag to compare

@dushaobindoudou dushaobindoudou released this 11 Oct 09:01
efbe19c

Added

  • Call gate. Every tool call is attributed to the plugin that registered it and checked in the host tools/pre-execute waterfall. A call into a high-risk plugin, or one whose security check could not be completed, asks Allow once / Allow / Disable through the host user-questions card, falling back to the native approval prompt when no card can be shown. Allow once admits exactly the call that asked; Allow is remembered for the installed version; Disable disables the plugin.
  • Plugin-manager sync. Disable, enable, uninstall and enforce-mode auto-disable call the host plugin manager (setBundleEnabled / removeBundle), the same operations as the native Plugins page. A plugin disabled on either page is denied while it is still loaded; gate blocks stored by earlier versions move to the plugin manager at startup.
  • Settings page: per-plugin Enable / Disable / Reset, a Disabled tab, native disabled state, refresh on focus.
  • The three-level risk (high / at risk / none) and the declared tool names are stored with every scan record and shown in reports and agent tools.
  • Scan triggers: plugin-manager changes, profile recompositions (CLI installs under hot reload) and on demand at call time, in addition to startup.
  • The bundled review skill registers itself with the host skill catalog; the manual skill link is no longer needed.
  • npm run test:e2e: a real headless dsh in an isolated DSH_HOME with a harmless high-risk fixture plugin, a scripted question answerer and a deterministic local model.
  • Repository: security policy, issue and pull-request templates, Dependabot, CODEOWNERS, an e2e CI job and a manual npm publish workflow with provenance.

Changed

  • A plugin no scan can record is asked about instead of passing; dependency audits that ended unknown are retried by the next scan and at call time (at most once per plugin every five minutes).
  • A forced rescan keeps the agent review of unchanged content; superseded records of the same package are dropped.
  • Tools registered before the gate started are attributed by their execute source text, so the first call into a newly installed plugin is gated (found by the e2e run).
  • Host-rendered text (the question card, denial messages) follows the dsh UI language set in Settings → General, read per question; DSH_LOCALE overrides it and the process locale is the fallback.
  • Screening revision risk-status-4: existing records are rescanned once after upgrading.

Fixed

  • security_review threw ACTION_ICON is not defined after it had already stored the verdict.

npm: dsh-plugin-security@0.5.0 · integrity sha512-FqMfHzGsG+lNEM+7B39wQir+GaU8qoKSlzOYKgxLiojl/XeVrTpZJN7J1JKiPGCAg7TWtrk/o/0X7Q6kwUUjWA==

Install or upgrade: dsh plugin --profile web add dsh-plugin-security@0.5.0, then restart dsh.