{"schemaVersion":2,"dataVersion":"20260822T105549Z-0a0b366f","generatedAt":"2026-08-22T10:55:49.138Z","source":{"id":"jadpp-dsh-whale-galgame","slug":"jadpp-dsh-whale-galgame","rank":305,"url":"https://github.com/JAdpp/dsh-whale-galgame","name":"JAdpp/dsh-whale-galgame","category":"fun","description":{"zh":"多角色 Galgame 对话界面：角色与回复模型可独立切换，分角色保存好感度、记忆、对话历史与 CG 图鉴，并根据 Harness 跨会话任务事件做出角色回应。","en":"Multi-character Galgame conversation view with separate character and reply-model selection, per-character affection, memory, dialogue history, and CG galleries, plus responses informed by task events across Harness sessions."},"stars":9,"starsCheckedAt":"2026-08-21","repository":{"owner":"JAdpp","repo":"dsh-whale-galgame","requestedRef":null,"subpath":""},"npm":"dsh-whale-galgame","downloads":394,"installMode":"npm","upstreamInstall":"dsh plugin --profile web add dsh-whale-galgame","tarball":null,"added":"2026-08-16","page":"https://awesome-dsh-plugin.com/p/JAdpp/dsh-whale-galgame/","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":"jadpp-dsh-whale-galgame","slug":"jadpp-dsh-whale-galgame","policyVersion":"HT-DSH-0.2.2","scannedAt":"2026-08-22T08:23:27.782Z","scanStatus":"static-complete","verdict":"caution","score":94,"commit":"baa9af043d62e2b1f115c64a5907b6e5851caf2b","commitDate":"2026-08-19T22:22:01+08:00","artifactDigest":"sha256:969f847c3b52e9c47d9ea0561565a03e9c5f3cc624e3130a21f2f3508f6842bc","downloadUrl":"https://github.com/JAdpp/dsh-whale-galgame/archive/baa9af043d62e2b1f115c64a5907b6e5851caf2b.tar.gz","installMode":"npm","installCommand":"dsh plugin --profile web add dsh-whale-galgame","manifest":{"found":true,"path":"package.json","parseError":null,"packageName":"dsh-whale-galgame","packageVersion":"0.3.0","bundle":{"patch":"./cordis.patch.yml"},"client":{"inject":["@deepseek-ai/dsh-client-runtime","@deepseek-ai/dsh-client-ui-settings","@deepseek-ai/dsh-client-ui-conversation"],"platform":"web","immediately":true},"lifecycleScripts":{"prepare":"node scripts/embed-art.mjs && tsdown"},"peerDependencies":[]},"identity":{"status":"found","installMode":"npm","upstreamNpm":"dsh-whale-galgame","manifestName":"dsh-whale-galgame","nameMatch":true,"npm":{"name":"dsh-whale-galgame","latestVersion":"0.4.0","publishedAt":"2026-08-19T11:09:07.334Z","createdAt":"2026-08-17T18:09:17.545Z","versionCount":2,"maintainers":1,"repository":"https://github.com/JAdpp/dsh-whale-galgame.git","hasInstallScripts":false,"deprecated":false},"repositoryMatch":"match","provenance":"none","tarballHost":null,"versionMatch":"differs"},"permissions":{"bundlePatch":"cordis.patch.yml","inserts":[{"id":"ui-whale-galgame","name":"dsh-whale-galgame","path":"cordis.patch.yml","disabled":false}],"overrides":[],"jsExpressions":0,"clientPlatform":"web","parseErrors":[]},"capabilities":["agent-control","browser-ui","credentials","environment","filesystem","host-bundle","network","session","subprocess"],"outboundHosts":[{"host":"dashscope.aliyuncs.com","count":2}],"findings":[{"id":"HT-INSTALL-002","title":"Git 安装会触发 prepare 构建脚本","severity":"medium","confidence":"low","layer":"supply-chain","path":"package.json","pathClass":"manifest","line":28,"evidence":"\"prepare\": \"node scripts/embed-art.mjs && tsdown\"","remediation":"发布预构建制品（npm 或 GitHub Release tarball），并记录源码与发布包的一致性证明。","note":"该插件以 npm/tarball 预构建方式分发，prepare 不在用户机器上执行","hash":"12a154739915c9f3c40dfcb5"},{"id":"HT-EXEC-001","title":"直接创建宿主子进程","severity":"low","confidence":"medium","layer":"static","path":"scripts/release-audit.mjs","pathClass":"source","line":1,"evidence":"execFileSync","remediation":"通过 DSH 的受控 subprocess/shell seam 执行，并公开命令、参数及审批策略。","hash":"d47b82d774b5bb51f1766c39"},{"id":"HT-EXEC-001","title":"直接创建宿主子进程","severity":"low","confidence":"medium","layer":"static","path":"scripts/release-audit.mjs","pathClass":"source","line":1,"evidence":"node:child_process","remediation":"通过 DSH 的受控 subprocess/shell seam 执行，并公开命令、参数及审批策略。","hash":"907df21c4ea262a949378205"},{"id":"HT-DATA-001","title":"同一模块同时接触凭据与网络","severity":"medium","confidence":"medium","layer":"static","path":"src/index.ts","pathClass":"source","line":569,"evidence":"credential access at line 569 + outbound network at line 3405","remediation":"拆分能力边界，限定目的域名，并提供不会发送凭据值的可验证证明。","hash":"f239893df7918e3cd6ec30d9","review":{"verdict":"functional","reason":"dashscopeApiKey 来自用户配置或环境变量，仅用于向用户自定义的 dashscopeBaseUrl（DashScope 官方地址）请求生成升级 CG，是插件声明功能的必要组成部分。","model":"sonnet@p2","reviewedAt":"2026-08-21T11:23:44.362Z"}}],"counts":{"critical":0,"high":0,"medium":1,"low":2},"rawCounts":{"critical":0,"high":0,"medium":2,"low":2},"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":32,"bytesScanned":756280,"truncated":false,"lockfiles":["package-lock.json"],"pathClasses":{"test-example-docs":8,"markdown":11,"cordis":1,"data":1,"manifest":1,"source":10}},"limitations":["此结果为源码静态检测，不等同于无漏洞证明。","尚未比对 npm 发布包与源码的一致性，也未执行隔离运行和人工复核。","危险能力可能是插件功能所需，需结合用途与证据人工判断。"],"limitationKeys":["static-analysis-only","no-artifact-runtime-human-review","capability-needs-context"],"review":{"model":"sonnet","reviewedAt":"2026-08-22T08:23:27.782Z","summary":null,"intentMatch":null,"findingsReviewed":1,"findingsCandidates":1,"fromCache":1,"usage":null}},"timeline":[{"scannedAt":"2026-08-22T08:23:27.782Z","commit":"baa9af043d62e2b1f115c64a5907b6e5851caf2b","policyVersion":"HT-DSH-0.2.2","verdict":"caution","status":"static-complete"},{"scannedAt":"2026-08-21T11:23:44.362Z","commit":"baa9af043d62e2b1f115c64a5907b6e5851caf2b","policyVersion":"HT-DSH-0.2.1","verdict":"caution","status":"static-complete"},{"scannedAt":"2026-08-21T10:52:31.864Z","commit":"baa9af043d62e2b1f115c64a5907b6e5851caf2b","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":"baa9af043d62e2b1f115c64a5907b6e5851caf2b","policyVersion":"HT-DSH-0.2.2","at":"2026-08-22T08:23:27.782Z"},{"kind":"policy-change","from":"HT-DSH-0.2.0","to":"HT-DSH-0.2.1","commit":"baa9af043d62e2b1f115c64a5907b6e5851caf2b","policyVersion":"HT-DSH-0.2.1","at":"2026-08-21T11:23:44.362Z"},{"kind":"first-scan","from":null,"to":"caution","commit":"baa9af043d62e2b1f115c64a5907b6e5851caf2b","policyVersion":"HT-DSH-0.2.0","at":"2026-08-21T10:52:31.864Z"}]}