{"schemaVersion":2,"dataVersion":"20260822T105549Z-0a0b366f","generatedAt":"2026-08-22T10:55:49.138Z","source":{"id":"tiantianflow-dsh-tailscale-gateway","slug":"tiantianflow-dsh-tailscale-gateway","rank":266,"url":"https://github.com/TiantianFlow/dsh-tailscale-gateway","name":"TiantianFlow/dsh-tailscale-gateway","category":"remote","description":{"zh":"为 DeepSeek Harness Web 提供私有 Tailscale 访问：用 Serve 注入的可信 Tailscale-User-Login 请求头做用户白名单，仅回环网关，受保护的 Serve 配置。","en":"Private Tailscale access for DeepSeek Harness Web that allowlists users from the trusted Tailscale-User-Login header that Serve injects, with a loopback-only gateway and guarded Serve setup."},"stars":11,"starsCheckedAt":"2026-08-21","repository":{"owner":"TiantianFlow","repo":"dsh-tailscale-gateway","requestedRef":null,"subpath":""},"npm":null,"downloads":null,"installMode":"github-source","upstreamInstall":"dsh plugin --profile web add github:TiantianFlow/dsh-tailscale-gateway","tarball":null,"added":"2026-08-20","page":"https://awesome-dsh-plugin.com/p/TiantianFlow/dsh-tailscale-gateway/","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":"tiantianflow-dsh-tailscale-gateway","slug":"tiantianflow-dsh-tailscale-gateway","policyVersion":"HT-DSH-0.2.2","scannedAt":"2026-08-22T08:23:00.714Z","scanStatus":"static-complete","verdict":"pass","score":99,"commit":"e62f91b5781877a807d5ff78be6343017bd7393a","commitDate":"2026-08-21T11:01:55-04:00","artifactDigest":"sha256:35fdca758bb1180f27befeb369d80a6585ac5e254942d98eff766e9e49613b05","downloadUrl":"https://github.com/TiantianFlow/dsh-tailscale-gateway/archive/e62f91b5781877a807d5ff78be6343017bd7393a.tar.gz","installMode":"github-source","installCommand":"dsh plugin --profile web add github:TiantianFlow/dsh-tailscale-gateway","manifest":{"found":true,"path":"package.json","parseError":null,"packageName":"dsh-one-gateway","packageVersion":"0.1.0","bundle":{"patch":"./cordis.patch.yml"},"client":null,"lifecycleScripts":{},"peerDependencies":[]},"identity":{"status":"not-published","installMode":"github-source","upstreamNpm":null,"manifestName":"dsh-one-gateway","nameMatch":null,"npm":null,"repositoryMatch":"not-checked","provenance":"not-checked","tarballHost":null},"permissions":{"bundlePatch":"cordis.patch.yml","inserts":[{"id":"dsh-one-gateway","name":"dsh-one-gateway","path":"cordis.patch.yml","disabled":false}],"overrides":[],"jsExpressions":0,"clientPlatform":null,"parseErrors":[]},"capabilities":["browser-ui","environment","filesystem","host-bundle","network","subprocess"],"outboundHosts":[],"findings":[{"id":"HT-EXEC-001","title":"直接创建宿主子进程","severity":"low","confidence":"medium","layer":"static","path":"src/providers/command.mjs","pathClass":"source","line":1,"evidence":"node:child_process","remediation":"通过 DSH 的受控 subprocess/shell seam 执行，并公开命令、参数及审批策略。","hash":"092c440dc245d7cab0b4c30b"},{"id":"HT-EXEC-001","title":"直接创建宿主子进程","severity":"low","confidence":"medium","layer":"static","path":"src/setup/cli.mjs","pathClass":"source","line":1,"evidence":"spawnSync","remediation":"通过 DSH 的受控 subprocess/shell seam 执行，并公开命令、参数及审批策略。","hash":"9d57454aee9e1d5fe279c93e"},{"id":"HT-EXEC-001","title":"直接创建宿主子进程","severity":"low","confidence":"medium","layer":"static","path":"src/setup/cli.mjs","pathClass":"source","line":1,"evidence":"node:child_process","remediation":"通过 DSH 的受控 subprocess/shell seam 执行，并公开命令、参数及审批策略。","hash":"76184a3c2bd1774d28db97ef"},{"id":"HT-EXEC-001","title":"直接创建宿主子进程","severity":"low","confidence":"medium","layer":"static","path":"src/setup/detect.mjs","pathClass":"source","line":1,"evidence":"spawnSync","remediation":"通过 DSH 的受控 subprocess/shell seam 执行，并公开命令、参数及审批策略。","hash":"e592d70c9f942e03313010d0"},{"id":"HT-EXEC-001","title":"直接创建宿主子进程","severity":"low","confidence":"medium","layer":"static","path":"src/setup/detect.mjs","pathClass":"source","line":1,"evidence":"node:child_process","remediation":"通过 DSH 的受控 subprocess/shell seam 执行，并公开命令、参数及审批策略。","hash":"d3117b283884999b34171ea6"},{"id":"HT-EXEC-001","title":"直接创建宿主子进程","severity":"low","confidence":"low","layer":"static","path":"test/sidecar-entry.test.mjs","pathClass":"test-example-docs","line":2,"evidence":"node:child_process","remediation":"通过 DSH 的受控 subprocess/shell seam 执行，并公开命令、参数及审批策略。","note":"位于测试、示例或文档目录","hash":"118bba4b7489aff1c36dc2ad"},{"id":"HT-EXEC-001","title":"直接创建宿主子进程","severity":"low","confidence":"low","layer":"static","path":"test/tls-helper.mjs","pathClass":"test-example-docs","line":1,"evidence":"execFileSync","remediation":"通过 DSH 的受控 subprocess/shell seam 执行，并公开命令、参数及审批策略。","note":"位于测试、示例或文档目录","hash":"11b1d6c46b4c1a9db4e4648b"},{"id":"HT-EXEC-001","title":"直接创建宿主子进程","severity":"low","confidence":"low","layer":"static","path":"test/tls-helper.mjs","pathClass":"test-example-docs","line":1,"evidence":"node:child_process","remediation":"通过 DSH 的受控 subprocess/shell seam 执行，并公开命令、参数及审批策略。","note":"位于测试、示例或文档目录","hash":"6a987ee57d0910ee534ca00c"}],"counts":{"critical":0,"high":0,"medium":0,"low":5},"rawCounts":{"critical":0,"high":0,"medium":0,"low":8},"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":61,"bytesScanned":317010,"truncated":false,"lockfiles":["pnpm-lock.yaml"],"pathClasses":{"markdown":4,"source":36,"cordis":1,"test-example-docs":18,"manifest":1,"yaml":1}},"limitations":["此结果为源码静态检测，不等同于无漏洞证明。","尚未比对 npm 发布包与源码的一致性，也未执行隔离运行和人工复核。","危险能力可能是插件功能所需，需结合用途与证据人工判断。"],"limitationKeys":["static-analysis-only","no-artifact-runtime-human-review","capability-needs-context"]},"timeline":[{"scannedAt":"2026-08-22T08:23:00.714Z","commit":"e62f91b5781877a807d5ff78be6343017bd7393a","policyVersion":"HT-DSH-0.2.2","verdict":"pass","status":"static-complete"},{"scannedAt":"2026-08-21T11:22:42.769Z","commit":"1a578019dfa2374223e469519e4a1e269d2e8e38","policyVersion":"HT-DSH-0.2.1","verdict":"pass","status":"static-complete"},{"scannedAt":"2026-08-21T10:51:23.832Z","commit":"1a578019dfa2374223e469519e4a1e269d2e8e38","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":"e62f91b5781877a807d5ff78be6343017bd7393a","policyVersion":"HT-DSH-0.2.2","at":"2026-08-22T08:23:00.714Z"},{"kind":"policy-change","from":"HT-DSH-0.2.0","to":"HT-DSH-0.2.1","commit":"1a578019dfa2374223e469519e4a1e269d2e8e38","policyVersion":"HT-DSH-0.2.1","at":"2026-08-21T11:22:42.769Z"},{"kind":"first-scan","from":null,"to":"pass","commit":"1a578019dfa2374223e469519e4a1e269d2e8e38","policyVersion":"HT-DSH-0.2.0","at":"2026-08-21T10:51:23.832Z"}]}