{"schemaVersion":2,"dataVersion":"20260822T105549Z-0a0b366f","generatedAt":"2026-08-22T10:55:49.138Z","source":{"id":"whitefirer-dsh-niulai-pet","slug":"whitefirer-dsh-niulai-pet","rank":340,"url":"https://github.com/whitefirer/dsh-niulai-pet","name":"whitefirer/dsh-niulai-pet","category":"fun","description":{"zh":"牛来桌宠——agent 任务完成就蹦出来喊「妈～～妈～～」（嘴型同步）；6 个皮肤、签名动作、事件绑定、WebAudio 合成叫声，内置手绘 SVG 皮肤素材。","en":"NiuLai meme desktop pet — shouts \"Ma～ma～\" with a synced mouth when your agent finishes; 6 skins, signature actions, action-event binding, WebAudio-synthesized animal calls, hand-drawn SVG skins bundled."},"stars":8,"starsCheckedAt":"2026-08-21","repository":{"owner":"whitefirer","repo":"dsh-niulai-pet","requestedRef":null,"subpath":""},"npm":"dsh-niulai-pet","downloads":252,"installMode":"npm","upstreamInstall":"dsh plugin --profile web add dsh-niulai-pet","tarball":null,"added":"2026-08-21","page":"https://awesome-dsh-plugin.com/p/whitefirer/dsh-niulai-pet/","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":"whitefirer-dsh-niulai-pet","slug":"whitefirer-dsh-niulai-pet","policyVersion":"HT-DSH-0.2.2","scannedAt":"2026-08-22T08:23:58.133Z","scanStatus":"static-complete","verdict":"caution","score":94,"commit":"0d7cb577323bcc5a5f2ea9e817a92ba1c76d123c","commitDate":"2026-08-22T07:07:47+08:00","artifactDigest":"sha256:e872f2be35432ff588cb5c0009ce302508adda2f7e48b82244109b369a0de6bf","downloadUrl":"https://github.com/whitefirer/dsh-niulai-pet/archive/0d7cb577323bcc5a5f2ea9e817a92ba1c76d123c.tar.gz","installMode":"npm","installCommand":"dsh plugin --profile web add dsh-niulai-pet","manifest":{"found":true,"path":"package.json","parseError":null,"packageName":"dsh-niulai-pet","packageVersion":"0.3.1","bundle":{"patch":"./cordis.patch.yml"},"client":{"platform":"web"},"lifecycleScripts":{},"peerDependencies":[]},"identity":{"status":"found","installMode":"npm","upstreamNpm":"dsh-niulai-pet","manifestName":"dsh-niulai-pet","nameMatch":true,"npm":{"name":"dsh-niulai-pet","latestVersion":"0.3.0","publishedAt":"2026-08-21T09:02:26.511Z","createdAt":"2026-08-19T18:40:00.195Z","versionCount":4,"maintainers":1,"repository":"git+https://github.com/whitefirer/dsh-niulai-pet.git","hasInstallScripts":false,"deprecated":false},"repositoryMatch":"match","provenance":"attested","tarballHost":null,"versionMatch":"differs"},"permissions":{"bundlePatch":"cordis.patch.yml","inserts":[{"id":"niulai-pet","name":"dsh-niulai-pet","path":"cordis.patch.yml","disabled":false}],"overrides":[],"jsExpressions":0,"clientPlatform":"web","parseErrors":[]},"capabilities":["browser-ui","filesystem","host-bundle","network","subprocess"],"outboundHosts":[{"host":"www.deepseek.com","count":1}],"findings":[{"id":"HT-CLIENT-001","title":"浏览器端使用危险 HTML 注入点","severity":"medium","confidence":"medium","layer":"static","path":"src/client/demo.ts","pathClass":"source","line":25,"evidence":".innerHTML =","remediation":"使用安全 DOM API，并在不可避免时对不可信内容进行严格清洗。","hash":"64b3924f094f78dab97cffe8"},{"id":"HT-EXEC-001","title":"直接创建宿主子进程","severity":"low","confidence":"low","layer":"static","path":"test/voice-matcher.mts","pathClass":"test-example-docs","line":8,"evidence":"spawnSync","remediation":"通过 DSH 的受控 subprocess/shell seam 执行，并公开命令、参数及审批策略。","note":"位于测试、示例或文档目录","hash":"a2abb632136ea9d0565eab7a"},{"id":"HT-EXEC-001","title":"直接创建宿主子进程","severity":"low","confidence":"low","layer":"static","path":"test/voice-matcher.mts","pathClass":"test-example-docs","line":8,"evidence":"node:child_process","remediation":"通过 DSH 的受控 subprocess/shell seam 执行，并公开命令、参数及审批策略。","note":"位于测试、示例或文档目录","hash":"f16caec0dc4d171da4ea9e9f"},{"id":"HT-EXEC-001","title":"直接创建宿主子进程","severity":"low","confidence":"medium","layer":"static","path":"tools/cutout/pitch.py","pathClass":"source","line":6,"evidence":"subprocess.run","remediation":"通过 DSH 的受控 subprocess/shell seam 执行，并公开命令、参数及审批策略。","hash":"5c9f71c7f7645106ff0adf0c"}],"counts":{"critical":0,"high":0,"medium":1,"low":1},"rawCounts":{"critical":0,"high":0,"medium":1,"low":3},"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":40,"bytesScanned":390851,"truncated":false,"lockfiles":["package-lock.json"],"pathClasses":{"test-example-docs":3,"markdown":5,"source":28,"cordis":1,"data":2,"manifest":1}},"limitations":["此结果为源码静态检测，不等同于无漏洞证明。","尚未比对 npm 发布包与源码的一致性，也未执行隔离运行和人工复核。","危险能力可能是插件功能所需，需结合用途与证据人工判断。"],"limitationKeys":["static-analysis-only","no-artifact-runtime-human-review","capability-needs-context"]},"timeline":[{"scannedAt":"2026-08-22T08:23:58.133Z","commit":"0d7cb577323bcc5a5f2ea9e817a92ba1c76d123c","policyVersion":"HT-DSH-0.2.2","verdict":"caution","status":"static-complete"},{"scannedAt":"2026-08-21T11:23:51.659Z","commit":"df8108a4e5851ed929175d69d971b2f187f63e8c","policyVersion":"HT-DSH-0.2.1","verdict":"caution","status":"static-complete"},{"scannedAt":"2026-08-21T10:52:39.298Z","commit":"df8108a4e5851ed929175d69d971b2f187f63e8c","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":"0d7cb577323bcc5a5f2ea9e817a92ba1c76d123c","policyVersion":"HT-DSH-0.2.2","at":"2026-08-22T08:23:58.133Z"},{"kind":"policy-change","from":"HT-DSH-0.2.0","to":"HT-DSH-0.2.1","commit":"df8108a4e5851ed929175d69d971b2f187f63e8c","policyVersion":"HT-DSH-0.2.1","at":"2026-08-21T11:23:51.659Z"},{"kind":"first-scan","from":null,"to":"caution","commit":"df8108a4e5851ed929175d69d971b2f187f63e8c","policyVersion":"HT-DSH-0.2.0","at":"2026-08-21T10:52:39.298Z"}]}