{"schemaVersion":2,"dataVersion":"20260822T105549Z-0a0b366f","generatedAt":"2026-08-22T10:55:49.138Z","source":{"id":"01virex-dsh-status-rotator","slug":"01virex-dsh-status-rotator","rank":103,"url":"https://github.com/01Virex/dsh-status-rotator","name":"01Virex/dsh-status-rotator","category":"ui","description":{"zh":"把回合状态那句 \"Deep diving...\" 替换成更有梗的自定义文案，按阶段轮换，支持打字机与流动渐变。","en":"Replaces the \"Deep diving...\" turn-status label with rotating meme-worthy phrases, with typewriter and gradient effects."},"stars":45,"starsCheckedAt":"2026-08-21","repository":{"owner":"01Virex","repo":"dsh-status-rotator","requestedRef":null,"subpath":""},"npm":"dsh-status-rotator","downloads":478,"installMode":"npm","upstreamInstall":"dsh plugin --profile web add dsh-status-rotator","tarball":null,"added":"2026-08-14","page":"https://awesome-dsh-plugin.com/p/01Virex/dsh-status-rotator/","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":"01virex-dsh-status-rotator","slug":"01virex-dsh-status-rotator","policyVersion":"HT-DSH-0.2.2","scannedAt":"2026-08-22T08:20:51.416Z","scanStatus":"static-complete","verdict":"caution","score":90,"commit":"c67fe4c20b6e0eb3c1c0e80900fde505eabdbcdc","commitDate":"2026-08-22T00:05:15+08:00","artifactDigest":"sha256:341b06a9d4b7c977db8398ba3a35bf04f77eddd72815de4c31d43243996d8722","downloadUrl":"https://github.com/01Virex/dsh-status-rotator/archive/c67fe4c20b6e0eb3c1c0e80900fde505eabdbcdc.tar.gz","installMode":"npm","installCommand":"dsh plugin --profile web add dsh-status-rotator","manifest":{"found":true,"path":"package.json","parseError":null,"packageName":"dsh-status-rotator","packageVersion":"0.6.6","bundle":{"patch":"./cordis.patch.yml"},"client":{"platform":"web","inject":[],"immediately":true},"lifecycleScripts":{},"peerDependencies":[]},"identity":{"status":"found","installMode":"npm","upstreamNpm":"dsh-status-rotator","manifestName":"dsh-status-rotator","nameMatch":true,"npm":{"name":"dsh-status-rotator","latestVersion":"0.5.1","publishedAt":"2026-08-21T10:23:01.094Z","createdAt":"2026-08-18T08:46:04.501Z","versionCount":2,"maintainers":1,"repository":"git+https://github.com/01Virex/dsh-status-rotator.git","hasInstallScripts":false,"deprecated":false},"repositoryMatch":"match","provenance":"none","tarballHost":null,"versionMatch":"differs"},"permissions":{"bundlePatch":"cordis.patch.yml","inserts":[{"id":"status-rotator","name":"dsh-status-rotator","path":"cordis.patch.yml","disabled":false}],"overrides":[],"jsExpressions":0,"clientPlatform":"web","parseErrors":[]},"capabilities":["browser-ui","credentials","environment","filesystem","host-bundle","network"],"outboundHosts":[],"findings":[{"id":"HT-RUNTIME-001","title":"动态代码执行","severity":"medium","confidence":"medium","layer":"static","path":"scripts/smoke-test.cjs","pathClass":"source","line":50,"evidence":"vm.runInContext(","remediation":"使用静态模块和受约束的配置解析器，避免在宿主权限下执行动态字符串。","hash":"3b994708a677083092563377","review":{"verdict":"functional","reason":"vm.runInContext 仅在开发者手动执行的 npm test 脚本中，把插件自身的 client.js 源码放入沙箱运行以做单元测试，不涉及远程或不可信代码执行。","model":"sonnet@p2","reviewedAt":"2026-08-21T11:19:45.858Z"}},{"id":"HT-DATA-001","title":"同一模块同时接触凭据与网络","severity":"medium","confidence":"medium","layer":"static","path":"scripts/fetch-qq-group.cjs","pathClass":"source","line":54,"evidence":"credential access at line 54 + outbound network at line 139","remediation":"拆分能力边界，限定目的域名，并提供不会发送凭据值的可验证证明。","hash":"73e1fc5e6672f6f865d379ce","review":{"verdict":"functional","reason":"fetch-qq-group.cjs 是需手动执行的独立配置生成脚本，token 仅来自命令行/环境变量并只会发往用户显式指定的 OneBot 地址（默认 127.0.0.1:3000），未硬编码远程接收方。","model":"sonnet@p2","reviewedAt":"2026-08-21T11:19:45.858Z"}}],"counts":{"critical":0,"high":0,"medium":2,"low":0},"rawCounts":{"critical":0,"high":0,"medium":2,"low":0},"vulnerabilities":[],"coverage":{"source":"complete","manifest":"complete","bundleConfig":"complete","dependencies":"lockfile-missing","vulnerabilities":"lockfile-missing","identity":"complete","artifact":"not-compared","llmReview":"complete","dynamicRuntime":"not-run","humanReview":"not-run"},"inventory":{"filesScanned":15,"bytesScanned":206780,"truncated":false,"lockfiles":[],"pathClasses":{"test-example-docs":2,"markdown":4,"data":1,"cordis":1,"source":6,"manifest":1}},"limitations":["此结果为源码静态检测，不等同于无漏洞证明。","尚未比对 npm 发布包与源码的一致性，也未执行隔离运行和人工复核。","危险能力可能是插件功能所需，需结合用途与证据人工判断。"],"limitationKeys":["static-analysis-only","no-artifact-runtime-human-review","capability-needs-context"],"review":{"model":"sonnet","reviewedAt":"2026-08-22T08:20:51.416Z","summary":null,"intentMatch":null,"findingsReviewed":2,"findingsCandidates":2,"fromCache":2,"usage":null}},"timeline":[{"scannedAt":"2026-08-22T08:20:51.416Z","commit":"c67fe4c20b6e0eb3c1c0e80900fde505eabdbcdc","policyVersion":"HT-DSH-0.2.2","verdict":"caution","status":"static-complete"},{"scannedAt":"2026-08-21T11:19:45.858Z","commit":"c5f81dd2045990bc83300b20c83bba91e8378c99","policyVersion":"HT-DSH-0.2.1","verdict":"caution","status":"static-complete"},{"scannedAt":"2026-08-21T10:47:38.330Z","commit":"c5f81dd2045990bc83300b20c83bba91e8378c99","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":"c67fe4c20b6e0eb3c1c0e80900fde505eabdbcdc","policyVersion":"HT-DSH-0.2.2","at":"2026-08-22T08:20:51.416Z"},{"kind":"policy-change","from":"HT-DSH-0.2.0","to":"HT-DSH-0.2.1","commit":"c5f81dd2045990bc83300b20c83bba91e8378c99","policyVersion":"HT-DSH-0.2.1","at":"2026-08-21T11:19:45.858Z"},{"kind":"first-scan","from":null,"to":"caution","commit":"c5f81dd2045990bc83300b20c83bba91e8378c99","policyVersion":"HT-DSH-0.2.0","at":"2026-08-21T10:47:38.330Z"}]}