dsh-pin avatar

dsh-pin

Pin DSH sidebar conversations: pin to the top of a workspace, or lift the session into a global tray above ALL workspaces — multi-pin, exact restore, zero deps.

PluginDesktopStorageFile
Verification
L2 · Structured
Security
High
Health
Active
Trust
Silver

What it does

Pin DSH sidebar conversations: pin to the top of a workspace, or lift the session into a global tray above ALL workspaces — multi-pin, exact restore, zero deps.

Installation

dsh plugin --profile web add github:Yu-tao-Li/dsh-pin

Install method: GitHub · not yet tested in container (L3+)

Compatibility

DSH VersionStatus
not statedDeclared — not tested

Requirements

  • • Node.js: not stated
  • • DSH: declared "not stated"
  • • External credentials: none detected

Security Report

Automated static scan, not manual review.

DSH.SOHIGH-RISKSCAN8 FILES
887f5d
Automated review · daily
HIGH-RISK

Critical findings in non-blocking categories (dynamic code execution, shell execution, install scripts, obfuscation). Common in CLI/terminal plugins but worth reviewing.

2 critical·6 warning·26 info·8 files scanned
code-exec ×2
plugin version0.2.0dsh manifest
scanned commit887f5dd615b22026-08-19
latest commit887f5dd615b2

The scan result is only valid for the scanned commit. If the latest commit differs, the badge shows outdated until the daily pipeline rescans.

Disclaimer: automated static analysis, not a security guarantee. Always review what you install.

Risk: High2 critical · 6 warning · 26 info

• Static heuristic scan: done (8 files)

• Dependency vulnerabilities: requires deep audit (L3+)

• Permission sandboxing: requires runtime testing (L4+)

High-risk findings · 8 / 8

  • criticalChild process module usage (Node.js)e2e/browser-e2e.mjs:20
    import { spawn } from "node:child_process";
  • criticalChild process module usage (Node.js)e2e/screenshot.mjs:11
    import { spawn } from "node:child_process";
  • warningHTTP request to a raw IP addresse2e/browser-e2e.mjs:25
    const BASE = (process.argv[2] || "http://127.0.0.1:3081").replace(/\/$/, "");
  • warningHTTP request to a raw IP addresse2e/browser-e2e.mjs:51
    const r = await fetch(`http://127.0.0.1:${CDP_PORT}${path}`);
  • warningHTTP request to a raw IP addresse2e/browser-e2e.mjs:62
    const r = await fetch(`http://127.0.0.1:${CDP_PORT}/json/new?about:blank`, { method: "PUT" });
  • warningHTTP request to a raw IP addresse2e/screenshot.mjs:16
    const BASE = process.argv[2] || "http://127.0.0.1:3081";
  • warningHTTP request to a raw IP addresse2e/screenshot.mjs:25
    async function getJson(p) { const r = await fetch(`http://127.0.0.1:${CDP_PORT}${p}`); return r.json(); }
  • warningHTTP request to a raw IP addresse2e/screenshot.mjs:29
    if (!page) { const r = await fetch(`http://127.0.0.1:${CDP_PORT}/json/new?about:blank`, { method: "PUT" }); page = await r.json(); }

Heuristic static scan — may produce false positives. Review the source yourself before trusting.

Activity

Last commit 2026-08-18 · activity: Active

• Repo created: 2026-08-19

• Stars: ★ 0 · Forks: 0

• Health: Active — committed within last 30 days

Source

GitHub: github.com/Yu-tao-Li/dsh-pin

Was this page helpful?