DSH Plugins Marketplace

DSH Plugins

Plugins

/

Security & Audit

/

dsh-risk-guard

s

dsh-risk-guard

Manifest valid

Zero-interruption audit and fuse blocking for DeepSeek Harness: silently records every tool call with deterministic risk scoring, cumulative-risk bonuses, risk-level breakdowns and retention-based cle

hasBundlePatch

dsh-risk-guard

Zero-interruption audit + fuse blocking for DeepSeek Harness (dsh).

npm License CI dsh

Features

  • Silent audit — records every tool call (tool name, redacted arguments, success/failure, risk tags, explainable score) into local JSONL files. No dialogs, no permission changes, no sandbox changes.
  • Deterministic risk scoring — zero LLM calls, zero extra cost. Covers destructive deletes, credential reads, network egress, writes outside the workspace, dependency installs and heavy builds; rapid repeats and consecutive high-risk calls accumulate bonus score.
  • Insurance fuse — blocks only irreversible catastrophes before they execute: protected-path deletion, disk wipe/format, force-push to protected branches, and network commands referencing credential files.
  • Operation bill — /risk-guard answers "what did my agent actually do?", with scores, tags, reasons and redacted details for the current session, one turn, or all history.

All data stays on your machine under <DSH_HOME>/risk-guard/. No network calls, no telemetry.

Install

Requires an existing DeepSeek Harness installation.

Option 1 — dsh plugin manager (recommended)

dsh plugin --profile web add dsh-risk-guard

Restart the Web UI, then use /risk-guard in any session.

Option 2 — npm

npm install dsh-risk-guard

or with pnpm:

pnpm add dsh-risk-guard

Then register the plugin in your profile's cordis.patch.yml:

- insert:
    - id: risk-guard
      name: 'dsh-risk-guard'

Option 3 — from source

git clone https://github.com/shuxue6662-a11y/dsh-risk-guard.git
cd dsh-risk-guard
pnpm install
pnpm build
dsh plugin --profile web add .

Usage

/risk-guard              operation bill for the current session
/risk-guard --turn       only the last turn
/risk-guard --all        summary + bills for every recorded session
/risk-guard --since=2026-08-01
                         only records from this date (with any other flag)
/risk-guard --json       machine-readable output

The bill includes the time range, call/turn counts, high-risk and fuse-block counts, max/total scores, tag distribution, a risky-calls table and every fuse denial.

Configuration

All options are optional; defaults are shown below.

OptionDefaultMeaning
fuseEnabledtruemaster switch for fuse blocking
maxFileSizeMb50gzip-archive the monthly JSONL above this size
retentionDays30delete gzip archives older than this many days
cumulativeRiskWindowMs600000rolling window for the repeat-tag risk bonus
highRiskThreshold60score floor for the consecutive-high-risk bonus
workspaceRootunsetdetect writes outside the workspace
homeDirOS homehome used by path rules and ~ expansion
dshHome~/.dsh or $DSH_HOMEaudit store at <dshHome>/risk-guard
protectedBranches['main', 'master']force-push to these branches is blocked
protectedRemotes[]force-push to these remotes is blocked
credentialFileNamescommon list.env, credentials, id_rsa, …

Example:

- insert:
    - id: risk-guard
      name: 'dsh-risk-guard'
      config:
        fuseEnabled: true
        workspaceRoot: 'C:/projects/my-app'
        protectedBranches: ['main', 'master']

