dshbase

插件目录 / Security / dsh-risk-guard

dsh-risk-guard

已验证 · 实测可装 shuxue6662-a11y

✓ 持续维护 基于 6 个官方 DSH 包

查看 GitHub ↗ ← 返回插件目录

0Stars
0Forks
0未关闭 issue
—语言
2026-08-17最近推送
跨平台平台

功能简介

Zero-interruption audit + fuse blocking plugin for DeepSeek Harness / 零打扰 Agent 审计与保险丝拦截插件

✅
我们的评价
可用 — 实测通过,早期项目

Zero-interruption audit + fuse blocking plugin for DeepSeek Harness / 零打扰 Agent 审计与保险丝拦截插件 实测能干净安装、正常启动。早期项目,但功能可用。

「已验证」表示我们的自动化 CI 在干净 profile 里实际执行了 dsh plugin add 并启动成功——仅此而已。功能描述与版本兼容性均为作者声明。这不是安全审计,也不代表对第三方代码的背书。

README

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.

Option Default Meaning
fuseEnabled true master switch for fuse blocking
maxFileSizeMb 50 gzip-archive the monthly JSONL above this size
retentionDays 30 delete gzip archives older than this many days
cumulativeRiskWindowMs 600000 rolling window for the repeat-tag risk bonus
highRiskThreshold 60 score floor for the consecutive-high-risk bonus
workspaceRoot unset detect writes outside the workspace
homeDir OS home home used by path rules and ~ expansion
dshHome ~/.dsh or $DSH_HOME audit store at <dshHome>/risk-guard
protectedBranches ['main', 'master'] force-push to these branches is blocked
protectedRemotes [] force-push to these remotes is blocked
credentialFileNames common 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

Environment Status
dsh 0.1.0-rc.6 (npm next) tested
web profile tested
headless profile works (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

安装

🧩 让 Agent 自动装(推荐)

装一次目录插件,之后本站所有插件都能让 DeepSeek Harness 自动找、自动装:

dsh plugin add dshbase-catalog

然后对 agent 说「帮我装 dsh-risk-guard」,它会在目录里找到并自动安装。文档:dshbase-catalog · 已验证场景包。

该插件是 GitHub 源码(未发 npm)——直接从仓库装:

Web profile:

dsh plugin --profile web add github:shuxue6662-a11y/dsh-risk-guard

Headless(CLI)profile:

dsh plugin --profile headless add github:shuxue6662-a11y/dsh-risk-guard

实测报告

验证通过:从 GitHub 源码完成 L1 安装 + L2 加载 + L3 运行(dsh 0.1.0-rc.6)。

安全:尚未扫描——我们的每日静态扫描将很快覆盖它。

分享徽章

Security 里更多

浏览全部 7819 个插件 →