@lychee888/galvanize-dsh avatar

@lychee888/galvanize-dsh

Triggers inside your DSH agent: wake a fresh DeepSeek Harness session when files, mail, webhooks, or git events happen. Native Cordis bundle, heartbeat-proved install.

PluginDeveloperProductivityStorageGitHub integration
Verification
L4 · Install tested
Failed
Risk
LowRisk
Health
Active
Trust
Silver

Install verification: sandbox install ok, web smoke failed (L5) · tested on dsh 0.2.1-rc.2 · last checked Install verification details →

What it does

Triggers inside your DSH agent: wake a fresh DeepSeek Harness session when files, mail, webhooks, or git events happen. Native Cordis bundle, heartbeat-proved install.

Installation

dsh plugin --profile web add github:lychee888/galvanize-dsh#v0.1.6
verified v0.1.6

Install method: GitHub · sandbox install ok, web smoke failed (L5)

Verification & Compatibility

Grouped by plugin version: each card lists the dsh versions actually tested against that artifact version and their install verdicts (L5 wins). Untested combinations are omitted — absence means untested, never assumed compatible. L1–L3 are a plugin-level static archive (independent of the dsh version — the same verdict on every dsh row): they sit in each row's level grid next to L4/L5, marked "static", while their evidence is stored once per plugin inside that row's "checks & evidence" instead of being duplicated per version.

External credentials (plugin-level): none detected

Declared DSH compatibilityfrom package.json · peerDependencies
author declared no dsh version requirement

○ The author declares no dsh version requirement — install is not blocked by version.

Install compatibility matrix (rows = plugin versions〔latest 5〕, columns = dsh versions〔latest 5〕)
At-a-glance → evidence in the cards below
plugin \ dshdsh 0.2.1-rc.2
current
v0.1.6✗
Install compatibility (by plugin version, dsh versions within)
Legend:✓ L5 runtime verified○ ecosystem plugin◼ ecosystem app✗ failed
v0.1.6github1 failed2026-10-21

https://github.com/lychee888/galvanize-dsh

✗dsh 0.2.1-rc.2current2026-10-21L5 · failed
Environment & artifact
  • • Node.js: v24.14.0
  • • DSH: 0.2.1-rc.2
  • • Plugin artifact: github · https://github.com/lychee888/galvanize-dsh#v0.1.6
Levels (L1–L3 plugin-level static archive · L4/L5 newest real verdicts for this combination)
L1 static
Passed
L2 static
Passed
L3 static
Passed
L4 sandbox
Passed
L5 runtime
Failed
Sandbox install failed
L5 · failed

ID: galvanize-dsh-2@v0.1.6@dsh0.2.1-rc.2 · profile: l3-fullscan

Issued: 2026-10-21 · expires: 2026-10-28

View checks & evidence
L1 · Found✓ Passed
Defaulted from L3✓ Passed
defaulted to passed — L3 install spec passed (full-registry L3 sweep policy)
L2 · Structured✓ Passed
Defaulted from L3✓ Passed
defaulted to passed — L3 install spec passed (full-registry L3 sweep policy)
L3 · Install spec✓ Passed
Install command parsed✓ Passed
Source: registry verification · Method: install spec parse · Captured 2026-10-21
DSH version declared✓ Passed
Source: registry verification · Method: DSH version declaration · Captured 2026-10-21
L4 · Install tested✓ Passed
Install executed in confined sandbox✓ Passed
Source: Windows ACL sandbox · Method: sandbox install run · Captured 2026-10-19
spec github:lychee888/galvanize-dsh#v0.1.6 · channel GitHub source · outcome ran · exit 0
check took: 1.9s
Install succeeded✓ Passed
Source: Windows ACL sandbox · Method: sandbox install run · Captured 2026-10-19
spec github:lychee888/galvanize-dsh#v0.1.6 · channel GitHub source · outcome ran · exit 0
check took: 1.9s
Installed artifact confirmed✓ Passed
Source: Windows ACL sandbox · Method: sandbox install run · Captured 2026-10-19
spec github:lychee888/galvanize-dsh#v0.1.6 · channel GitHub source · outcome ran · exit 0
check took: 1.9s
L5 · Run tested✕ Failed
Sandbox install passed✓ Passed
Source: Windows ACL sandbox · Method: sandbox install run · Captured 2026-10-19
spec github:lychee888/galvanize-dsh#v0.1.6 · install mode reused L4 scratch
check took: 0ms
Web boot ready✕ Failed
plugin tree failed to load
HTTP endpoint served✕ Failed

