{"schemaVersion":2,"dataVersion":"20260822T105549Z-0a0b366f","generatedAt":"2026-08-22T10:55:49.138Z","source":{"id":"zjsthmjialin-inspiration-deck-workshop-dsh-inspiration-deck-workshop","slug":"zjsthmjialin-inspiration-deck-workshop-dsh-inspiration-deck-workshop","rank":1211,"url":"https://github.com/zjsthmjialin/inspiration-deck-workshop/tree/master/dsh-inspiration-deck-workshop","name":"zjsthmjialin/inspiration-deck-workshop#dsh-inspiration-deck-workshop","category":"docs","description":{"zh":"注册灵感演示工坊技能：本地静态 HTML 演示文稿（6 套 deck 模板、25+ 布局、23 套主题与动效展示馆），带 validate 校验与 PNG/PDF 导出 CLI 和 smoke 测试，零运行时依赖。","en":"Registers the Inspiration Deck Workshop skill for DSH: local static HTML presentation decks (6 deck templates, 25+ layouts, 23 themes & motion showroom) with a validate + PNG/PDF export CLI and smoke tests, zero runtime dependencies."},"stars":1,"starsCheckedAt":"2026-08-21","repository":{"owner":"zjsthmjialin","repo":"inspiration-deck-workshop","requestedRef":"master","subpath":"dsh-inspiration-deck-workshop"},"npm":"dsh-inspiration-deck-workshop","downloads":28,"installMode":"npm","upstreamInstall":"dsh plugin --profile web add dsh-inspiration-deck-workshop","tarball":null,"added":"2026-08-16","page":"https://awesome-dsh-plugin.com/p/zjsthmjialin/inspiration-deck-workshop--dsh-inspiration-deck-workshop/","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":"zjsthmjialin-inspiration-deck-workshop-dsh-inspiration-deck-workshop","slug":"zjsthmjialin-inspiration-deck-workshop-dsh-inspiration-deck-workshop","policyVersion":"HT-DSH-0.2.2","scannedAt":"2026-08-22T08:32:50.353Z","scanStatus":"static-complete","verdict":"pass","score":99,"commit":"c2252ed83462623cebc4ffd198d6ffa0af7bea47","commitDate":"2026-08-16T15:36:30+08:00","artifactDigest":"sha256:f4a1ed3e187d68048a4509940fc1c6d00ed0baf7006baa20d6e524d8faa12df1","downloadUrl":"https://github.com/zjsthmjialin/inspiration-deck-workshop/archive/c2252ed83462623cebc4ffd198d6ffa0af7bea47.tar.gz","installMode":"npm","installCommand":"dsh plugin --profile web add dsh-inspiration-deck-workshop","manifest":{"found":true,"path":"package.json","parseError":null,"packageName":"dsh-inspiration-deck-workshop","packageVersion":"0.1.1","bundle":{"patch":"./cordis.patch.yml"},"client":null,"lifecycleScripts":{},"peerDependencies":[]},"identity":{"status":"found","installMode":"npm","upstreamNpm":"dsh-inspiration-deck-workshop","manifestName":"dsh-inspiration-deck-workshop","nameMatch":true,"npm":{"name":"dsh-inspiration-deck-workshop","latestVersion":"0.1.1","publishedAt":"2026-08-16T02:32:35.341Z","createdAt":"2026-08-16T02:14:36.290Z","versionCount":2,"maintainers":1,"repository":"git+https://github.com/zjsthmjialin/inspiration-deck-workshop.git","hasInstallScripts":false,"deprecated":false},"repositoryMatch":"match","provenance":"none","tarballHost":null,"versionMatch":"match"},"permissions":{"bundlePatch":"cordis.patch.yml","inserts":[{"id":"inspiration-deck-workshop","name":"dsh-inspiration-deck-workshop","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":"low","layer":"static","path":"skills/inspiration-deck-workshop/assets/runtime.js","pathClass":"test-example-docs","line":18,"evidence":".innerHTML =","remediation":"使用安全 DOM API，并在不可避免时对不可信内容进行严格清洗。","note":"位于测试、示例或文档目录","hash":"2acdd2866d713ad25a4c7b35"},{"id":"HT-CLIENT-001","title":"浏览器端使用危险 HTML 注入点","severity":"medium","confidence":"low","layer":"static","path":"skills/inspiration-deck-workshop/assets/runtime.js","pathClass":"test-example-docs","line":31,"evidence":".innerHTML =","remediation":"使用安全 DOM API，并在不可避免时对不可信内容进行严格清洗。","note":"位于测试、示例或文档目录","hash":"2acdd2866d713ad25a4c7b35"},{"id":"HT-CLIENT-001","title":"浏览器端使用危险 HTML 注入点","severity":"medium","confidence":"low","layer":"static","path":"skills/inspiration-deck-workshop/templates/theme-animation-gallery/index.html","pathClass":"test-example-docs","line":752,"evidence":".innerHTML =","remediation":"使用安全 DOM API，并在不可避免时对不可信内容进行严格清洗。","note":"附近存在清洗/转义调用；位于测试、示例或文档目录","hash":"5c429fb35011fe20f9a07fc3"},{"id":"HT-CLIENT-001","title":"浏览器端使用危险 HTML 注入点","severity":"medium","confidence":"low","layer":"static","path":"skills/inspiration-deck-workshop/templates/theme-animation-gallery/index.html","pathClass":"test-example-docs","line":753,"evidence":".innerHTML =","remediation":"使用安全 DOM API，并在不可避免时对不可信内容进行严格清洗。","note":"附近存在清洗/转义调用；位于测试、示例或文档目录","hash":"5c429fb35011fe20f9a07fc3"},{"id":"HT-EXEC-001","title":"直接创建宿主子进程","severity":"low","confidence":"low","layer":"static","path":"skills/inspiration-deck-workshop/test/doctor-smoke.mjs","pathClass":"test-example-docs","line":2,"evidence":"node:child_process","remediation":"通过 DSH 的受控 subprocess/shell seam 执行，并公开命令、参数及审批策略。","note":"位于测试、示例或文档目录","hash":"5ff432e9a7ae24673da0ad8a"},{"id":"HT-EXEC-001","title":"直接创建宿主子进程","severity":"low","confidence":"low","layer":"static","path":"skills/inspiration-deck-workshop/test/script-smoke.mjs","pathClass":"test-example-docs","line":2,"evidence":"node:child_process","remediation":"通过 DSH 的受控 subprocess/shell seam 执行，并公开命令、参数及审批策略。","note":"位于测试、示例或文档目录","hash":"3747ba156c36f2be7eb05c93"},{"id":"HT-EXEC-001","title":"直接创建宿主子进程","severity":"low","confidence":"low","layer":"static","path":"skills/inspiration-deck-workshop/test/validate-smoke.mjs","pathClass":"test-example-docs","line":2,"evidence":"node:child_process","remediation":"通过 DSH 的受控 subprocess/shell seam 执行，并公开命令、参数及审批策略。","note":"位于测试、示例或文档目录","hash":"1885abbaac15bd28ee949778"},{"id":"HT-EXEC-001","title":"直接创建宿主子进程","severity":"low","confidence":"medium","layer":"static","path":"skills/inspiration-deck-workshop/tools/lib/browser.mjs","pathClass":"source","line":3,"evidence":"node:child_process","remediation":"通过 DSH 的受控 subprocess/shell seam 执行，并公开命令、参数及审批策略。","hash":"4fbd686ec0490af5f5ac95aa"}],"counts":{"critical":0,"high":0,"medium":0,"low":1},"rawCounts":{"critical":0,"high":0,"medium":4,"low":4},"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":202,"bytesScanned":519649,"truncated":false,"lockfiles":[],"pathClasses":{"markdown":23,"cordis":1,"source":14,"manifest":2,"test-example-docs":156,"script":6}},"limitations":["此结果为源码静态检测，不等同于无漏洞证明。","尚未比对 npm 发布包与源码的一致性，也未执行隔离运行和人工复核。","危险能力可能是插件功能所需，需结合用途与证据人工判断。"],"limitationKeys":["static-analysis-only","no-artifact-runtime-human-review","capability-needs-context"]},"timeline":[{"scannedAt":"2026-08-22T08:32:50.353Z","commit":"c2252ed83462623cebc4ffd198d6ffa0af7bea47","policyVersion":"HT-DSH-0.2.2","verdict":"pass","status":"static-complete"},{"scannedAt":"2026-08-21T11:37:01.630Z","commit":"c2252ed83462623cebc4ffd198d6ffa0af7bea47","policyVersion":"HT-DSH-0.2.1","verdict":"pass","status":"static-complete"},{"scannedAt":"2026-08-21T11:06:05.591Z","commit":"c2252ed83462623cebc4ffd198d6ffa0af7bea47","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":"c2252ed83462623cebc4ffd198d6ffa0af7bea47","policyVersion":"HT-DSH-0.2.2","at":"2026-08-22T08:32:50.353Z"},{"kind":"policy-change","from":"HT-DSH-0.2.0","to":"HT-DSH-0.2.1","commit":"c2252ed83462623cebc4ffd198d6ffa0af7bea47","policyVersion":"HT-DSH-0.2.1","at":"2026-08-21T11:37:01.630Z"},{"kind":"first-scan","from":null,"to":"pass","commit":"c2252ed83462623cebc4ffd198d6ffa0af7bea47","policyVersion":"HT-DSH-0.2.0","at":"2026-08-21T11:06:05.591Z"}]}