{"schemaVersion":2,"dataVersion":"20260822T105549Z-0a0b366f","generatedAt":"2026-08-22T10:55:49.138Z","source":{"id":"gdwhisper-dsh-web-startup-auth","slug":"gdwhisper-dsh-web-startup-auth","rank":395,"url":"https://github.com/GDWhisper/dsh-web-startup-auth","name":"GDWhisper/dsh-web-startup-auth","category":"security","description":{"zh":"替换 dsh web 启动器以允许绑定 0.0.0.0，并以账号密码登录为门槛：签名会话 cookie、/api 路由保护、设置面板认证标签页，以及轮换签名密钥使全部会话失效的重置 CLI。","en":"Replaces the dsh web startup to allow binding 0.0.0.0, gated by username/password login: signed session cookies, /api route protection, an auth tab in the settings panel, and a reset CLI that rotates the signing key to invalidate all sessions."},"stars":7,"starsCheckedAt":"2026-08-21","repository":{"owner":"GDWhisper","repo":"dsh-web-startup-auth","requestedRef":null,"subpath":""},"npm":null,"downloads":null,"installMode":"github-source","upstreamInstall":"dsh plugin --profile web add github:GDWhisper/dsh-web-startup-auth","tarball":null,"added":"2026-08-19","page":"https://awesome-dsh-plugin.com/p/GDWhisper/dsh-web-startup-auth/","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":"gdwhisper-dsh-web-startup-auth","slug":"gdwhisper-dsh-web-startup-auth","policyVersion":"HT-DSH-0.2.2","scannedAt":"2026-08-22T08:24:30.582Z","scanStatus":"static-complete","verdict":"pass","score":99,"commit":"795cbb02e6e2f752c0f37d7bb2ea4cefb16eb5b5","commitDate":"2026-08-20T22:47:21+08:00","artifactDigest":"sha256:5dde97a4f7ba8c8daf3458b961fbb8d1c8cfd73ed92e84cee9f1dee7a3cb1a11","downloadUrl":"https://github.com/GDWhisper/dsh-web-startup-auth/archive/795cbb02e6e2f752c0f37d7bb2ea4cefb16eb5b5.tar.gz","installMode":"github-source","installCommand":"dsh plugin --profile web add github:GDWhisper/dsh-web-startup-auth","manifest":{"found":true,"path":"package.json","parseError":null,"packageName":"dsh-web-startup-auth","packageVersion":"0.1.1","bundle":{"patch":"./cordis.patch.yml"},"client":{"platform":"web","inject":["@deepseek-ai/dsh-client-runtime","@deepseek-ai/dsh-client-ui-settings"]},"lifecycleScripts":{},"peerDependencies":["@deepseek-ai/cordis"]},"identity":{"status":"found","installMode":"github-source","upstreamNpm":null,"manifestName":"dsh-web-startup-auth","nameMatch":null,"npm":{"name":"dsh-web-startup-auth","latestVersion":"0.1.1","publishedAt":"2026-08-20T12:17:03.831Z","createdAt":"2026-08-18T12:27:52.809Z","versionCount":2,"maintainers":1,"repository":null,"hasInstallScripts":false,"deprecated":false},"repositoryMatch":"missing","provenance":"none","tarballHost":null,"versionMatch":"match"},"permissions":{"bundlePatch":"cordis.patch.yml","inserts":[{"id":"dsh-web-startup-auth","name":"dsh-web-startup-auth","path":"cordis.patch.yml","disabled":false},{"id":"remote-web-startup","name":"dsh-web-startup-auth/startup","path":"cordis.patch.yml","disabled":false},{"id":"web-auth","name":"dsh-web-startup-auth/auth","path":"cordis.patch.yml","disabled":false}],"overrides":[{"id":"web-startup","tier":"normal","mode":"override","disabled":true,"replacesImplementation":false,"name":null,"keys":[],"path":"cordis.patch.yml"},{"id":"connection","tier":"normal","mode":"override","disabled":false,"replacesImplementation":false,"name":null,"keys":[],"path":"cordis.patch.yml"}],"jsExpressions":0,"clientPlatform":"web","parseErrors":[]},"capabilities":["agent-control","browser-ui","environment","filesystem","host-bundle","network","subprocess"],"outboundHosts":[],"findings":[{"id":"HT-EXEC-001","title":"直接创建宿主子进程","severity":"low","confidence":"medium","layer":"static","path":"lib/startup.js","pathClass":"source","line":17,"evidence":"execSync","remediation":"通过 DSH 的受控 subprocess/shell seam 执行，并公开命令、参数及审批策略。","hash":"75f01a8d87c1e79d7d979245"},{"id":"HT-EXEC-001","title":"直接创建宿主子进程","severity":"low","confidence":"medium","layer":"static","path":"lib/startup.js","pathClass":"source","line":17,"evidence":"node:child_process","remediation":"通过 DSH 的受控 subprocess/shell seam 执行，并公开命令、参数及审批策略。","hash":"914ec0b297946c0d3d579f3b"},{"id":"HT-EXEC-001","title":"直接创建宿主子进程","severity":"low","confidence":"medium","layer":"static","path":"src/startup.ts","pathClass":"source","line":18,"evidence":"execSync","remediation":"通过 DSH 的受控 subprocess/shell seam 执行，并公开命令、参数及审批策略。","hash":"d826b55cdb0723bb0d9aeff7"},{"id":"HT-EXEC-001","title":"直接创建宿主子进程","severity":"low","confidence":"medium","layer":"static","path":"src/startup.ts","pathClass":"source","line":18,"evidence":"node:child_process","remediation":"通过 DSH 的受控 subprocess/shell seam 执行，并公开命令、参数及审批策略。","hash":"f8380d17095a1236eddd86ad"}],"counts":{"critical":0,"high":0,"medium":0,"low":4},"rawCounts":{"critical":0,"high":0,"medium":0,"low":4},"vulnerabilities":[],"coverage":{"source":"complete","manifest":"complete","bundleConfig":"complete","dependencies":"lockfile-present","vulnerabilities":"complete","identity":"complete","artifact":"not-compared","llmReview":"not-needed","dynamicRuntime":"not-run","humanReview":"not-run"},"inventory":{"filesScanned":31,"bytesScanned":441553,"truncated":false,"lockfiles":["package-lock.json"],"pathClasses":{"test-example-docs":3,"markdown":4,"cordis":1,"source":20,"data":2,"manifest":1}},"limitations":["此结果为源码静态检测，不等同于无漏洞证明。","尚未比对 npm 发布包与源码的一致性，也未执行隔离运行和人工复核。","危险能力可能是插件功能所需，需结合用途与证据人工判断。"],"limitationKeys":["static-analysis-only","no-artifact-runtime-human-review","capability-needs-context"]},"timeline":[{"scannedAt":"2026-08-22T08:24:30.582Z","commit":"795cbb02e6e2f752c0f37d7bb2ea4cefb16eb5b5","policyVersion":"HT-DSH-0.2.2","verdict":"pass","status":"static-complete"},{"scannedAt":"2026-08-21T11:24:54.327Z","commit":"795cbb02e6e2f752c0f37d7bb2ea4cefb16eb5b5","policyVersion":"HT-DSH-0.2.1","verdict":"pass","status":"static-complete"},{"scannedAt":"2026-08-21T10:53:38.716Z","commit":"795cbb02e6e2f752c0f37d7bb2ea4cefb16eb5b5","policyVersion":"HT-DSH-0.2.0","verdict":"pass","status":"static-complete"}],"events":[{"kind":"policy-change","from":"HT-DSH-0.2.1","to":"HT-DSH-0.2.2","commit":"795cbb02e6e2f752c0f37d7bb2ea4cefb16eb5b5","policyVersion":"HT-DSH-0.2.2","at":"2026-08-22T08:24:30.582Z"},{"kind":"policy-change","from":"HT-DSH-0.2.0","to":"HT-DSH-0.2.1","commit":"795cbb02e6e2f752c0f37d7bb2ea4cefb16eb5b5","policyVersion":"HT-DSH-0.2.1","at":"2026-08-21T11:24:54.327Z"},{"kind":"first-scan","from":null,"to":"pass","commit":"795cbb02e6e2f752c0f37d7bb2ea4cefb16eb5b5","policyVersion":"HT-DSH-0.2.0","at":"2026-08-21T10:53:38.716Z"}]}