{"schemaVersion":2,"dataVersion":"20260822T105549Z-0a0b366f","generatedAt":"2026-08-22T10:55:49.138Z","source":{"id":"zseven-w-dsh-openpencil","slug":"zseven-w-dsh-openpencil","rank":51,"url":"https://github.com/ZSeven-W/dsh-openpencil","name":"ZSeven-W/dsh-openpencil","category":"ui","description":{"zh":"OpenPencil 设计预览与编辑插件。","en":"OpenPencil design preview and editing plugin."},"stars":138,"starsCheckedAt":"2026-08-21","repository":{"owner":"ZSeven-W","repo":"dsh-openpencil","requestedRef":null,"subpath":""},"npm":"@zseven-w/dsh-openpencil","downloads":2801,"installMode":"npm","upstreamInstall":"dsh plugin --profile web add @zseven-w/dsh-openpencil","tarball":null,"added":"2026-08-13","page":"https://awesome-dsh-plugin.com/p/ZSeven-W/dsh-openpencil/","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":"zseven-w-dsh-openpencil","slug":"zseven-w-dsh-openpencil","policyVersion":"HT-DSH-0.2.2","scannedAt":"2026-08-22T08:20:11.104Z","scanStatus":"static-complete","verdict":"pass","score":99,"commit":"e3eb3bfdb5262db0659c3c6e567fe209199c3eb2","commitDate":"2026-08-21T22:50:28+08:00","artifactDigest":"sha256:99cd13a9d3e0025656e0c59bfc8125041bc09f68dfa1c50f4bfcfd6f9bb9d5cc","downloadUrl":"https://github.com/ZSeven-W/dsh-openpencil/archive/e3eb3bfdb5262db0659c3c6e567fe209199c3eb2.tar.gz","installMode":"npm","installCommand":"dsh plugin --profile web add @zseven-w/dsh-openpencil","manifest":{"found":true,"path":"package.json","parseError":null,"packageName":"@zseven-w/dsh-openpencil","packageVersion":"0.1.0-rc.2","bundle":{"patch":"./cordis.patch.yml"},"client":{"inject":["@deepseek-ai/dsh-client-runtime","@deepseek-ai/dsh-client-locale","@deepseek-ai/dsh-client-ui-conversation","@deepseek-ai/dsh-client-ui-tool","@deepseek-ai/dsh-client-ui-theme"],"platform":"web"},"lifecycleScripts":{},"peerDependencies":["@deepseek-ai/cordis","@deepseek-ai/dsh-client-locale","@deepseek-ai/dsh-client-runtime","@deepseek-ai/dsh-client-ui-conversation","@deepseek-ai/dsh-client-ui-slots","@deepseek-ai/dsh-client-ui-theme","@deepseek-ai/dsh-client-ui-tool","@deepseek-ai/dsh-fs","@deepseek-ai/dsh-host-webserver","@deepseek-ai/dsh-sandbox-policy","@deepseek-ai/dsh-session","@deepseek-ai/dsh-tools"]},"identity":{"status":"found","installMode":"npm","upstreamNpm":"@zseven-w/dsh-openpencil","manifestName":"@zseven-w/dsh-openpencil","nameMatch":true,"npm":{"name":"@zseven-w/dsh-openpencil","latestVersion":"0.1.0-rc.1","publishedAt":"2026-08-13T14:02:12.273Z","createdAt":"2026-08-13T14:02:11.818Z","versionCount":1,"maintainers":2,"repository":"git+https://github.com/ZSeven-W/dsh-openpencil.git","hasInstallScripts":false,"deprecated":false},"repositoryMatch":"match","provenance":"none","tarballHost":null,"versionMatch":"differs"},"permissions":{"bundlePatch":"cordis.patch.yml","inserts":[{"id":"dsh-openpencil","name":"@zseven-w/dsh-openpencil","path":"cordis.patch.yml","disabled":false}],"overrides":[],"jsExpressions":0,"clientPlatform":"web","parseErrors":[]},"capabilities":["agent-control","browser-ui","environment","filesystem","host-bundle","mcp","network","subprocess"],"outboundHosts":[{"host":"dsh.invalid","count":2},{"host":"dsh.local","count":2}],"findings":[{"id":"HT-EXEC-001","title":"直接创建宿主子进程","severity":"low","confidence":"medium","layer":"static","path":"scripts/run-tool.mjs","pathClass":"source","line":1,"evidence":"spawnSync","remediation":"通过 DSH 的受控 subprocess/shell seam 执行，并公开命令、参数及审批策略。","hash":"267477c9a6f3ffbf87e44dd7"},{"id":"HT-EXEC-001","title":"直接创建宿主子进程","severity":"low","confidence":"medium","layer":"static","path":"scripts/run-tool.mjs","pathClass":"source","line":1,"evidence":"node:child_process","remediation":"通过 DSH 的受控 subprocess/shell seam 执行，并公开命令、参数及审批策略。","hash":"4b1923229196f00979c66127"},{"id":"HT-EXEC-001","title":"直接创建宿主子进程","severity":"low","confidence":"medium","layer":"static","path":"scripts/sync-viewer-assets.mjs","pathClass":"source","line":16,"evidence":"node:child_process","remediation":"通过 DSH 的受控 subprocess/shell seam 执行，并公开命令、参数及审批策略。","hash":"6201a90a92bdbc27cce710b4"},{"id":"HT-EXEC-001","title":"直接创建宿主子进程","severity":"low","confidence":"medium","layer":"static","path":"src/editor-host.ts","pathClass":"source","line":14,"evidence":"node:child_process","remediation":"通过 DSH 的受控 subprocess/shell seam 执行，并公开命令、参数及审批策略。","hash":"6557293ba8f5af0120181aec"},{"id":"HT-EXEC-001","title":"直接创建宿主子进程","severity":"low","confidence":"medium","layer":"static","path":"src/renderer.ts","pathClass":"source","line":23,"evidence":"node:child_process","remediation":"通过 DSH 的受控 subprocess/shell seam 执行，并公开命令、参数及审批策略。","hash":"9498fd510aefadf403da90f2"}],"counts":{"critical":0,"high":0,"medium":0,"low":5},"rawCounts":{"critical":0,"high":0,"medium":0,"low":5},"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":1086030,"truncated":false,"lockfiles":["pnpm-lock.yaml"],"pathClasses":{"test-example-docs":9,"markdown":16,"cordis":1,"manifest":1,"yaml":1,"source":31,"data":2}},"limitations":["此结果为源码静态检测，不等同于无漏洞证明。","尚未比对 npm 发布包与源码的一致性，也未执行隔离运行和人工复核。","危险能力可能是插件功能所需，需结合用途与证据人工判断。"],"limitationKeys":["static-analysis-only","no-artifact-runtime-human-review","capability-needs-context"]},"timeline":[{"scannedAt":"2026-08-22T08:20:11.104Z","commit":"e3eb3bfdb5262db0659c3c6e567fe209199c3eb2","policyVersion":"HT-DSH-0.2.2","verdict":"pass","status":"static-complete"},{"scannedAt":"2026-08-21T11:18:43.442Z","commit":"0475b8d130357a973ac34e6da2c0000afff1f217","policyVersion":"HT-DSH-0.2.1","verdict":"pass","status":"static-complete"},{"scannedAt":"2026-08-21T10:46:37.020Z","commit":"0475b8d130357a973ac34e6da2c0000afff1f217","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":"e3eb3bfdb5262db0659c3c6e567fe209199c3eb2","policyVersion":"HT-DSH-0.2.2","at":"2026-08-22T08:20:11.104Z"},{"kind":"policy-change","from":"HT-DSH-0.2.0","to":"HT-DSH-0.2.1","commit":"0475b8d130357a973ac34e6da2c0000afff1f217","policyVersion":"HT-DSH-0.2.1","at":"2026-08-21T11:18:43.442Z"},{"kind":"first-scan","from":null,"to":"pass","commit":"0475b8d130357a973ac34e6da2c0000afff1f217","policyVersion":"HT-DSH-0.2.0","at":"2026-08-21T10:46:37.020Z"}]}