L1–L3 are plugin-level static conclusions (baseline, identical across dsh versions): evidence is stored once per plugin.

Only the latest 3 published versions are shown; source-snapshot (commit hash) groups, unstated groups and older versions are omitted — the full archive stays in the data layer (snapshot/unstated groups appear only when a plugin has no published version).

Author badges

Embed the official badges in your README to showcase security & install-test status:

dsh.so risk
`[![dsh.so risk](https://www.dsh.so/badge/galvanize-dsh-2.svg)](https://www.dsh.so/artifact/galvanize-dsh-2/)`

Security Report

Two automated layers, neither a manual review: a static scan (per-plugin rule checks) and a model-driven dynamic security audit that covers only the subset static-flagged at warn or above and never executes plugin code.

galvanize-dsh-2Automated review · daily

Static low, dynamic medium — stricter wins → overall medium.

static low→dynamic medium→overall medium
0 critical·0 high
mediumoverall · medium
1static scan · vet primaryvet AST static analysis (npm artifact or git source)
plugin versionv0.1.6dsh manifest
scanned versionv0.1.6git2026-10-21
current versionv0.1.6same version
vet verdictclean · git

Vet is an AST static scan (npm artifact or git source).

show static findings (5)
  • warningchildProcess · code-execsrc/cli.ts:88

    const r = spawnSync('npm', ['pack', '--pack-destination', outDir, src], {

  • warningchildProcess · code-execsrc/cli.ts:123

    const probe = spawnSync('dsh', ['--version'], { shell: process.platform === 'win32', timeout: 15_000, encoding: 'utf8' })

  • warningchildProcess · code-execsrc/cli.ts:148

    const r = spawnSync(dsh.cmd, [...dsh.args, ...argv], {

  • warningnetIp · networksrc/core-client.ts:78

    const res = await fetch(`http://127.0.0.1:${port}/version`, { signal: AbortSignal.timeout(timeoutMs) })

  • warningnetIp · networksrc/core-client.ts:121

    const res = await fetch(`http://127.0.0.1:${info.port}/manage/${encodeURIComponent(op)}`, {

2model reads redacted source context · never executes plugin code
highest grademedium
merged intooverall medium
audited at2026-10-19
findings0 critical·0 high1 medium / 0 low hidden
show 1 audit findings
  • mediumtrigger_add forwards a model-supplied wake command template that the core executes as a shell commandsrc/index.ts:147

    The 'dsh' wake mode is described as the safe default, yet any args.command supplied in the same tool call silently replaces the preset and is sent as body.command with wake='shell' (line 147; also line 151 for wake='shell'). Per the file's own comments the core spawns that template with a shell, so a model influenced by untrusted content (a watched file, a webhook payload, a chat message) can install a trigger whose every fire runs an arbitrary command on the host with the core daemon's privileges, persisting beyond the session and without another model turn. The plugin performs no validation,

Thin DSH trigger-tool client; no exfil or obfuscation, but trigger_add forwards a model-supplied shell wake command to the core daemon, giving persistent host command execution.

Rule: the dynamic audit can only raise risk, never lower it (raise-only, never an exemption); a wrong raise is withdrawn by human review and the tier falls back to the static verdict. Overall verdict = the stricter of the two layers.

Disclaimer: the static scan and the dynamic security audit are both automated analysis, not a security guarantee. Always review what you install.

Activity

Last commit 2026-09-30 · activity: Active

• Repo created: 2026-08-28

• Stars: ★ 0 · Forks: 0

• Health: Active — committed within last 30 days

Source

GitHub: github.com/lychee888/galvanize-dsh

Was this page helpful?