{"schemaVersion":2,"dataVersion":"20260822T105549Z-0a0b366f","generatedAt":"2026-08-22T10:55:49.138Z","source":{"id":"antarescorn-dsh-auto-reviewer","slug":"antarescorn-dsh-auto-reviewer","rank":1587,"url":"https://github.com/AntaresCorn/dsh-auto-reviewer","name":"AntaresCorn/dsh-auto-reviewer","category":"security","description":{"zh":"Codex 风格自动审查权限模式：新增 auto-review 权限档，自动放行安全沙箱提权，危险或模糊操作转人工确认，未确认的致命操作直接拒绝。","en":"Codex-style auto-review permission mode: adds an auto-review preset that auto-approves safe sandbox escalations, asks on risky or ambiguous ones, and rejects critical unconfirmed operations."},"stars":0,"starsCheckedAt":"2026-08-21","repository":{"owner":"AntaresCorn","repo":"dsh-auto-reviewer","requestedRef":null,"subpath":""},"npm":null,"downloads":null,"installMode":"github-source","upstreamInstall":"dsh plugin --profile web add github:AntaresCorn/dsh-auto-reviewer","tarball":null,"added":"2026-08-18","page":"https://awesome-dsh-plugin.com/p/AntaresCorn/dsh-auto-reviewer/","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":"antarescorn-dsh-auto-reviewer","slug":"antarescorn-dsh-auto-reviewer","policyVersion":"HT-DSH-0.2.2","scannedAt":"2026-08-21T13:17:48.753Z","scanStatus":"static-complete","verdict":"caution","score":94,"commit":"4ab578384aea0f7ac374c23591e4609558353533","commitDate":"2026-08-18T01:49:22+08:00","artifactDigest":"sha256:e54163adbda81bdbb7c897a408cbff164a01d3d456cc555c3f2e254aa4006b29","downloadUrl":"https://github.com/AntaresCorn/dsh-auto-reviewer/archive/4ab578384aea0f7ac374c23591e4609558353533.tar.gz","installMode":"github-source","installCommand":"dsh plugin --profile web add github:AntaresCorn/dsh-auto-reviewer","manifest":{"found":true,"path":"package.json","parseError":null,"packageName":"@dsh-external/dsh-auto-reviewer","packageVersion":"0.0.1","bundle":{"patch":"./cordis.patch.yml"},"client":null,"lifecycleScripts":{},"peerDependencies":["@deepseek-ai/dsh-agent","@deepseek-ai/dsh-llm","@deepseek-ai/dsh-permission-presets","@deepseek-ai/dsh-session","@deepseek-ai/dsh-user-approval","@deepseek-ai/cordis","@deepseek-ai/schemastery"]},"identity":{"status":"not-published","installMode":"github-source","upstreamNpm":null,"manifestName":"@dsh-external/dsh-auto-reviewer","nameMatch":null,"npm":null,"repositoryMatch":"not-checked","provenance":"not-checked","tarballHost":null},"permissions":{"bundlePatch":"cordis.patch.yml","inserts":[{"id":"dsh-auto-reviewer","name":"@dsh-external/dsh-auto-reviewer","path":"cordis.patch.yml","disabled":false}],"overrides":[{"id":"permission","tier":"critical","mode":"override","disabled":false,"replacesImplementation":true,"name":"@deepseek-ai/dsh-permission-presets","keys":["presets"],"path":"cordis.patch.yml"}],"jsExpressions":0,"clientPlatform":null,"parseErrors":[]},"capabilities":["agent-control","filesystem","host-bundle","subprocess"],"outboundHosts":[],"findings":[{"id":"HT-EXEC-001","title":"直接创建宿主子进程","severity":"low","confidence":"medium","layer":"static","path":"lib/index.js","pathClass":"source","line":4,"evidence":"execFileSync","remediation":"通过 DSH 的受控 subprocess/shell seam 执行，并公开命令、参数及审批策略。","hash":"ad87a0cff277aadc3d72c624"},{"id":"HT-EXEC-001","title":"直接创建宿主子进程","severity":"low","confidence":"medium","layer":"static","path":"lib/index.js","pathClass":"source","line":4,"evidence":"node:child_process","remediation":"通过 DSH 的受控 subprocess/shell seam 执行，并公开命令、参数及审批策略。","hash":"89dedaa9e6429e9e52b8af60"},{"id":"HT-EXEC-001","title":"直接创建宿主子进程","severity":"low","confidence":"medium","layer":"static","path":"src/index.ts","pathClass":"source","line":6,"evidence":"execFileSync","remediation":"通过 DSH 的受控 subprocess/shell seam 执行，并公开命令、参数及审批策略。","hash":"fc999c239442b0f5151f41d3"},{"id":"HT-EXEC-001","title":"直接创建宿主子进程","severity":"low","confidence":"medium","layer":"static","path":"src/index.ts","pathClass":"source","line":6,"evidence":"node:child_process","remediation":"通过 DSH 的受控 subprocess/shell seam 执行，并公开命令、参数及审批策略。","hash":"165497e2a6660ef29786eb22"},{"id":"HT-PERMISSION-001","title":"覆盖安全关键宿主能力","severity":"medium","confidence":"high","path":"cordis.patch.yml","line":7,"evidence":"override: id=permission name=@deepseek-ai/dsh-permission-presets config[presets]","remediation":"安全关键 seam 的替换必须逐项解释、最小化，并接受人工复核；用户安装前应知晓该能力被谁接管。","note":"替换实现 权限预设（permission）","layer":"dsh-semantics","pathClass":"cordis","hash":"cd5ad732a236fcd2a1c5f558","review":{"verdict":"functional","reason":"该patch仅新增auto-review预设(sandbox: workspace-write, approval: ask)，并原样保留read-only/workspace-write/danger-full-access三项内置预设未做削弱，是权限模式插件按声明新增权限档所必需的实现方式。","model":"sonnet","reviewedAt":"2026-08-21T13:17:48.753Z"}}],"counts":{"critical":0,"high":0,"medium":1,"low":4},"rawCounts":{"critical":0,"high":0,"medium":1,"low":4},"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":11,"bytesScanned":70857,"truncated":false,"lockfiles":["package-lock.json"],"pathClasses":{"markdown":2,"cordis":1,"source":3,"data":2,"manifest":1,"script":2}},"limitations":["此结果为源码静态检测，不等同于无漏洞证明。","尚未比对 npm 发布包与源码的一致性，也未执行隔离运行和人工复核。","危险能力可能是插件功能所需，需结合用途与证据人工判断。"],"limitationKeys":["static-analysis-only","no-artifact-runtime-human-review","capability-needs-context"],"review":{"model":"sonnet","reviewedAt":"2026-08-21T13:17:48.753Z","summary":"插件声称新增Codex风格auto-review权限档：安全沙箱提权自动放行、风险或模糊操作转人工、未确认致命操作直接拒绝。patch对id=permission的覆盖仅追加一个新预设，未削弱原有三个内置预设的沙箱与审批级别，与描述的新增权限档一致。但实际自动放行与拒绝逻辑位于本次finding未提供的插件源码(lib/index.js)中，config里的autoApproveDangerFullAccess为true、useLlm为true等参数决定了真实审批行为是否真正做到风险操作转人工、致命操作拒绝，需结合运行时代码进一步核实，用户应重点关注该插件是否会绕过对danger-full-access级别操作的人工确认。</parameter>\n</invoke>\n","intentMatch":"partially","findingsReviewed":1,"findingsCandidates":1,"fromCache":0,"usage":{"inputTokens":6,"outputTokens":4222,"costUsd":0.1088694,"durationMs":46196}}},"timeline":[{"scannedAt":"2026-08-21T13:17:48.753Z","commit":"4ab578384aea0f7ac374c23591e4609558353533","policyVersion":"HT-DSH-0.2.2","verdict":"caution","status":"static-complete"},{"scannedAt":"2026-08-21T11:42:57.272Z","commit":"4ab578384aea0f7ac374c23591e4609558353533","policyVersion":"HT-DSH-0.2.1","verdict":"review","status":"static-complete"},{"scannedAt":"2026-08-21T11:11:50.618Z","commit":"4ab578384aea0f7ac374c23591e4609558353533","policyVersion":"HT-DSH-0.2.0","verdict":"review","status":"static-complete"}],"events":[{"kind":"verdict-change","from":"review","to":"caution","commit":"4ab578384aea0f7ac374c23591e4609558353533","policyVersion":"HT-DSH-0.2.2","at":"2026-08-21T13:17:48.753Z"},{"kind":"policy-change","from":"HT-DSH-0.2.0","to":"HT-DSH-0.2.1","commit":"4ab578384aea0f7ac374c23591e4609558353533","policyVersion":"HT-DSH-0.2.1","at":"2026-08-21T11:42:57.272Z"},{"kind":"first-scan","from":null,"to":"review","commit":"4ab578384aea0f7ac374c23591e4609558353533","policyVersion":"HT-DSH-0.2.0","at":"2026-08-21T11:11:50.618Z"}]}