Fuse rules (v1)

  • rm -rf / del / Remove-Item deleting the filesystem root, the home directory itself, $HOME/*, DSH_HOME, or a credential file;
  • disk wipe/format commands (dd of=/dev/sdX, mkfs*, wipefs, diskpart, shred /dev/…, format C:);
  • git push --force / -f targeting main/master or a configured protected remote (feature branches are not blocked);
  • network commands (curl, wget, nc, scp, ssh, …) referencing a credential file.

Everything else runs untouched. Set fuseEnabled: false to disable the fuse while keeping the audit recorder active.

Privacy & storage

  • Records are appended to <DSH_HOME>/risk-guard/<yyyy-mm>.jsonl through a serialized write queue; oversized month files are gzip-archived.
  • Secret-shaped values (GitHub tokens, sk- keys, private-key blocks, Bearer tokens, .env lines, password assignments) are redacted before storage; only a digest of the redacted value is kept.
  • The plugin makes no network calls and ships no telemetry.

Compatibility

EnvironmentStatus
dsh 0.1.0-rc.6 (npm next)tested
web profiletested
headless profileworks (command is conditionally registered)

Troubleshooting

  • All tool calls crash after install — host and profile versions of @deepseek-ai/* differ. Reinstall the plugin in the profile and run pnpm dedupe.
  • The bill is empty — start a new turn and run a few tool calls; records are written asynchronously.
  • I want zero blocking — set fuseEnabled: false.

Contributing

See CONTRIBUTING.md and SECURITY.md.

License

MIT

Compatibility

DSH 0.2.1-rc.2: failedDSH 0.2.1-alpha.3: failedDSH 0.2.1-alpha.5: failed

Versions

Latest versionPublishedSize
0.1.0——
0.1.1——
0.1.2——
0.2.0——

Comments

Loading…

Similar plugins

dsh-confirm-gate

by SteelUnion

DeepSeek Harness gate - per-turn persistent-operation counter: remind, instruct the model to stop, then ask for confirmation. Steps aside under sandbox/read-only modes; follows a live permission switch without restart. Verified on real hardware (full -> workspace-write -> read-only -> full). Crafted on an estimated 0.27 USD of model spend.

Security & AuditDevelopment & InfrastructureManifest valid

★ 4

MIT

JavaScript

Oct 27, 2026

dsh plugin --profile web add @sroada/dsh-confirm-gate

by jkrandom-sudo

Security audit for DeepSeek Harness plugins: static permission profile with file/line evidence + a runtime sentinel gating credential access and unknown-host egress · DSH 插件安全审计:静态权限画像(附文件/行号证据)+ 运行时哨

Manifest valid

★ 4

↓ 85/wk

MIT

TypeScript

Sep 11, 2026

dsh plugin --profile web add dsh-plugin-audit

by BlockRunAI

A safety gate for DeepSeek Harness: a stronger model reviews dangerous tool calls before they run. Plus vision and BlockRun's full model catalog from one wallet, paid per request over x402.

Security & AuditManifest valid

★ 19

↓ 158/wk

MIT

TypeScript

Sep 5, 2026

dsh plugin --profile agent add dsh-clawrouter

by Elaina-real

Tiered auto-review for DeepSeek Harness (DSH): static-rule safety net + LLM reviewer + human fallback. Auto-approve safe actions, auto-deny irreversible ones, ask a human for the rest. PURE VIBE CODING - not audited, use at your own risk.

Security & AuditTools & CapabilitiesManifest valid

★ 0

↓ 22/wk

MIT

JavaScript

Aug 14, 2026

dsh plugin --profile web add dsh-tiered-approval

by tancheng33

Runtime security gate on the tool pipeline: denies calls naming hosts outside an egress allowlist, redacts credentials from results at the canonical value rather than only the rendered content, and ap

Security & AuditDevelopment & InfrastructureManifest valid

★ 1

↓ 95/wk

MIT

TypeScript

Sep 22, 2026

dsh plugin --profile web add dsh-egress-guard

by john-walks-slow

wait_subagent tool for DeepSeek Harness: block until a background continuable subagent settles and return its stop reason and closing message — event-driven, zero polling.

Tools & CapabilitiesDevelopment & InfrastructureManifest valid

★ 1

MIT

JavaScript

Oct 26, 2026

dsh plugin --profile web add dsh-wait-subagent