Install verification: sandbox install ok, web smoke failed (L5) · tested on dsh 0.2.1-rc.2 · last checked Install verification details →
What it doesAI
Launches a separate Chrome per workspace with a debug port so the model can read and operate web pages while you watch in the sidebar.
- Starts an isolated Chrome per workspace with its own profile and login state
- Live page view in the right sidebar; no extension and no hijacking your daily browser
- Model reads page text and clicks controls by snapshot IDs; steps can be saved as reusable skills
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:x102201/dsh-helper-plugin-workspace-browserInstall 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
○ The author declares no dsh version requirement — install is not blocked by version.
| plugin \ dsh | dsh 0.2.1-rc.2 current | dsh 0.2.1-alpha.4 | dsh 0.2.1-alpha.2 |
|---|---|---|---|
| e1782d | ✗ | ✗ | ✗ |
e1782dgithub3 failed2026-10-19
https://github.com/x102201/dsh-helper-plugin-workspace-browser
✗dsh 0.2.1-rc.2current2026-10-19L5 · failed
- • Node.js: v24.14.0
- • DSH: 0.2.1-rc.2
- • Plugin artifact: github · https://github.com/x102201/dsh-helper-plugin-workspace-browser (version unstated)
ID: dsh-helper-plugin-workspace-browser@e1782d@dsh0.2.1-rc.2 · profile: l4-sandbox
Issued: 2026-10-19 · expires: 2026-10-26
View checks & evidence
L1–L3 are plugin-level static conclusions (baseline, identical across dsh versions): evidence is stored once per plugin.
✗dsh 0.2.1-alpha.42026-10-16L5 · failed
- • Node.js: v24.14.0
- • DSH: 0.2.1-alpha.4
- • Plugin artifact: github · https://github.com/x102201/dsh-helper-plugin-workspace-browser (version unstated)
ID: dsh-helper-plugin-workspace-browser@e1782d@dsh0.2.1-alpha.4 · profile: l4-sandbox
Issued: 2026-10-16 · expires: 2026-10-23
View checks & evidence
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-14L5 · failed
- • Node.js: v24.14.0
- • DSH: 0.2.1-alpha.2
- • Plugin artifact: github · https://github.com/x102201/dsh-helper-plugin-workspace-browser (version unstated)
ID: dsh-helper-plugin-workspace-browser@e1782d@dsh0.2.1-alpha.2 · profile: l4-sandbox
Issued: 2026-10-14 · expires: 2026-10-21
View checks & evidence
L1–L3 are plugin-level static conclusions (baseline, identical across dsh versions): evidence is stored once per plugin.
Author badges
Embed the official badges in your README to showcase security & install-test status:
`[](https://www.dsh.so/artifact/dsh-helper-plugin-workspace-browser/)`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 high — stricter wins → overall high.
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 (6)
- warningshellExec · shell
lib/chrome.js:42execFile( - warningchildProcess · code-exec
lib/paths.js:149const child = spawn('attrib.exe', ['+H', dir], { windowsHide: true, stdio: 'ignore', detached: true }); - warningchildProcessImport · code-exec
lib/playwright-runtime.js:11import { spawn } from 'node:child_process'; - warningchildProcess · code-exec
lib/skill-file.js:85const result = spawnSync(spec.command, spec.args, { - warningchildProcess · code-exec
lib/skill-file.js:94const child = spawn(spec.command, spec.args, { - warningchildProcess · code-exec
lib/win-focus.js:92child = spawn('powershell.exe', ['-NoProfile', '-NonInteractive', '-ExecutionPolicy', 'Bypass', '-Command', script], {
show 4 audit findings
- highWindows skill open passes a path to cmd.exe /c, enabling '&' command injection
lib/skill-file.js:42The file argument comes from skillFileOf(browserRoot, name); normalizeSkillName permits '&', '^', '%', '!' and other cmd metacharacters. With a skill name such as 'x&calc&', the generated command is cmd.exe /d /c start "" <path>/x&calc&.md, so cmd.exe executes calc. The model can create that name via workspace_browser_save_skill, and a user click on 'open' completes the chain.
- mediumSkill save tool trusts model-supplied confirm=true, bypassing real user confirmation
lib/skill-tool.js:63The only gate before saveSkill writes a file is a boolean supplied by the model. A prompt-injected model can call workspace_browser_save_skill with confirm:true and persist arbitrary skill names/steps without the user actually confirming. This also creates the malicious skill names used by the command-injection finding.
- mediumChrome profile with cookies is stored inside the workspace, protected only by best-effort .gitignore
lib/paths.js:106browserRootOf puts chrome-profile under <workspace>/.workspace-browser. That profile contains cookies, localStorage and session tokens. The module header itself says the profile should live in DSH_HOME to stay out of workspace git and DSH's file index. If the workspace is committed with git add -f, archived, synced, or indexed by another tool, credentials can leak.
- mediumRuntime auto-installs playwright-core via npm without explicit user consent
lib/playwright-runtime.js:73When playwright-core is missing, loadPlaywrightCore defaults to install=true and runs npm install into DSH_HOME/workspace-browser/vendor. This performs network access and executes package install scripts; a compromised npm registry/config or package would run code with the DSH user's privileges.
Plugin has a Windows command-injection path in skill opening, plus weak model-supplied skill confirmation, workspace-stored Chrome cookies, and runtime npm auto-install.
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-01 · activity: Active
• Repo created: 2026-09-25
• Stars: ★ 0 · Forks: 0
• Health: Active — committed within last 30 days
Source
GitHub: github.com/x102201/dsh-helper-plugin-workspace-browser
Author README
View on GitHub ↗The author's original README from the repository — fetched live, unedited (the English page loads the default README).
