PerryLink/dsh-permission-rules
C3Claude Code-style declarative permission rules for DeepSeek Harness: ordered allow/deny/ask rules with tool-name, argument (glob/regex), and workspace-path matching on the tools/pre-execute waterfall,
★ 100+ · PerryLink/dsh-permission-rules source on GitHub · this plugin in the registry
PerryLink/dsh-permission-rules is a DeepSeek Harness plugin rated C3 — powerful capability combined with sensitive behavior. It patches the dsh runtime, gates tool execution, executes system commands, starts a network server.
Installable plugin — declares a dsh.bundle manifest
What it can do
| Capability | Flag | Evidence |
|---|---|---|
| patches the dsh runtime | runtime_patch | ./cordis.patch.yml |
| gates tool execution | tool_gate | hook: tools/pre-execute |
| executes system commands | exec | ×8 in authored code, e.g. scripts/check-lockfile-drift.mjs:15, scripts/check-lockfile-drift.mjs:15 |
| starts a network server | net_server | ×3 in authored code, e.g. scripts/host-egress-probe.mjs:65, scripts/host-egress-probe.mjs:74 |
Services it injects
commands locale remote slots tools
Hooks it attaches
loader/volatile-update tools/post-execute tools/pre-execute
Environment variables it reads
HTTP_PROXY HOST_EGRESS_PROBE_PROXY HTTPS_PROXY HOST_EGRESS_PROBE_CHILD NODE_USE_ENV_PROXY ALL_PROXY DSH_HOME
How to read this
Levels measure capability surface and transparency, not maliciousness. A C3 plugin can be entirely legitimate — a desktop shell genuinely needs subprocesses. The point is that you can see this before installing. See the levels explained and how dsh plugins work.
Findings come from static analysis of shipped code; nothing is executed. Think a flag is wrong? Open an issue — every flag cites the file and line it came from.