{"schemaVersion":2,"dataVersion":"20260822T105549Z-0a0b366f","generatedAt":"2026-08-22T10:55:49.138Z","source":{"id":"moon09300731-dsh-approval-gate","slug":"moon09300731-dsh-approval-gate","rank":577,"url":"https://github.com/moon09300731/dsh-approval-gate","name":"moon09300731/dsh-approval-gate","category":"security","description":{"zh":"DeepSeek Harness 自动审批门控：Flash 预判写入/命令是否不可回补，安全操作自动批准、危险操作转人工（fail-safe）。另含文件改动对比（unified diff）与一键撤销、按会话隔离的快照管理（v0.5.1：通过工具调用参数回溯精确保存快照，覆盖人工审批场景）。","en":"Risk-gated approval automation for DeepSeek Harness: flash pre-classifies whether a write/command is irreversible — safe operations are auto-approved, dangerous ones are escalated to human approval (fail-safe). File-diff review with one-click revert and session-scoped snapshots (v0.5.1: precise snapshots via tool-call parameter tracing, incl. human-approval cases)."},"stars":4,"starsCheckedAt":"2026-08-21","repository":{"owner":"moon09300731","repo":"dsh-approval-gate","requestedRef":null,"subpath":""},"npm":"dsh-approval-gate","downloads":387,"installMode":"npm","upstreamInstall":"dsh plugin --profile web add dsh-approval-gate","tarball":null,"added":"2026-08-17","page":"https://awesome-dsh-plugin.com/p/moon09300731/dsh-approval-gate/","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":"moon09300731-dsh-approval-gate","slug":"moon09300731-dsh-approval-gate","policyVersion":"HT-DSH-0.2.2","scannedAt":"2026-08-22T08:26:24.482Z","scanStatus":"static-complete","verdict":"caution","score":95,"commit":"8419bc3722a237a85c033565be6ac06074f05d92","commitDate":"2026-08-20T14:16:41+08:00","artifactDigest":"sha256:cab0c6cf7f6beb3a1d0e795ffe43b02e41b62796cf749191b31442666668b07f","downloadUrl":"https://github.com/moon09300731/dsh-approval-gate/archive/8419bc3722a237a85c033565be6ac06074f05d92.tar.gz","installMode":"npm","installCommand":"dsh plugin --profile web add dsh-approval-gate","manifest":{"found":true,"path":"package.json","parseError":null,"packageName":"dsh-approval-gate","packageVersion":"0.5.2","bundle":{"patch":"./cordis.patch.yml"},"client":{"platform":"web","inject":[]},"lifecycleScripts":{},"peerDependencies":[]},"identity":{"status":"found","installMode":"npm","upstreamNpm":"dsh-approval-gate","manifestName":"dsh-approval-gate","nameMatch":true,"npm":{"name":"dsh-approval-gate","latestVersion":"0.5.0","publishedAt":"2026-08-18T04:37:32.642Z","createdAt":"2026-08-14T07:44:56.874Z","versionCount":4,"maintainers":1,"repository":"git+github:moon09300731/dsh-approval-gate.git","hasInstallScripts":false,"deprecated":false},"repositoryMatch":"missing","provenance":"none","tarballHost":null,"versionMatch":"differs"},"permissions":{"bundlePatch":"cordis.patch.yml","inserts":[{"id":"dsh-approval-gate","name":"dsh-approval-gate","path":"cordis.patch.yml","disabled":false}],"overrides":[],"jsExpressions":0,"clientPlatform":"web","parseErrors":[]},"capabilities":["agent-control","browser-ui","environment","filesystem","host-bundle","network"],"outboundHosts":[],"findings":[{"id":"HT-IDENTITY-002","title":"npm 包未声明源码仓库，无法核对来源","severity":"medium","confidence":"medium","path":"package.json","pathClass":"manifest","line":1,"evidence":"npm dsh-approval-gate@0.5.0 repository=∅","remediation":"在 package.json 中声明 repository 字段并启用 npm provenance。","layer":"identity","hash":"451581104e8f5d1dea872342"}],"counts":{"critical":0,"high":0,"medium":1,"low":0},"rawCounts":{"critical":0,"high":0,"medium":1,"low":0},"vulnerabilities":[],"coverage":{"source":"complete","manifest":"complete","bundleConfig":"complete","dependencies":"lockfile-missing","vulnerabilities":"lockfile-missing","identity":"complete","artifact":"not-compared","llmReview":"not-needed","dynamicRuntime":"not-run","humanReview":"not-run"},"inventory":{"filesScanned":9,"bytesScanned":175429,"truncated":false,"lockfiles":[],"pathClasses":{"markdown":5,"source":2,"cordis":1,"manifest":1}},"limitations":["此结果为源码静态检测，不等同于无漏洞证明。","尚未比对 npm 发布包与源码的一致性，也未执行隔离运行和人工复核。","危险能力可能是插件功能所需，需结合用途与证据人工判断。"],"limitationKeys":["static-analysis-only","no-artifact-runtime-human-review","capability-needs-context"]},"timeline":[{"scannedAt":"2026-08-22T08:26:24.482Z","commit":"8419bc3722a237a85c033565be6ac06074f05d92","policyVersion":"HT-DSH-0.2.2","verdict":"caution","status":"static-complete"},{"scannedAt":"2026-08-21T11:32:19.711Z","commit":"8419bc3722a237a85c033565be6ac06074f05d92","policyVersion":"HT-DSH-0.2.1","verdict":"caution","status":"static-complete"},{"scannedAt":"2026-08-21T11:01:19.190Z","commit":"8419bc3722a237a85c033565be6ac06074f05d92","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":"8419bc3722a237a85c033565be6ac06074f05d92","policyVersion":"HT-DSH-0.2.2","at":"2026-08-22T08:26:24.482Z"},{"kind":"policy-change","from":"HT-DSH-0.2.0","to":"HT-DSH-0.2.1","commit":"8419bc3722a237a85c033565be6ac06074f05d92","policyVersion":"HT-DSH-0.2.1","at":"2026-08-21T11:32:19.711Z"},{"kind":"first-scan","from":null,"to":"caution","commit":"8419bc3722a237a85c033565be6ac06074f05d92","policyVersion":"HT-DSH-0.2.0","at":"2026-08-21T11:01:19.190Z"}]}