{"schemaVersion":2,"dataVersion":"20260822T105549Z-0a0b366f","generatedAt":"2026-08-22T10:55:49.138Z","source":{"id":"dream-num-dsh-univer-office","slug":"dream-num-dsh-univer-office","rank":86,"url":"https://github.com/dream-num/dsh-univer-office","name":"dream-num/dsh-univer-office","category":"docs","description":{"zh":"在 DeepSeek Harness 中创建、编辑、检查和交付表格、文档、演示文稿、多维表格和画布，支持实时预览与 worktree 审阅。","en":"Create, edit, inspect, and deliver spreadsheets, documents, presentations, databases, and canvases in DeepSeek Harness, with live preview and worktree review."},"stars":63,"starsCheckedAt":"2026-08-21","repository":{"owner":"dream-num","repo":"dsh-univer-office","requestedRef":null,"subpath":""},"npm":"dsh-univer-office","downloads":1372,"installMode":"npm","upstreamInstall":"dsh plugin --profile web add dsh-univer-office","tarball":null,"added":"2026-08-19","page":"https://awesome-dsh-plugin.com/p/dream-num/dsh-univer-office/","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":"dream-num-dsh-univer-office","slug":"dream-num-dsh-univer-office","policyVersion":"HT-DSH-0.2.2","scannedAt":"2026-08-22T08:20:37.935Z","scanStatus":"static-complete","verdict":"caution","score":94,"commit":"5897a8b5bfe425e78c500c54bd3403b2102bf157","commitDate":"2026-08-22T13:09:15+08:00","artifactDigest":"sha256:6488d57594559f8221f4dfbd34b039d65675cb07f1ac5d6527f468477794b7fd","downloadUrl":"https://github.com/dream-num/dsh-univer-office/archive/5897a8b5bfe425e78c500c54bd3403b2102bf157.tar.gz","installMode":"npm","installCommand":"dsh plugin --profile web add dsh-univer-office","manifest":{"found":true,"path":"package.json","parseError":null,"packageName":"dsh-univer-office","packageVersion":"0.2.9","bundle":{"patch":"./cordis.patch.yml"},"client":{"platform":"web","inject":["@deepseek-ai/dsh-client-runtime","@deepseek-ai/dsh-client-locale","@deepseek-ai/dsh-client-ui-sidebar","@deepseek-ai/dsh-client-ui-conversation"]},"lifecycleScripts":{},"peerDependencies":["@deepseek-ai/cordis","@deepseek-ai/dsh-attachment","@deepseek-ai/dsh-host-webserver","@deepseek-ai/dsh-llm","@deepseek-ai/dsh-session","@deepseek-ai/dsh-skill","@deepseek-ai/dsh-tools","@deepseek-ai/schemastery"]},"identity":{"status":"found","installMode":"npm","upstreamNpm":"dsh-univer-office","manifestName":"dsh-univer-office","nameMatch":true,"npm":{"name":"dsh-univer-office","latestVersion":"0.2.6","publishedAt":"2026-08-19T18:39:49.233Z","createdAt":"2026-08-17T11:52:19.400Z","versionCount":8,"maintainers":1,"repository":"git+https://github.com/dream-num/dsh-univer-office.git","hasInstallScripts":false,"deprecated":false},"repositoryMatch":"match","provenance":"none","tarballHost":null,"versionMatch":"differs"},"permissions":{"bundlePatch":"cordis.patch.yml","inserts":[{"id":"univer","name":"dsh-univer-office","path":"cordis.patch.yml","disabled":false}],"overrides":[],"jsExpressions":0,"clientPlatform":"web","parseErrors":[]},"capabilities":["agent-control","browser-ui","environment","filesystem","host-bundle","network","session","subprocess","telemetry"],"outboundHosts":[{"host":"gateway.example","count":1}],"findings":[{"id":"HT-EXEC-001","title":"直接创建宿主子进程","severity":"low","confidence":"medium","layer":"static","path":"scripts/build.mjs","pathClass":"source","line":12,"evidence":"node:child_process","remediation":"通过 DSH 的受控 subprocess/shell seam 执行，并公开命令、参数及审批策略。","hash":"6c875ad888fc77c8e5682af2"},{"id":"HT-EXEC-001","title":"直接创建宿主子进程","severity":"low","confidence":"medium","layer":"static","path":"scripts/verify-public-runtime-dependencies.mjs","pathClass":"source","line":3,"evidence":"node:child_process","remediation":"通过 DSH 的受控 subprocess/shell seam 执行，并公开命令、参数及审批策略。","hash":"22bcabd204b5ff6ff0f72f44"},{"id":"HT-EXEC-001","title":"直接创建宿主子进程","severity":"low","confidence":"medium","layer":"static","path":"src/host/adapters/unit-content/worker.ts","pathClass":"source","line":1,"evidence":"node:child_process","remediation":"通过 DSH 的受控 subprocess/shell seam 执行，并公开命令、参数及审批策略。","hash":"68e30df06a289602ae1ea2b0"},{"id":"HT-EXEC-001","title":"直接创建宿主子进程","severity":"low","confidence":"medium","layer":"static","path":"src/host/processes/gateway/gateway-process.ts","pathClass":"source","line":1,"evidence":"node:child_process","remediation":"通过 DSH 的受控 subprocess/shell seam 执行，并公开命令、参数及审批策略。","hash":"7e854d309dbb0afc80a45525"},{"id":"HT-EXEC-001","title":"直接创建宿主子进程","severity":"low","confidence":"medium","layer":"static","path":"src/host/processes/gateway/gateway-process.ts","pathClass":"source","line":2,"evidence":"node:child_process","remediation":"通过 DSH 的受控 subprocess/shell seam 执行，并公开命令、参数及审批策略。","hash":"7e854d309dbb0afc80a45525"},{"id":"HT-EXEC-001","title":"直接创建宿主子进程","severity":"low","confidence":"medium","layer":"static","path":"src/host/processes/gateway/launcher.ts","pathClass":"source","line":1,"evidence":"node:child_process","remediation":"通过 DSH 的受控 subprocess/shell seam 执行，并公开命令、参数及审批策略。","hash":"8cc1ec183c03a96193290086"},{"id":"HT-CLIENT-001","title":"浏览器端使用危险 HTML 注入点","severity":"medium","confidence":"medium","layer":"static","path":"src/viewer-app/components/ui/dialog.tsx","pathClass":"source","line":47,"evidence":"dangerouslySetInnerHTML","remediation":"使用安全 DOM API，并在不可避免时对不可信内容进行严格清洗。","hash":"736314fa6fdff060f6cfa765"},{"id":"HT-CLIENT-001","title":"浏览器端使用危险 HTML 注入点","severity":"medium","confidence":"medium","layer":"static","path":"src/viewer-app/ui/boot.tsx","pathClass":"source","line":41,"evidence":"dangerouslySetInnerHTML","remediation":"使用安全 DOM API，并在不可避免时对不可信内容进行严格清洗。","hash":"77ef5879189e122756f60aae"},{"id":"HT-CLIENT-001","title":"浏览器端使用危险 HTML 注入点","severity":"medium","confidence":"medium","layer":"static","path":"src/viewer-app/ui/boot.tsx","pathClass":"source","line":48,"evidence":"dangerouslySetInnerHTML","remediation":"使用安全 DOM API，并在不可避免时对不可信内容进行严格清洗。","hash":"77ef5879189e122756f60aae"},{"id":"HT-CLIENT-001","title":"浏览器端使用危险 HTML 注入点","severity":"medium","confidence":"medium","layer":"static","path":"src/viewer-app/ui/dom.ts","pathClass":"source","line":27,"evidence":".innerHTML =","remediation":"使用安全 DOM API，并在不可避免时对不可信内容进行严格清洗。","hash":"a1907f20c0db462d20bfd060"},{"id":"HT-RUNTIME-001","title":"动态代码执行","severity":"high","confidence":"low","layer":"static","path":"test/client-smoke.mjs","pathClass":"test-example-docs","line":157,"evidence":"new Function(","remediation":"使用静态模块和受约束的配置解析器，避免在宿主权限下执行动态字符串。","note":"位于测试、示例或文档目录","hash":"89647e38a9eb48ba9749a4a1"}],"counts":{"critical":0,"high":0,"medium":4,"low":6},"rawCounts":{"critical":0,"high":1,"medium":4,"low":6},"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":268,"bytesScanned":1790403,"truncated":false,"lockfiles":["pnpm-lock.yaml"],"pathClasses":{"test-example-docs":8,"markdown":18,"cordis":1,"manifest":6,"yaml":2,"script":1,"source":166,"i18n":60,"html":2,"data":4}},"limitations":["此结果为源码静态检测，不等同于无漏洞证明。","尚未比对 npm 发布包与源码的一致性，也未执行隔离运行和人工复核。","危险能力可能是插件功能所需，需结合用途与证据人工判断。"],"limitationKeys":["static-analysis-only","no-artifact-runtime-human-review","capability-needs-context"]},"timeline":[{"scannedAt":"2026-08-22T08:20:37.935Z","commit":"5897a8b5bfe425e78c500c54bd3403b2102bf157","policyVersion":"HT-DSH-0.2.2","verdict":"caution","status":"static-complete"},{"scannedAt":"2026-08-21T11:19:27.679Z","commit":"85113d6fe76a0a0965ca4afd8b5da764eb34a31d","policyVersion":"HT-DSH-0.2.1","verdict":"caution","status":"static-complete"},{"scannedAt":"2026-08-21T10:47:16.463Z","commit":"85113d6fe76a0a0965ca4afd8b5da764eb34a31d","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":"5897a8b5bfe425e78c500c54bd3403b2102bf157","policyVersion":"HT-DSH-0.2.2","at":"2026-08-22T08:20:37.935Z"},{"kind":"policy-change","from":"HT-DSH-0.2.0","to":"HT-DSH-0.2.1","commit":"85113d6fe76a0a0965ca4afd8b5da764eb34a31d","policyVersion":"HT-DSH-0.2.1","at":"2026-08-21T11:19:27.679Z"},{"kind":"first-scan","from":null,"to":"caution","commit":"85113d6fe76a0a0965ca4afd8b5da764eb34a31d","policyVersion":"HT-DSH-0.2.0","at":"2026-08-21T10:47:16.463Z"}]}