{"schemaVersion":2,"dataVersion":"20260822T105549Z-0a0b366f","generatedAt":"2026-08-22T10:55:49.138Z","source":{"id":"yunxiiqwq-dsh-maid-whale-webui-maid-whale-webui","slug":"yunxiiqwq-dsh-maid-whale-webui-maid-whale-webui","rank":179,"url":"https://github.com/yunxiiQwQ/dsh-maid-whale-webUI/tree/main/maid-whale-webui","name":"yunxiiQwQ/dsh-maid-whale-webUI#maid-whale-webui","category":"theme","description":{"zh":"DSH Web UI 鲸鱼女仆纸面主题：亮暗配色、海洋插画、手绘边框、装饰素材与常驻桌宠。","en":"Whale-maid paper theme for the DSH Web UI with light and dark palettes, ocean illustrations, hand-drawn frames, decorative assets, and a persistent pet."},"stars":20,"starsCheckedAt":"2026-08-21","repository":{"owner":"yunxiiQwQ","repo":"dsh-maid-whale-webUI","requestedRef":"main","subpath":"maid-whale-webui"},"npm":null,"downloads":null,"installMode":"github-source","upstreamInstall":"dsh plugin --profile web add github:yunxiiQwQ/dsh-maid-whale-webUI#path:/maid-whale-webui","tarball":null,"added":"2026-08-15","page":"https://awesome-dsh-plugin.com/p/yunxiiQwQ/dsh-maid-whale-webUI--maid-whale-webui/","screenshots":["https://raw.githubusercontent.com/yunxiiQwQ/dsh-maid-whale-webUI/main/maid-whale-webui/preview/light.webp","https://raw.githubusercontent.com/yunxiiQwQ/dsh-maid-whale-webUI/main/maid-whale-webui/preview/dark.webp"],"discovery":{"provider":"awesome-dsh-plugin","channel":"plugins.json","indexUrl":"https://github.com/awesome-dsh-plugin/awesome-dsh-plugin","selection":"all curated entries"}},"report":{"sourceId":"yunxiiqwq-dsh-maid-whale-webui-maid-whale-webui","slug":"yunxiiqwq-dsh-maid-whale-webui-maid-whale-webui","policyVersion":"HT-DSH-0.2.2","scannedAt":"2026-08-22T08:21:54.014Z","scanStatus":"static-complete","verdict":"caution","score":94,"commit":"4b46791a2eb868b8e081aab896d34dab124d4b62","commitDate":"2026-08-22T15:56:11+08:00","artifactDigest":"sha256:9a49d198c2900ab37b84bb1ac023a37fa5f95d9890bf7d2285a34c487537e697","downloadUrl":"https://github.com/yunxiiQwQ/dsh-maid-whale-webUI/archive/4b46791a2eb868b8e081aab896d34dab124d4b62.tar.gz","installMode":"github-source","installCommand":"dsh plugin --profile web add github:yunxiiQwQ/dsh-maid-whale-webUI#path:/maid-whale-webui","manifest":{"found":true,"path":"package.json","parseError":null,"packageName":"@dsh-external/dsh-client-ui-skin-maid-whale-webui","packageVersion":"0.1.0","bundle":{"patch":"./cordis.patch.yml"},"client":{"inject":[],"platform":"web"},"lifecycleScripts":{},"peerDependencies":["@deepseek-ai/cordis"]},"identity":{"status":"not-published","installMode":"github-source","upstreamNpm":null,"manifestName":"@dsh-external/dsh-client-ui-skin-maid-whale-webui","nameMatch":null,"npm":null,"repositoryMatch":"not-checked","provenance":"not-checked","tarballHost":null},"permissions":{"bundlePatch":"cordis.patch.yml","inserts":[{"id":"ui-skin-maid-whale-webui","name":"@dsh-external/dsh-client-ui-skin-maid-whale-webui","path":"cordis.patch.yml","disabled":false}],"overrides":[],"jsExpressions":0,"clientPlatform":"web","parseErrors":[]},"capabilities":["browser-ui","environment","filesystem","host-bundle","network","session","subprocess","telemetry"],"outboundHosts":[],"findings":[{"id":"HT-EXEC-001","title":"直接创建宿主子进程","severity":"low","confidence":"medium","layer":"static","path":"lib/index.js","pathClass":"source","line":1,"evidence":"execFileSync","remediation":"通过 DSH 的受控 subprocess/shell seam 执行，并公开命令、参数及审批策略。","hash":"ad87a0cff277aadc3d72c624"},{"id":"HT-EXEC-001","title":"直接创建宿主子进程","severity":"low","confidence":"medium","layer":"static","path":"lib/index.js","pathClass":"source","line":1,"evidence":"node:child_process","remediation":"通过 DSH 的受控 subprocess/shell seam 执行，并公开命令、参数及审批策略。","hash":"89dedaa9e6429e9e52b8af60"},{"id":"HT-RUNTIME-001","title":"动态代码执行","severity":"medium","confidence":"medium","layer":"static","path":"lib/index.js","pathClass":"source","line":242,"evidence":"new Function(","remediation":"使用静态模块和受约束的配置解析器，避免在宿主权限下执行动态字符串。","hash":"3e8500af280669a276314770","review":{"verdict":"functional","reason":"该 new Function 位于打包进来的第三方 schemastery 库（vendor/schemastery）中，用于反序列化 schema.callback 字符串为函数，是校验库固有机制，非插件为 @file 功能自写逻辑，且有 typeof 检查与 try/catch 包裹。","model":"sonnet@p2","reviewedAt":"2026-08-21T11:17:59.472Z"}},{"id":"HT-EXEC-001","title":"直接创建宿主子进程","severity":"low","confidence":"medium","layer":"static","path":"scripts/test-packaged-helper.mjs","pathClass":"source","line":1,"evidence":"node:child_process","remediation":"通过 DSH 的受控 subprocess/shell seam 执行，并公开命令、参数及审批策略。","hash":"78325872e9ae4ae38f96893c"},{"id":"HT-EXEC-001","title":"直接创建宿主子进程","severity":"low","confidence":"medium","layer":"static","path":"src/host/helper-process.js","pathClass":"source","line":1,"evidence":"execFileSync","remediation":"通过 DSH 的受控 subprocess/shell seam 执行，并公开命令、参数及审批策略。","hash":"d5ae7e46ebdb39e79995fc91"},{"id":"HT-EXEC-001","title":"直接创建宿主子进程","severity":"low","confidence":"medium","layer":"static","path":"src/host/helper-process.js","pathClass":"source","line":1,"evidence":"node:child_process","remediation":"通过 DSH 的受控 subprocess/shell seam 执行，并公开命令、参数及审批策略。","hash":"d4e4ef0af49c470f28c49ea4"},{"id":"HT-CLIENT-001","title":"浏览器端使用危险 HTML 注入点","severity":"medium","confidence":"low","layer":"static","path":"tests/apply.spec.ts","pathClass":"test-example-docs","line":57,"evidence":".innerHTML =","remediation":"使用安全 DOM API，并在不可避免时对不可信内容进行严格清洗。","note":"位于测试、示例或文档目录","hash":"975ed378a70008a0e213b9b3"},{"id":"HT-CLIENT-001","title":"浏览器端使用危险 HTML 注入点","severity":"medium","confidence":"low","layer":"static","path":"tests/apply.spec.ts","pathClass":"test-example-docs","line":93,"evidence":".innerHTML =","remediation":"使用安全 DOM API，并在不可避免时对不可信内容进行严格清洗。","note":"位于测试、示例或文档目录","hash":"975ed378a70008a0e213b9b3"},{"id":"HT-CLIENT-001","title":"浏览器端使用危险 HTML 注入点","severity":"medium","confidence":"low","layer":"static","path":"tests/frames.spec.ts","pathClass":"test-example-docs","line":8,"evidence":".innerHTML =","remediation":"使用安全 DOM API，并在不可避免时对不可信内容进行严格清洗。","note":"位于测试、示例或文档目录","hash":"4ea75f4542721c7324d5e800"},{"id":"HT-CLIENT-001","title":"浏览器端使用危险 HTML 注入点","severity":"medium","confidence":"low","layer":"static","path":"tests/frames.spec.ts","pathClass":"test-example-docs","line":51,"evidence":".innerHTML =","remediation":"使用安全 DOM API，并在不可避免时对不可信内容进行严格清洗。","note":"位于测试、示例或文档目录","hash":"4ea75f4542721c7324d5e800"},{"id":"HT-CLIENT-001","title":"浏览器端使用危险 HTML 注入点","severity":"medium","confidence":"low","layer":"static","path":"tests/ornaments.spec.ts","pathClass":"test-example-docs","line":8,"evidence":".innerHTML =","remediation":"使用安全 DOM API，并在不可避免时对不可信内容进行严格清洗。","note":"位于测试、示例或文档目录","hash":"75b6553ecc796012230b02ad"},{"id":"HT-CLIENT-001","title":"浏览器端使用危险 HTML 注入点","severity":"medium","confidence":"low","layer":"static","path":"tests/ornaments.spec.ts","pathClass":"test-example-docs","line":29,"evidence":".innerHTML =","remediation":"使用安全 DOM API，并在不可避免时对不可信内容进行严格清洗。","note":"位于测试、示例或文档目录","hash":"75b6553ecc796012230b02ad"}],"counts":{"critical":0,"high":0,"medium":1,"low":5},"rawCounts":{"critical":0,"high":0,"medium":7,"low":5},"vulnerabilities":[],"coverage":{"source":"complete","manifest":"complete","bundleConfig":"complete","dependencies":"lockfile-present","vulnerabilities":"complete","identity":"complete","artifact":"not-compared","llmReview":"complete","dynamicRuntime":"not-run","humanReview":"not-run"},"inventory":{"filesScanned":55,"bytesScanned":1327817,"truncated":false,"lockfiles":["pnpm-lock.yaml"],"pathClasses":{"markdown":2,"test-example-docs":18,"data":3,"cordis":1,"source":28,"manifest":1,"yaml":1,"script":1}},"limitations":["此结果为源码静态检测，不等同于无漏洞证明。","尚未比对 npm 发布包与源码的一致性，也未执行隔离运行和人工复核。","危险能力可能是插件功能所需，需结合用途与证据人工判断。"],"limitationKeys":["static-analysis-only","no-artifact-runtime-human-review","capability-needs-context"],"review":{"model":"sonnet","reviewedAt":"2026-08-22T08:21:54.014Z","summary":null,"intentMatch":null,"findingsReviewed":1,"findingsCandidates":1,"fromCache":1,"usage":null}},"timeline":[{"scannedAt":"2026-08-22T08:21:54.014Z","commit":"4b46791a2eb868b8e081aab896d34dab124d4b62","policyVersion":"HT-DSH-0.2.2","verdict":"caution","status":"static-complete"},{"scannedAt":"2026-08-21T11:21:28.907Z","commit":"6ab5e7499ddf76c4fcf6d83421c08e967db1c2bc","policyVersion":"HT-DSH-0.2.1","verdict":"pass","status":"static-complete"},{"scannedAt":"2026-08-21T10:49:40.345Z","commit":"6ab5e7499ddf76c4fcf6d83421c08e967db1c2bc","policyVersion":"HT-DSH-0.2.0","verdict":"pass","status":"static-complete"}],"events":[{"kind":"verdict-change","from":"pass","to":"caution","commit":"4b46791a2eb868b8e081aab896d34dab124d4b62","policyVersion":"HT-DSH-0.2.2","at":"2026-08-22T08:21:54.014Z"},{"kind":"policy-change","from":"HT-DSH-0.2.0","to":"HT-DSH-0.2.1","commit":"6ab5e7499ddf76c4fcf6d83421c08e967db1c2bc","policyVersion":"HT-DSH-0.2.1","at":"2026-08-21T11:21:28.907Z"},{"kind":"first-scan","from":null,"to":"pass","commit":"6ab5e7499ddf76c4fcf6d83421c08e967db1c2bc","policyVersion":"HT-DSH-0.2.0","at":"2026-08-21T10:49:40.345Z"}]}