Install verification: sandbox install failed (L4) · tested on dsh 0.2.1-alpha.4 · last checked Install verification details →
What it doesAI
DeepSeek Harness WSL kit with EN/ZH docs, install script, and cordis.patch for Windows browser and WSL agent plugins.
- English and Chinese documentation included
- Automates setup with install.sh
- cordis.patch enables Windows browser integration
Capability tags are AI-inferred or rule-extracted from the README (see badge) — vocabulary-limited, not install-verified. AI = inferred; README = literal keyword from the readme.
Installation
dsh plugin --profile web add github:173787247/dsh-wsl-kitInstall method: GitHub · sandbox install failed (L4) · verified on dsh 0.2.1-alpha.4
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
○ The author declares no dsh version requirement — install is not blocked by version.
| plugin \ dsh | dsh 0.2.1-alpha.4 | dsh 0.2.1-alpha.2 | dsh 0.2.0-rc.2 | dsh 0.2.0-rc.1 | dsh 0.1.7-rc.2 |
|---|---|---|---|---|---|
| be804a | ✗ | ✗ | ○ | ○ | ○ |
| 3b8835 | · | · | · | · | · |
be804agithub2 failed2026-10-18
https://github.com/173787247/dsh-wsl-kit
✗dsh 0.2.1-alpha.42026-10-16L4 · failed
- • Node.js: v24.14.0
- • DSH: 0.2.1-alpha.4
- • Plugin artifact: github · https://github.com/173787247/dsh-wsl-kit (version unstated)
ID: dsh-wsl-kit@be804a@dsh0.2.1-alpha.4 · profile: l4-sandbox
Issued: 2026-10-16 · expires: 2026-10-23
View checks & evidence
This level was not executed in this scan.
L1–L3 are plugin-level static conclusions (baseline, identical across dsh versions): evidence is stored once per plugin.
✗dsh 0.2.1-alpha.22026-10-11L4 · failed
- • Node.js: v24.14.0
- • DSH: 0.2.1-alpha.2
- • Plugin artifact: github · https://github.com/173787247/dsh-wsl-kit (version unstated)
ID: dsh-wsl-kit@be804a@dsh0.2.1-alpha.2 · profile: l4-sandbox
Issued: 2026-10-11 · expires: 2026-10-18
View checks & evidence
This level was not executed in this scan.
L1–L3 are plugin-level static conclusions (baseline, identical across dsh versions): evidence is stored once per plugin.
○dsh 0.2.0-rc.22026-10-09not tested
- • Node.js: v24.14.0
- • DSH: 0.2.0-rc.2
- • Plugin artifact: github · https://github.com/173787247/dsh-wsl-kit (version unstated)
ID: dsh-wsl-kit@be804a@dsh0.2.0-rc.2 · profile: l4-sandbox
Issued: 2026-10-09 · expires: 2026-10-16
View checks & evidence
not present in web-profile loader inventory
L1–L3 are plugin-level static conclusions (baseline, identical across dsh versions): evidence is stored once per plugin.
○dsh 0.2.0-rc.12026-09-29not tested
- • Node.js: v24.14.0
- • DSH: 0.2.0-rc.1
- • Plugin artifact: github · https://github.com/173787247/dsh-wsl-kit (version unstated)
ID: dsh-wsl-kit@be804a@dsh0.2.0-rc.1 · profile: l4-sandbox
Issued: 2026-09-29 · expires: 2026-10-06
View checks & evidence
not present in web-profile loader inventory
L1–L3 are plugin-level static conclusions (baseline, identical across dsh versions): evidence is stored once per plugin.
○dsh 0.1.7-rc.22026-09-26not tested
- • Node.js: v24.14.0
- • DSH: 0.1.7-rc.2
- • Plugin artifact: github · https://github.com/173787247/dsh-wsl-kit (version unstated)
ID: dsh-wsl-kit@be804a@dsh0.1.7-rc.2 · profile: l4-sandbox
Issued: 2026-09-26 · expires: 2026-10-03
View checks & evidence
not present in web-profile loader inventory
L1–L3 are plugin-level static conclusions (baseline, identical across dsh versions): evidence is stored once per plugin.
○dsh 0.1.7-rc.12026-09-23not tested
- • Node.js: v24.14.0
- • DSH: 0.1.7-rc.1
- • Plugin artifact: github · https://github.com/173787247/dsh-wsl-kit (version unstated)
ID: dsh-wsl-kit@be804a@dsh0.1.7-rc.1 · profile: l4-sandbox
Issued: 2026-09-23 · expires: 2026-09-30
View checks & evidence
This level was not executed in this scan.
L1–L3 are plugin-level static conclusions (baseline, identical across dsh versions): evidence is stored once per plugin.
○dsh 0.1.6-alpha.22026-09-20not tested
- • Node.js: v24.14.0
- • DSH: 0.1.6-alpha.2
- • Plugin artifact: github · https://github.com/173787247/dsh-wsl-kit (version unstated)
ID: dsh-wsl-kit@be804a@dsh0.1.6-alpha.2 · profile: l3-fullscan
Issued: 2026-09-20 · expires: 2026-09-27
View checks & evidence
not present in web-profile loader inventory
L1–L3 are plugin-level static conclusions (baseline, identical across dsh versions): evidence is stored once per plugin.
○dsh 0.1.6-alpha.12026-09-16not tested
- • Node.js: v24.14.0
- • DSH: 0.1.6-alpha.1
- • Plugin artifact: github · https://github.com/173787247/dsh-wsl-kit (version unstated)
ID: dsh-wsl-kit@be804a@dsh0.1.6-alpha.1 · profile: l4-sandbox
Issued: 2026-09-16 · expires: 2026-09-23
View checks & evidence
not present in web-profile loader inventory
L1–L3 are plugin-level static conclusions (baseline, identical across dsh versions): evidence is stored once per plugin.
○dsh 0.1.5-rc.22026-09-11not tested
- • Node.js: v24.14.0
- • DSH: 0.1.5-rc.2
- • Plugin artifact: github · https://github.com/173787247/dsh-wsl-kit (version unstated)
ID: dsh-wsl-kit@be804a@dsh0.1.5-rc.2 · profile: l4-sandbox
Issued: 2026-09-11 · expires: 2026-09-18
View checks & evidence
not present in web-profile loader inventory
L1–L3 are plugin-level static conclusions (baseline, identical across dsh versions): evidence is stored once per plugin.
○dsh 0.1.3-alpha.22026-09-10not tested
- • Node.js: v24.14.0
- • DSH: 0.1.3-alpha.2
- • Plugin artifact: github · https://github.com/173787247/dsh-wsl-kit (version unstated)
ID: dsh-wsl-kit@be804a@dsh0.1.3-alpha.2 · profile: l3-fullscan
Issued: 2026-09-10 · expires: 2026-09-17
View checks & evidence
not present in web-profile loader inventory
L1–L3 are plugin-level static conclusions (baseline, identical across dsh versions): evidence is stored once per plugin.
○prehistory2026-10-04not tested
- • Node.js: v24.14.0
- • DSH: unknown
- • Plugin artifact: github · https://github.com/173787247/dsh-wsl-kit (version unstated)
ID: dsh-wsl-kit@be804a@dshunknown · profile: l4-sandbox
Issued: 2026-10-04 · expires: 2026-10-11
View checks & evidence
not present in web-profile loader inventory
L1–L3 are plugin-level static conclusions (baseline, identical across dsh versions): evidence is stored once per plugin.
3b8835local2026-09-08
No runtime install test for this version (static scan only) — compatibility unknown, never assumed.
Author badges
Embed the official badges in your README to showcase security & install-test status:
`[](https://www.dsh.so/artifact/dsh-wsl-kit/)`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.
Static low, dynamic medium — stricter wins → overall medium.
v0.1.0dsh manifest0.1.0git2026-10-210.1.0same versionclean · gitVet is an AST static scan (npm artifact or git source).
show static findings (12)
- warningnetIp · network
scripts/check-dsh-noproxy.sh:9curl --noproxy '*' -s -o /dev/null -w "3080=%{http_code}\n" --connect-timeout 2 http://127.0.0.1:3080/ || echo "3080=fail" - warningnetIp · network
scripts/check-dsh-noproxy.sh:10curl --noproxy '*' -s -o /dev/null -w "3000=%{http_code}\n" --connect-timeout 2 http://127.0.0.1:3000/ || echo "3000=fail" - warningnetIp · network
scripts/check-dsh-noproxy.sh:11curl --noproxy '*' -sI http://127.0.0.1:3080/ 2>&1 | head -8 || true - warningcurlDownload · network
scripts/check-dsh-noproxy.sh:9curl --noproxy '*' -s -o /dev/null -w "3080=%{http_code}\n" --connect-timeout 2 http://127.0.0.1:3080/ || echo "3080=fail" - warningcurlDownload · network
scripts/check-dsh-noproxy.sh:10curl --noproxy '*' -s -o /dev/null -w "3000=%{http_code}\n" --connect-timeout 2 http://127.0.0.1:3000/ || echo "3000=fail" - warningnetIp · network
scripts/check-dsh-ports.sh:9curl -s -o /dev/null -w "3080=%{http_code}\n" --connect-timeout 2 http://127.0.0.1:3080/ || echo "3080=fail" - warningnetIp · network
scripts/check-dsh-ports.sh:10curl -s -o /dev/null -w "3000=%{http_code}\n" --connect-timeout 2 http://127.0.0.1:3000/ || echo "3000=fail" - warningcurlDownload · network
scripts/check-dsh-ports.sh:9curl -s -o /dev/null -w "3080=%{http_code}\n" --connect-timeout 2 http://127.0.0.1:3080/ || echo "3080=fail" - warningcurlDownload · network
scripts/check-dsh-ports.sh:10curl -s -o /dev/null -w "3000=%{http_code}\n" --connect-timeout 2 http://127.0.0.1:3000/ || echo "3000=fail" - warningnetIp · network
scripts/check-ollama-ctx.sh:13curl --noproxy '*' -s http://127.0.0.1:11434/api/tags | python3 - <<'PY' - warningnetIp · network
scripts/install-tray.mjs:4const result = await execute({ action: "install_tray", url: "http://127.0.0.1:3080" }); - warningnetIp · network
scripts/probe-dsh.sh:19curl --noproxy '*' -s -o /dev/null -w "3080=%{http_code} 3081=%{http_code}\n" --connect-timeout 3 http://127.0.0.1:3080/ http://127.0.0.1:30
show 4 audit findings
- mediumMeta-bundle installs 32 GitHub plugins pinned only to a moving default branch
package.json:34Installing this bundle executes whatever code currently sits on the default branch of 32 different repositories under one GitHub account. There is no lockfile, tag or SHA in the manifest, so a force-push, repo takeover or account compromise silently rewrites the code that runs inside the harness, which has shell and filesystem access. The bundle itself is code-free, so this dependency graph *is* its attack surface.
- mediumHelper script binds the DSH web control plane to a routable LAN address
scripts/start-dsh-lan.sh:14HOST_IP is resolved from the eth2 / hostname -I address (line 8-12), not loopback, so the harness web UI that drives an agent with shell access is listening on the WSL LAN interface. On mirrored/ bridged Windows networking this can make the agent control plane reachable from other machines; no authentication, firewall or token is set up by the script.
- lowDev script imports plugin code from an absolute local /mnt/c path
scripts/install-tray.mjs:2The script executes a module resolved from an arbitrary, user-writable Windows-mounted path outside the package. It is not shipped (package.json "files" excludes scripts/) and the placeholder path "YOUR" means it fails for anyone else today, but if a user edits in their real path, whatever now occupies that directory is executed with their privileges.
- lowSmoke script stages an unharvested install.sh into /tmp and runs it with bash
scripts/smoke-github-kit.sh:10The executed install.sh is referenced but absent from this repository harvest, so the code that actually runs under KIT_SET=github (which adds plugins to the user's DSH profile) is unreviewed, and it is staged into the shared, world-readable /tmp namespace before execution rather than being run in place.
dsh-wsl-kit is a config-only meta-bundle: cordis.patch.yml ships no code, but it pulls 32 unpinned GitHub plugin repos and its helper script exposes dsh web on a LAN address.
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-10-16 · activity: Active
• Repo created: 2026-08-29
• Stars: ★ 1 · Forks: 0
• Health: Active — committed within last 30 days
Source
GitHub: github.com/173787247/dsh-wsl-kit
Author README
View on GitHub ↗The author's original README from the repository — fetched live, unedited (the English page loads the default README).
