{"schemaVersion":2,"dataVersion":"20260822T105549Z-0a0b366f","generatedAt":"2026-08-22T10:55:49.138Z","source":{"id":"acidgr-dsh-web-lan-access","slug":"acidgr-dsh-web-lan-access","rank":152,"url":"https://github.com/AcidGr/dsh-web-lan-access","name":"AcidGr/dsh-web-lan-access","category":"remote","description":{"zh":"Web UI 局域网/远程访问：为纯 HTTP 非安全上下文注入 crypto.randomUUID polyfill，局域网/Tailscale IP 直连时前端不再崩溃。","en":"LAN/remote access for the Web UI: injects a crypto.randomUUID polyfill on plain-HTTP origins so the frontend survives LAN or Tailscale IP direct links."},"stars":25,"starsCheckedAt":"2026-08-21","repository":{"owner":"AcidGr","repo":"dsh-web-lan-access","requestedRef":null,"subpath":""},"npm":"dsh-web-lan-access","downloads":751,"installMode":"npm","upstreamInstall":"dsh plugin --profile web add dsh-web-lan-access","tarball":null,"added":"2026-08-14","page":"https://awesome-dsh-plugin.com/p/AcidGr/dsh-web-lan-access/","screenshots":["https://raw.githubusercontent.com/AcidGr/dsh-web-lan-access/main/assets/screenshot-lan-access.jpg"],"discovery":{"provider":"awesome-dsh-plugin","channel":"plugins.json","indexUrl":"https://github.com/awesome-dsh-plugin/awesome-dsh-plugin","selection":"all curated entries"}},"report":{"sourceId":"acidgr-dsh-web-lan-access","slug":"acidgr-dsh-web-lan-access","policyVersion":"HT-DSH-0.2.2","scannedAt":"2026-08-22T08:21:31.980Z","scanStatus":"static-complete","verdict":"pass","score":99,"commit":"8eeb1d0cb79a6e199bde94f16f1e2f2b5a818f01","commitDate":"2026-08-22T08:55:21+08:00","artifactDigest":"sha256:a7e2cfe05cfa65f34bd241695623edc90284acdb65b3fa59677644c6ca48c451","downloadUrl":"https://github.com/AcidGr/dsh-web-lan-access/archive/8eeb1d0cb79a6e199bde94f16f1e2f2b5a818f01.tar.gz","installMode":"npm","installCommand":"dsh plugin --profile web add dsh-web-lan-access","manifest":{"found":true,"path":"package.json","parseError":null,"packageName":"dsh-web-lan-access","packageVersion":"1.2.1","bundle":{"patch":"./cordis.patch.yml"},"client":null,"lifecycleScripts":{},"peerDependencies":[]},"identity":{"status":"found","installMode":"npm","upstreamNpm":"dsh-web-lan-access","manifestName":"dsh-web-lan-access","nameMatch":true,"npm":{"name":"dsh-web-lan-access","latestVersion":"1.1.0","publishedAt":"2026-08-16T09:57:02.226Z","createdAt":"2026-08-14T14:57:40.425Z","versionCount":2,"maintainers":1,"repository":"git+https://github.com/AcidGr/dsh-web-lan-access.git","hasInstallScripts":false,"deprecated":false},"repositoryMatch":"match","provenance":"none","tarballHost":null,"versionMatch":"differs"},"permissions":{"bundlePatch":"cordis.patch.yml","inserts":[{"id":"lan-access","name":"dsh-web-lan-access","path":"cordis.patch.yml","disabled":false}],"overrides":[{"id":"webserver","tier":"normal","mode":"override","disabled":false,"replacesImplementation":false,"name":null,"keys":["host","port"],"path":"cordis.patch.yml"},{"id":"connection","tier":"normal","mode":"override","disabled":false,"replacesImplementation":false,"name":null,"keys":["trustedHosts"],"path":"cordis.patch.yml"}],"jsExpressions":2,"clientPlatform":null,"parseErrors":[]},"capabilities":["host-bundle"],"outboundHosts":[],"findings":[{"id":"HT-CONFIG-001","title":"Cordis 配置包含可执行 !!js 表达式","severity":"low","confidence":"high","layer":"dsh-semantics","path":"cordis.patch.yml","pathClass":"cordis","line":31,"evidence":"!!js ctx.webStartup.port ?? 3080","remediation":"!!js 是 DSH 的官方配置机制；只在表达式引入模块、访问进程或网络时需要额外解释。","hash":"649851167ef67b3e8d583ff3"},{"id":"HT-CONFIG-001","title":"Cordis 配置包含可执行 !!js 表达式","severity":"low","confidence":"high","layer":"dsh-semantics","path":"cordis.patch.yml","pathClass":"cordis","line":35,"evidence":"!!js '[...(ctx.webRuntime?.trustedHosts ?? []), ...(() => { const os = globalThis.process?.getBuiltinModule?.(\"os\"); return os ? globalThis.Object.values(os.networkInterfaces()).fl","remediation":"!!js 是 DSH 的官方配置机制；只在表达式引入模块、访问进程或网络时需要额外解释。","hash":"df6ebba52c6d44b45f4c5284"}],"counts":{"critical":0,"high":0,"medium":0,"low":2},"rawCounts":{"critical":0,"high":0,"medium":0,"low":2},"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":5,"bytesScanned":18444,"truncated":false,"lockfiles":[],"pathClasses":{"markdown":2,"cordis":1,"source":1,"manifest":1}},"limitations":["此结果为源码静态检测，不等同于无漏洞证明。","尚未比对 npm 发布包与源码的一致性，也未执行隔离运行和人工复核。","危险能力可能是插件功能所需，需结合用途与证据人工判断。"],"limitationKeys":["static-analysis-only","no-artifact-runtime-human-review","capability-needs-context"]},"timeline":[{"scannedAt":"2026-08-22T08:21:31.980Z","commit":"8eeb1d0cb79a6e199bde94f16f1e2f2b5a818f01","policyVersion":"HT-DSH-0.2.2","verdict":"pass","status":"static-complete"},{"scannedAt":"2026-08-21T11:20:52.173Z","commit":"2ac4ad7d047681baac1a12d8ee70587cd1c9d8cc","policyVersion":"HT-DSH-0.2.1","verdict":"pass","status":"static-complete"},{"scannedAt":"2026-08-21T10:48:49.571Z","commit":"e27e909f2f079d2213c13823f56fe9ade4726f80","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":"8eeb1d0cb79a6e199bde94f16f1e2f2b5a818f01","policyVersion":"HT-DSH-0.2.2","at":"2026-08-22T08:21:31.980Z"},{"kind":"policy-change","from":"HT-DSH-0.2.0","to":"HT-DSH-0.2.1","commit":"2ac4ad7d047681baac1a12d8ee70587cd1c9d8cc","policyVersion":"HT-DSH-0.2.1","at":"2026-08-21T11:20:52.173Z"},{"kind":"first-scan","from":null,"to":"pass","commit":"e27e909f2f079d2213c13823f56fe9ade4726f80","policyVersion":"HT-DSH-0.2.0","at":"2026-08-21T10:48:49.571Z"}]}