{"schemaVersion":2,"dataVersion":"20260822T105549Z-0a0b366f","generatedAt":"2026-08-22T10:55:49.138Z","source":{"id":"damonkoy-dsh-web-ui-dsh-ssh","slug":"damonkoy-dsh-web-ui-dsh-ssh","rank":617,"url":"https://github.com/DamonKoy/dsh-web-ui/tree/main/packages/dsh-ssh","name":"DamonKoy/dsh-web-ui#dsh-ssh","category":"remote","description":{"zh":"dsh web GUI 远程 SSH 操作：主机配置存储、持久化会话。","en":"Remote SSH operations for the dsh web GUI: host config store and persisted sessions."},"stars":4,"starsCheckedAt":"2026-08-21","repository":{"owner":"DamonKoy","repo":"dsh-web-ui","requestedRef":"main","subpath":"packages/dsh-ssh"},"npm":null,"downloads":null,"installMode":"github-source","upstreamInstall":"dsh plugin --profile web add github:DamonKoy/dsh-web-ui#path:/packages/dsh-ssh","tarball":null,"added":"2026-08-17","page":"https://awesome-dsh-plugin.com/p/DamonKoy/dsh-web-ui--packages-dsh-ssh/","screenshots":[],"discovery":{"provider":"awesome-dsh-plugin","channel":"plugins.json","indexUrl":"https://github.com/awesome-dsh-plugin/awesome-dsh-plugin","selection":"all curated entries"}},"report":{"sourceId":"damonkoy-dsh-web-ui-dsh-ssh","slug":"damonkoy-dsh-web-ui-dsh-ssh","policyVersion":"HT-DSH-0.2.2","scannedAt":"2026-08-22T08:26:46.731Z","scanStatus":"static-complete","verdict":"caution","score":94,"commit":"3647a33fa467e0335260468614f6eed04b196c38","commitDate":"2026-08-15T23:36:39+08:00","artifactDigest":"sha256:29eef0574f9f3d86b57dedf17677a80da46c633a63107c9e370c9f198ccf6702","downloadUrl":"https://github.com/DamonKoy/dsh-web-ui/archive/3647a33fa467e0335260468614f6eed04b196c38.tar.gz","installMode":"github-source","installCommand":"dsh plugin --profile web add github:DamonKoy/dsh-web-ui#path:/packages/dsh-ssh","manifest":{"found":true,"path":"package.json","parseError":null,"packageName":"@linxin666/dsh-ssh","packageVersion":"0.1.16","bundle":{"patch":"./cordis.patch.yml"},"client":{"inject":["@deepseek-ai/dsh-client-runtime","@deepseek-ai/dsh-client-connection","@deepseek-ai/dsh-client-ui-settings"],"platform":"web"},"lifecycleScripts":{},"peerDependencies":[]},"identity":{"status":"found","installMode":"github-source","upstreamNpm":null,"manifestName":"@linxin666/dsh-ssh","nameMatch":null,"npm":{"name":"@linxin666/dsh-ssh","latestVersion":"0.2.7","publishedAt":"2026-08-21T09:34:08.713Z","createdAt":"2026-08-13T15:05:54.130Z","versionCount":26,"maintainers":1,"repository":"https://github.com/zhu1090093659/dsh-web-ui.git","hasInstallScripts":false,"deprecated":false},"repositoryMatch":"mismatch","provenance":"none","tarballHost":null,"versionMatch":"differs"},"permissions":{"bundlePatch":"cordis.patch.yml","inserts":[{"id":"ssh","name":"@linxin666/dsh-ssh","path":"cordis.patch.yml","disabled":false}],"overrides":[],"jsExpressions":0,"clientPlatform":"web","parseErrors":[]},"capabilities":["agent-control","browser-ui","environment","filesystem","host-bundle","network","subprocess"],"outboundHosts":[{"host":"bellard.org","count":1}],"findings":[{"id":"HT-CLIENT-001","title":"浏览器端使用危险 HTML 注入点","severity":"medium","confidence":"medium","layer":"static","path":"src/client/sidebar-entry.ts","pathClass":"source","line":54,"evidence":".innerHTML =","remediation":"使用安全 DOM API，并在不可避免时对不可信内容进行严格清洗。","hash":"c7b53ba2524f6b772c4b85cf"},{"id":"HT-EXEC-001","title":"直接创建宿主子进程","severity":"low","confidence":"low","layer":"static","path":"tests/helpers/ssh-server.ts","pathClass":"test-example-docs","line":8,"evidence":"execFileSync","remediation":"通过 DSH 的受控 subprocess/shell seam 执行，并公开命令、参数及审批策略。","note":"位于测试、示例或文档目录","hash":"27c493d93b90419cf0243445"},{"id":"HT-EXEC-001","title":"直接创建宿主子进程","severity":"low","confidence":"low","layer":"static","path":"tests/helpers/ssh-server.ts","pathClass":"test-example-docs","line":8,"evidence":"node:child_process","remediation":"通过 DSH 的受控 subprocess/shell seam 执行，并公开命令、参数及审批策略。","note":"位于测试、示例或文档目录","hash":"4a25c26b742e50bee74ec34c"},{"id":"HT-EXEC-001","title":"直接创建宿主子进程","severity":"low","confidence":"low","layer":"static","path":"tests/helpers/sshd.ts","pathClass":"test-example-docs","line":7,"evidence":"execFileSync","remediation":"通过 DSH 的受控 subprocess/shell seam 执行，并公开命令、参数及审批策略。","note":"位于测试、示例或文档目录","hash":"045083685a4799b61724d7fa"},{"id":"HT-EXEC-001","title":"直接创建宿主子进程","severity":"low","confidence":"low","layer":"static","path":"tests/helpers/sshd.ts","pathClass":"test-example-docs","line":7,"evidence":"node:child_process","remediation":"通过 DSH 的受控 subprocess/shell seam 执行，并公开命令、参数及审批策略。","note":"位于测试、示例或文档目录","hash":"bc87216cfe47bdf6a3581ea9"},{"id":"HT-IDENTITY-001","title":"npm 上存在同名包但指向其他仓库","severity":"low","confidence":"medium","path":"package.json","pathClass":"manifest","line":1,"evidence":"npm repository=https://github.com/zhu1090093659/dsh-web-ui.git ≠ damonkoy/dsh-web-ui","remediation":"npm 上存在同名包但指向其它仓库；从源码安装时请使用 github: 引用并锁定 commit。","layer":"identity","hash":"9dfad864555d51b0a183f481"}],"counts":{"critical":0,"high":0,"medium":1,"low":1},"rawCounts":{"critical":0,"high":0,"medium":1,"low":5},"vulnerabilities":[],"coverage":{"source":"complete","manifest":"complete","bundleConfig":"complete","dependencies":"lockfile-missing","vulnerabilities":"lockfile-missing","identity":"complete","artifact":"not-compared","llmReview":"not-needed","dynamicRuntime":"not-run","humanReview":"not-run"},"inventory":{"filesScanned":51,"bytesScanned":316956,"truncated":false,"lockfiles":[],"pathClasses":{"markdown":3,"test-example-docs":13,"cordis":1,"manifest":1,"source":31,"data":2}},"limitations":["此结果为源码静态检测，不等同于无漏洞证明。","尚未比对 npm 发布包与源码的一致性，也未执行隔离运行和人工复核。","危险能力可能是插件功能所需，需结合用途与证据人工判断。"],"limitationKeys":["static-analysis-only","no-artifact-runtime-human-review","capability-needs-context"]},"timeline":[{"scannedAt":"2026-08-22T08:26:46.731Z","commit":"3647a33fa467e0335260468614f6eed04b196c38","policyVersion":"HT-DSH-0.2.2","verdict":"caution","status":"static-complete"},{"scannedAt":"2026-08-21T11:28:25.041Z","commit":"3647a33fa467e0335260468614f6eed04b196c38","policyVersion":"HT-DSH-0.2.1","verdict":"caution","status":"static-complete"},{"scannedAt":"2026-08-21T10:57:25.545Z","commit":"3647a33fa467e0335260468614f6eed04b196c38","policyVersion":"HT-DSH-0.2.0","verdict":"caution","status":"static-complete"}],"events":[{"kind":"policy-change","from":"HT-DSH-0.2.1","to":"HT-DSH-0.2.2","commit":"3647a33fa467e0335260468614f6eed04b196c38","policyVersion":"HT-DSH-0.2.2","at":"2026-08-22T08:26:46.731Z"},{"kind":"policy-change","from":"HT-DSH-0.2.0","to":"HT-DSH-0.2.1","commit":"3647a33fa467e0335260468614f6eed04b196c38","policyVersion":"HT-DSH-0.2.1","at":"2026-08-21T11:28:25.041Z"},{"kind":"first-scan","from":null,"to":"caution","commit":"3647a33fa467e0335260468614f6eed04b196c38","policyVersion":"HT-DSH-0.2.0","at":"2026-08-21T10:57:25.545Z"}]}