{"schemaVersion":2,"dataVersion":"20260822T105549Z-0a0b366f","generatedAt":"2026-08-22T10:55:49.138Z","source":{"id":"openma-ai-deepseek-harness-acp","slug":"openma-ai-deepseek-harness-acp","rank":227,"url":"https://github.com/openma-ai/deepseek-harness-acp","name":"openma-ai/deepseek-harness-acp","category":"notify","description":{"zh":"ACP profile 插件与独立 stdio server，可从 Zed 等 ACP 客户端使用完整 DSH agent，并共享 DSH 凭据与会话。","en":"ACP profile plugin and standalone stdio server for using the full DSH agent from Zed and other ACP clients while sharing DSH credentials and sessions."},"stars":13,"starsCheckedAt":"2026-08-21","repository":{"owner":"openma-ai","repo":"deepseek-harness-acp","requestedRef":null,"subpath":""},"npm":"@openma/deepseek-harness-acp","downloads":3906,"installMode":"npm","upstreamInstall":"dsh plugin --profile web add @openma/deepseek-harness-acp","tarball":null,"added":"2026-08-14","page":"https://awesome-dsh-plugin.com/p/openma-ai/deepseek-harness-acp/","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":"openma-ai-deepseek-harness-acp","slug":"openma-ai-deepseek-harness-acp","policyVersion":"HT-DSH-0.2.2","scannedAt":"2026-08-22T08:22:31.108Z","scanStatus":"static-complete","verdict":"caution","score":89,"commit":"a5dd2bbb63fb47112b4f8a72985da3bed37e0905","commitDate":"2026-08-22T15:24:07+08:00","artifactDigest":"sha256:982ab5b9cb94279f0eae5bb27af2ba7560a435dd006473758048fd76ccfbf671","downloadUrl":"https://github.com/openma-ai/deepseek-harness-acp/archive/a5dd2bbb63fb47112b4f8a72985da3bed37e0905.tar.gz","installMode":"npm","installCommand":"dsh plugin --profile web add @openma/deepseek-harness-acp","manifest":{"found":true,"path":"package.json","parseError":null,"packageName":"@openma/deepseek-harness-acp","packageVersion":"0.4.21","bundle":{"patch":"./cordis.patch.yml"},"client":null,"lifecycleScripts":{},"peerDependencies":["@deepseek-ai/dsh"]},"identity":{"status":"found","installMode":"npm","upstreamNpm":"@openma/deepseek-harness-acp","manifestName":"@openma/deepseek-harness-acp","nameMatch":true,"npm":{"name":"@openma/deepseek-harness-acp","latestVersion":"0.4.16","publishedAt":"2026-08-21T09:37:57.151Z","createdAt":"2026-08-14T01:31:25.024Z","versionCount":23,"maintainers":1,"repository":"git+https://github.com/openma-ai/deepseek-harness-acp.git","hasInstallScripts":false,"deprecated":false},"repositoryMatch":"match","provenance":"attested","tarballHost":null,"versionMatch":"differs"},"permissions":{"bundlePatch":"cordis.patch.yml","inserts":[{"id":"agent-presets","name":"@deepseek-ai/dsh-agent-presets","path":"cordis.patch.yml","disabled":false},{"id":"cordis-host-runner","name":"@deepseek-ai/dsh-cordis-host-runner","path":"cordis.patch.yml","disabled":false},{"id":"acp-plugin","name":"@openma/deepseek-harness-acp/plugin","path":"cordis.patch.yml","disabled":false},{"id":"acp-bridge","name":"@openma/deepseek-harness-acp/stdio","path":"cordis.patch.yml","disabled":false}],"overrides":[{"id":"hmr","tier":"normal","mode":"override","disabled":true,"replacesImplementation":false,"name":null,"keys":[],"path":"cordis.patch.yml"},{"id":"tool-bash","tier":"sensitive","mode":"override","disabled":true,"replacesImplementation":false,"name":null,"keys":[],"path":"cordis.patch.yml"},{"id":"tool-pwsh","tier":"sensitive","mode":"override","disabled":true,"replacesImplementation":false,"name":null,"keys":[],"path":"cordis.patch.yml"},{"id":"tool-jobs","tier":"sensitive","mode":"override","disabled":true,"replacesImplementation":false,"name":null,"keys":[],"path":"cordis.patch.yml"},{"id":"tool-fs","tier":"sensitive","mode":"override","disabled":true,"replacesImplementation":false,"name":null,"keys":[],"path":"cordis.patch.yml"},{"id":"tool-fs-search","tier":"sensitive","mode":"override","disabled":true,"replacesImplementation":false,"name":null,"keys":[],"path":"cordis.patch.yml"},{"id":"tool-str-replace-editor","tier":"normal","mode":"override","disabled":true,"replacesImplementation":false,"name":null,"keys":[],"path":"cordis.patch.yml"},{"id":"skill-filesystem","tier":"sensitive","mode":"override","disabled":true,"replacesImplementation":false,"name":null,"keys":[],"path":"cordis.patch.yml"},{"id":"tool-skill","tier":"sensitive","mode":"override","disabled":true,"replacesImplementation":false,"name":null,"keys":[],"path":"cordis.patch.yml"},{"id":"tool-goal","tier":"normal","mode":"override","disabled":true,"replacesImplementation":false,"name":null,"keys":[],"path":"cordis.patch.yml"},{"id":"plan-mode","tier":"sensitive","mode":"override","disabled":true,"replacesImplementation":false,"name":null,"keys":[],"path":"cordis.patch.yml"},{"id":"compaction-basic","tier":"sensitive","mode":"override","disabled":true,"replacesImplementation":false,"name":null,"keys":[],"path":"cordis.patch.yml"},{"id":"command-compact","tier":"normal","mode":"override","disabled":true,"replacesImplementation":false,"name":null,"keys":[],"path":"cordis.patch.yml"},{"id":"tool-result-pruner","tier":"normal","mode":"override","disabled":true,"replacesImplementation":false,"name":null,"keys":[],"path":"cordis.patch.yml"},{"id":"tool-subagent-control","tier":"sensitive","mode":"override","disabled":true,"replacesImplementation":false,"name":null,"keys":[],"path":"cordis.patch.yml"},{"id":"tool-subagent-list-agents","tier":"normal","mode":"override","disabled":true,"replacesImplementation":false,"name":null,"keys":[],"path":"cordis.patch.yml"},{"id":"tool-subagent","tier":"sensitive","mode":"override","disabled":true,"replacesImplementation":false,"name":null,"keys":[],"path":"cordis.patch.yml"},{"id":"tool-subagent-fork","tier":"sensitive","mode":"override","disabled":true,"replacesImplementation":false,"name":null,"keys":[],"path":"cordis.patch.yml"},{"id":"workflow-worker-thread","tier":"sensitive","mode":"override","disabled":true,"replacesImplementation":false,"name":null,"keys":[],"path":"cordis.patch.yml"},{"id":"tool-workflow","tier":"sensitive","mode":"override","disabled":true,"replacesImplementation":false,"name":null,"keys":[],"path":"cordis.patch.yml"},{"id":"tool-ralph","tier":"normal","mode":"override","disabled":true,"replacesImplementation":false,"name":null,"keys":[],"path":"cordis.patch.yml"},{"id":"agent-instructions","tier":"sensitive","mode":"override","disabled":true,"replacesImplementation":false,"name":null,"keys":[],"path":"cordis.patch.yml"},{"id":"tool-todo","tier":"normal","mode":"override","disabled":true,"replacesImplementation":false,"name":null,"keys":[],"path":"cordis.patch.yml"},{"id":"tool-web","tier":"normal","mode":"override","disabled":true,"replacesImplementation":false,"name":null,"keys":[],"path":"cordis.patch.yml"}],"jsExpressions":2,"clientPlatform":null,"parseErrors":[]},"capabilities":["agent-control","browser-ui","credentials","environment","filesystem","host-bundle","mcp","network","session","subprocess","telemetry"],"outboundHosts":[],"findings":[{"id":"HT-CONFIG-001","title":"Cordis 配置包含可执行 !!js 表达式","severity":"medium","confidence":"high","layer":"dsh-semantics","path":"cordis.patch.yml","pathClass":"cordis","line":118,"evidence":"!!js process.env.DSH_MODEL","remediation":"!!js 是 DSH 的官方配置机制；只在表达式引入模块、访问进程或网络时需要额外解释。","note":"表达式访问模块、进程或网络，超出读取注入服务的常规用法","hash":"c7ada957b6a9aee668007454"},{"id":"HT-CONFIG-001","title":"Cordis 配置包含可执行 !!js 表达式","severity":"medium","confidence":"high","layer":"dsh-semantics","path":"cordis.patch.yml","pathClass":"cordis","line":119,"evidence":"!!js process.env.DSH_PERMISSION_MODE","remediation":"!!js 是 DSH 的官方配置机制；只在表达式引入模块、访问进程或网络时需要额外解释。","note":"表达式访问模块、进程或网络，超出读取注入服务的常规用法","hash":"64ef2213ad6dbb778506da3e"},{"id":"HT-EXEC-001","title":"直接创建宿主子进程","severity":"low","confidence":"medium","layer":"static","path":"src/auth-page.ts","pathClass":"source","line":7,"evidence":"node:child_process","remediation":"通过 DSH 的受控 subprocess/shell seam 执行，并公开命令、参数及审批策略。","hash":"b3b47f6c92b32bbaeffb0300"},{"id":"HT-EXEC-001","title":"直接创建宿主子进程","severity":"low","confidence":"medium","layer":"static","path":"src/harness.ts","pathClass":"source","line":26,"evidence":"execFileSync","remediation":"通过 DSH 的受控 subprocess/shell seam 执行，并公开命令、参数及审批策略。","hash":"6f04982cd4fe4597f3bf75b8"},{"id":"HT-EXEC-001","title":"直接创建宿主子进程","severity":"low","confidence":"medium","layer":"static","path":"src/harness.ts","pathClass":"source","line":26,"evidence":"node:child_process","remediation":"通过 DSH 的受控 subprocess/shell seam 执行，并公开命令、参数及审批策略。","hash":"d6493010cc914fbf3fe6d867"},{"id":"HT-EXEC-001","title":"直接创建宿主子进程","severity":"low","confidence":"medium","layer":"static","path":"src/index.ts","pathClass":"source","line":11,"evidence":"spawnSync","remediation":"通过 DSH 的受控 subprocess/shell seam 执行，并公开命令、参数及审批策略。","hash":"b2fb8deb8e91fe73513e777b"},{"id":"HT-EXEC-001","title":"直接创建宿主子进程","severity":"low","confidence":"medium","layer":"static","path":"src/index.ts","pathClass":"source","line":11,"evidence":"node:child_process","remediation":"通过 DSH 的受控 subprocess/shell seam 执行，并公开命令、参数及审批策略。","hash":"165497e2a6660ef29786eb22"},{"id":"HT-EXEC-001","title":"直接创建宿主子进程","severity":"low","confidence":"low","layer":"static","path":"test/e2e.test.ts","pathClass":"test-example-docs","line":11,"evidence":"node:child_process","remediation":"通过 DSH 的受控 subprocess/shell seam 执行，并公开命令、参数及审批策略。","note":"位于测试、示例或文档目录","hash":"1bdd09868ed25b3473c31df8"},{"id":"HT-EXEC-001","title":"直接创建宿主子进程","severity":"low","confidence":"low","layer":"static","path":"test/release-tag-guard.test.ts","pathClass":"test-example-docs","line":4,"evidence":"spawnSync","remediation":"通过 DSH 的受控 subprocess/shell seam 执行，并公开命令、参数及审批策略。","note":"位于测试、示例或文档目录","hash":"5388fedb4b1a4de290e5efc8"},{"id":"HT-EXEC-001","title":"直接创建宿主子进程","severity":"low","confidence":"low","layer":"static","path":"test/release-tag-guard.test.ts","pathClass":"test-example-docs","line":4,"evidence":"node:child_process","remediation":"通过 DSH 的受控 subprocess/shell seam 执行，并公开命令、参数及审批策略。","note":"位于测试、示例或文档目录","hash":"4f8011231fd4157ffbc51db8"},{"id":"HT-PERMISSION-002","title":"覆盖敏感宿主能力","severity":"medium","confidence":"high","path":"cordis.patch.yml","line":29,"evidence":"override: id=tool-bash disabled=true","remediation":"安全关键 seam 的替换必须逐项解释、最小化，并接受人工复核；用户安装前应知晓该能力被谁接管。","note":"关闭 Bash 工具（tool-bash）","layer":"dsh-semantics","pathClass":"cordis","hash":"507cbe1cba44a2b8ebb4dd5c"},{"id":"HT-PERMISSION-002","title":"覆盖敏感宿主能力","severity":"medium","confidence":"high","path":"cordis.patch.yml","line":32,"evidence":"override: id=tool-pwsh disabled=true","remediation":"安全关键 seam 的替换必须逐项解释、最小化，并接受人工复核；用户安装前应知晓该能力被谁接管。","note":"关闭 tool-pwsh","layer":"dsh-semantics","pathClass":"cordis","hash":"df874a66a5547f68f93034d7"},{"id":"HT-PERMISSION-002","title":"覆盖敏感宿主能力","severity":"medium","confidence":"high","path":"cordis.patch.yml","line":35,"evidence":"override: id=tool-jobs disabled=true","remediation":"安全关键 seam 的替换必须逐项解释、最小化，并接受人工复核；用户安装前应知晓该能力被谁接管。","note":"关闭 tool-jobs","layer":"dsh-semantics","pathClass":"cordis","hash":"59570d764fb6551297c4b02a"},{"id":"HT-PERMISSION-002","title":"覆盖敏感宿主能力","severity":"medium","confidence":"high","path":"cordis.patch.yml","line":38,"evidence":"override: id=tool-fs disabled=true","remediation":"安全关键 seam 的替换必须逐项解释、最小化，并接受人工复核；用户安装前应知晓该能力被谁接管。","note":"关闭 文件工具（tool-fs）","layer":"dsh-semantics","pathClass":"cordis","hash":"418208270050a102c00ab3dd"},{"id":"HT-PERMISSION-002","title":"覆盖敏感宿主能力","severity":"medium","confidence":"high","path":"cordis.patch.yml","line":41,"evidence":"override: id=tool-fs-search disabled=true","remediation":"安全关键 seam 的替换必须逐项解释、最小化，并接受人工复核；用户安装前应知晓该能力被谁接管。","note":"关闭 tool-fs-search","layer":"dsh-semantics","pathClass":"cordis","hash":"e0a2359bdc33f8915835baeb"},{"id":"HT-PERMISSION-002","title":"覆盖敏感宿主能力","severity":"medium","confidence":"high","path":"cordis.patch.yml","line":47,"evidence":"override: id=skill-filesystem disabled=true","remediation":"安全关键 seam 的替换必须逐项解释、最小化，并接受人工复核；用户安装前应知晓该能力被谁接管。","note":"关闭 skill-filesystem","layer":"dsh-semantics","pathClass":"cordis","hash":"320738620f2a0ca3f0cdb644"},{"id":"HT-PERMISSION-002","title":"覆盖敏感宿主能力","severity":"medium","confidence":"high","path":"cordis.patch.yml","line":50,"evidence":"override: id=tool-skill disabled=true","remediation":"安全关键 seam 的替换必须逐项解释、最小化，并接受人工复核；用户安装前应知晓该能力被谁接管。","note":"关闭 tool-skill","layer":"dsh-semantics","pathClass":"cordis","hash":"312039675160959d1702685c"},{"id":"HT-PERMISSION-002","title":"覆盖敏感宿主能力","severity":"medium","confidence":"high","path":"cordis.patch.yml","line":56,"evidence":"override: id=plan-mode disabled=true","remediation":"安全关键 seam 的替换必须逐项解释、最小化，并接受人工复核；用户安装前应知晓该能力被谁接管。","note":"关闭 plan-mode","layer":"dsh-semantics","pathClass":"cordis","hash":"1f19d63c124f7218fb84a851"},{"id":"HT-PERMISSION-002","title":"覆盖敏感宿主能力","severity":"medium","confidence":"high","path":"cordis.patch.yml","line":59,"evidence":"override: id=compaction-basic disabled=true","remediation":"安全关键 seam 的替换必须逐项解释、最小化，并接受人工复核；用户安装前应知晓该能力被谁接管。","note":"关闭 compaction-basic","layer":"dsh-semantics","pathClass":"cordis","hash":"89d6fe4b202e656e7213e541"},{"id":"HT-PERMISSION-002","title":"覆盖敏感宿主能力","severity":"medium","confidence":"high","path":"cordis.patch.yml","line":68,"evidence":"override: id=tool-subagent-control disabled=true","remediation":"安全关键 seam 的替换必须逐项解释、最小化，并接受人工复核；用户安装前应知晓该能力被谁接管。","note":"关闭 tool-subagent-control","layer":"dsh-semantics","pathClass":"cordis","hash":"efc657ad2aff6999a5a4f9b0"},{"id":"HT-PERMISSION-002","title":"覆盖敏感宿主能力","severity":"medium","confidence":"high","path":"cordis.patch.yml","line":74,"evidence":"override: id=tool-subagent disabled=true","remediation":"安全关键 seam 的替换必须逐项解释、最小化，并接受人工复核；用户安装前应知晓该能力被谁接管。","note":"关闭 tool-subagent","layer":"dsh-semantics","pathClass":"cordis","hash":"29634b5373faf7df689644c2"},{"id":"HT-PERMISSION-002","title":"覆盖敏感宿主能力","severity":"medium","confidence":"high","path":"cordis.patch.yml","line":77,"evidence":"override: id=tool-subagent-fork disabled=true","remediation":"安全关键 seam 的替换必须逐项解释、最小化，并接受人工复核；用户安装前应知晓该能力被谁接管。","note":"关闭 tool-subagent-fork","layer":"dsh-semantics","pathClass":"cordis","hash":"862312910b9d680ab6e3f535"},{"id":"HT-PERMISSION-002","title":"覆盖敏感宿主能力","severity":"medium","confidence":"high","path":"cordis.patch.yml","line":80,"evidence":"override: id=workflow-worker-thread disabled=true","remediation":"安全关键 seam 的替换必须逐项解释、最小化，并接受人工复核；用户安装前应知晓该能力被谁接管。","note":"关闭 workflow-worker-thread","layer":"dsh-semantics","pathClass":"cordis","hash":"42d3c3793a761d4cb9cd2c0b"},{"id":"HT-PERMISSION-002","title":"覆盖敏感宿主能力","severity":"medium","confidence":"high","path":"cordis.patch.yml","line":83,"evidence":"override: id=tool-workflow disabled=true","remediation":"安全关键 seam 的替换必须逐项解释、最小化，并接受人工复核；用户安装前应知晓该能力被谁接管。","note":"关闭 tool-workflow","layer":"dsh-semantics","pathClass":"cordis","hash":"6e65d3a39e7d565c02c46d34"},{"id":"HT-PERMISSION-002","title":"覆盖敏感宿主能力","severity":"medium","confidence":"high","path":"cordis.patch.yml","line":89,"evidence":"override: id=agent-instructions disabled=true","remediation":"安全关键 seam 的替换必须逐项解释、最小化，并接受人工复核；用户安装前应知晓该能力被谁接管。","note":"关闭 Agent 指令（agent-instructions）","layer":"dsh-semantics","pathClass":"cordis","hash":"6d5ee3706426e0421093c73c"}],"counts":{"critical":0,"high":0,"medium":17,"low":5},"rawCounts":{"critical":0,"high":0,"medium":17,"low":8},"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":61,"bytesScanned":847330,"truncated":false,"lockfiles":["package-lock.json"],"pathClasses":{"test-example-docs":24,"markdown":2,"source":29,"cordis":2,"data":2,"manifest":1,"script":1}},"limitations":["此结果为源码静态检测，不等同于无漏洞证明。","尚未比对 npm 发布包与源码的一致性，也未执行隔离运行和人工复核。","危险能力可能是插件功能所需，需结合用途与证据人工判断。"],"limitationKeys":["static-analysis-only","no-artifact-runtime-human-review","capability-needs-context"]},"timeline":[{"scannedAt":"2026-08-22T08:22:31.108Z","commit":"a5dd2bbb63fb47112b4f8a72985da3bed37e0905","policyVersion":"HT-DSH-0.2.2","verdict":"caution","status":"static-complete"},{"scannedAt":"2026-08-21T13:16:36.542Z","commit":"be776ce6aaa1934484e092a4cc2d0223100d7c7e","policyVersion":"HT-DSH-0.2.2","verdict":"caution","status":"static-complete"},{"scannedAt":"2026-08-21T13:16:16.689Z","commit":"be776ce6aaa1934484e092a4cc2d0223100d7c7e","policyVersion":"HT-DSH-0.2.2","verdict":"caution","status":"static-complete"},{"scannedAt":"2026-08-21T11:22:09.952Z","commit":"be776ce6aaa1934484e092a4cc2d0223100d7c7e","policyVersion":"HT-DSH-0.2.1","verdict":"caution","status":"static-complete"},{"scannedAt":"2026-08-21T10:50:34.426Z","commit":"be776ce6aaa1934484e092a4cc2d0223100d7c7e","policyVersion":"HT-DSH-0.2.0","verdict":"caution","status":"static-complete"}],"events":[{"kind":"commit-change","from":"be776ce6aaa1934484e092a4cc2d0223100d7c7e","to":"a5dd2bbb63fb47112b4f8a72985da3bed37e0905","commit":"a5dd2bbb63fb47112b4f8a72985da3bed37e0905","policyVersion":"HT-DSH-0.2.2","at":"2026-08-22T08:22:31.108Z"},{"kind":"policy-change","from":"HT-DSH-0.2.1","to":"HT-DSH-0.2.2","commit":"be776ce6aaa1934484e092a4cc2d0223100d7c7e","policyVersion":"HT-DSH-0.2.2","at":"2026-08-21T13:16:16.689Z"},{"kind":"policy-change","from":"HT-DSH-0.2.0","to":"HT-DSH-0.2.1","commit":"be776ce6aaa1934484e092a4cc2d0223100d7c7e","policyVersion":"HT-DSH-0.2.1","at":"2026-08-21T11:22:09.952Z"},{"kind":"first-scan","from":null,"to":"caution","commit":"be776ce6aaa1934484e092a4cc2d0223100d7c7e","policyVersion":"HT-DSH-0.2.0","at":"2026-08-21T10:50:34.426Z"}]}