{"schemaVersion":2,"dataVersion":"20260822T105549Z-0a0b366f","generatedAt":"2026-08-22T10:55:49.138Z","source":{"id":"bernardxu123-dsh-mobile-gate","slug":"bernardxu123-dsh-mobile-gate","rank":517,"url":"https://github.com/Bernardxu123/dsh-mobile-gate","name":"Bernardxu123/dsh-mobile-gate","category":"remote","description":{"zh":"局域网手机访问网关：独立子进程反向代理 + 首次访问审批 + 设备令牌绑定 + 限流 + 手机端紧凑排版注入（输入区权限/模型小胶囊、randomUUID polyfill）。","en":"LAN mobile gateway: isolated child-process reverse proxy with first-visit approval, per-device token binding, rate limiting, and mobile layout injection (compact composer pills, randomUUID polyfill)."},"stars":5,"starsCheckedAt":"2026-08-21","repository":{"owner":"Bernardxu123","repo":"dsh-mobile-gate","requestedRef":null,"subpath":""},"npm":null,"downloads":null,"installMode":"github-source","upstreamInstall":"dsh plugin --profile web add github:Bernardxu123/dsh-mobile-gate","tarball":null,"added":"2026-08-14","page":"https://awesome-dsh-plugin.com/p/Bernardxu123/dsh-mobile-gate/","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":"bernardxu123-dsh-mobile-gate","slug":"bernardxu123-dsh-mobile-gate","policyVersion":"HT-DSH-0.2.2","scannedAt":"2026-08-22T08:25:43.746Z","scanStatus":"static-complete","verdict":"caution","score":95,"commit":"06e0ea87101d1330c573cb01acecd67e36764413","commitDate":"2026-08-15T00:20:52+08:00","artifactDigest":"sha256:3ef1edf33b4b17d7676d90e690bcf687d807e7555d9c0e19922811e3c9d61f0f","downloadUrl":"https://github.com/Bernardxu123/dsh-mobile-gate/archive/06e0ea87101d1330c573cb01acecd67e36764413.tar.gz","installMode":"github-source","installCommand":"dsh plugin --profile web add github:Bernardxu123/dsh-mobile-gate","manifest":{"found":true,"path":"package.json","parseError":null,"packageName":"dsh-mobile-gate","packageVersion":"1.1.0","bundle":{"patch":"./cordis.patch.yml"},"client":null,"lifecycleScripts":{},"peerDependencies":[]},"identity":{"status":"not-published","installMode":"github-source","upstreamNpm":null,"manifestName":"dsh-mobile-gate","nameMatch":null,"npm":null,"repositoryMatch":"not-checked","provenance":"not-checked","tarballHost":null},"permissions":{"bundlePatch":"cordis.patch.yml","inserts":[{"id":"dsh-mobile-gate","name":"dsh-mobile-gate","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-CLIENT-001","title":"浏览器端使用危险 HTML 注入点","severity":"medium","confidence":"medium","layer":"static","path":"lib/lan-gate-server.cjs","pathClass":"source","line":32,"evidence":".innerHTML=","remediation":"使用安全 DOM API，并在不可避免时对不可信内容进行严格清洗。","hash":"6c8bfe6d15ff244fb15950f3"},{"id":"HT-CLIENT-001","title":"浏览器端使用危险 HTML 注入点","severity":"medium","confidence":"medium","layer":"static","path":"lib/lan-gate-server.cjs","pathClass":"source","line":32,"evidence":".innerHTML=","remediation":"使用安全 DOM API，并在不可避免时对不可信内容进行严格清洗。","hash":"6c8bfe6d15ff244fb15950f3"}],"counts":{"critical":0,"high":0,"medium":2,"low":0},"rawCounts":{"critical":0,"high":0,"medium":2,"low":0},"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":7,"bytesScanned":56447,"truncated":false,"lockfiles":[],"pathClasses":{"markdown":3,"cordis":1,"source":2,"manifest":1}},"limitations":["此结果为源码静态检测，不等同于无漏洞证明。","尚未比对 npm 发布包与源码的一致性，也未执行隔离运行和人工复核。","危险能力可能是插件功能所需，需结合用途与证据人工判断。"],"limitationKeys":["static-analysis-only","no-artifact-runtime-human-review","capability-needs-context"]},"timeline":[{"scannedAt":"2026-08-22T08:25:43.746Z","commit":"06e0ea87101d1330c573cb01acecd67e36764413","policyVersion":"HT-DSH-0.2.2","verdict":"caution","status":"static-complete"},{"scannedAt":"2026-08-21T11:27:04.720Z","commit":"06e0ea87101d1330c573cb01acecd67e36764413","policyVersion":"HT-DSH-0.2.1","verdict":"caution","status":"static-complete"},{"scannedAt":"2026-08-21T10:55:57.678Z","commit":"06e0ea87101d1330c573cb01acecd67e36764413","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":"06e0ea87101d1330c573cb01acecd67e36764413","policyVersion":"HT-DSH-0.2.2","at":"2026-08-22T08:25:43.746Z"},{"kind":"policy-change","from":"HT-DSH-0.2.0","to":"HT-DSH-0.2.1","commit":"06e0ea87101d1330c573cb01acecd67e36764413","policyVersion":"HT-DSH-0.2.1","at":"2026-08-21T11:27:04.720Z"},{"kind":"first-scan","from":null,"to":"caution","commit":"06e0ea87101d1330c573cb01acecd67e36764413","policyVersion":"HT-DSH-0.2.0","at":"2026-08-21T10:55:57.678Z"}]}