{"schemaVersion":2,"dataVersion":"20260822T105549Z-0a0b366f","generatedAt":"2026-08-22T10:55:49.138Z","source":{"id":"karbo123-dsh-evoresearch-evoresearch-plugin","slug":"karbo123-dsh-evoresearch-evoresearch-plugin","rank":263,"url":"https://github.com/Karbo123/DSH-EvoResearch/tree/main/packages/evoresearch-plugin","name":"Karbo123/DSH-EvoResearch#evoresearch-plugin","category":"workflow","description":{"zh":"科研 agent 套件：长程目标控制（可审计证据链）、定时任务、多智能体专家团队、自进化科研记忆（FTS5 + RRF 召回）、科研项目工作区与自定义工作台界面。","en":"Research agent suite: long-horizon goal control with auditable evidence chains, cron scheduling, multi-agent expert teams, self-evolving research memory (FTS5 + RRF recall), project workspaces, and a custom workspace UI."},"stars":11,"starsCheckedAt":"2026-08-21","repository":{"owner":"Karbo123","repo":"DSH-EvoResearch","requestedRef":"main","subpath":"packages/evoresearch-plugin"},"npm":null,"downloads":null,"installMode":"github-source","upstreamInstall":"dsh plugin --profile web add github:Karbo123/DSH-EvoResearch#path:/packages/evoresearch-plugin","tarball":null,"added":"2026-08-14","page":"https://awesome-dsh-plugin.com/p/Karbo123/DSH-EvoResearch--packages-evoresearch-plugin/","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":"karbo123-dsh-evoresearch-evoresearch-plugin","slug":"karbo123-dsh-evoresearch-evoresearch-plugin","policyVersion":"HT-DSH-0.2.2","scannedAt":"2026-08-22T08:22:58.580Z","scanStatus":"static-complete","verdict":"caution","score":94,"commit":"81192c5aa36cf479409a7e8c318d0852ef553a6d","commitDate":"2026-08-22T15:47:49+08:00","artifactDigest":"sha256:155b6b1409873a198ef1c0d206c371416c57a95920304b45556cf75110a619d3","downloadUrl":"https://github.com/Karbo123/DSH-EvoResearch/archive/81192c5aa36cf479409a7e8c318d0852ef553a6d.tar.gz","installMode":"github-source","installCommand":"dsh plugin --profile web add github:Karbo123/DSH-EvoResearch#path:/packages/evoresearch-plugin","manifest":{"found":true,"path":"package.json","parseError":null,"packageName":"@evoresearch/dsh-plugin","packageVersion":"0.1.0-rc.1","bundle":{"patch":"./cordis.patch.yml"},"client":{"inject":["@deepseek-ai/dsh-client-runtime","@deepseek-ai/dsh-client-locale","@deepseek-ai/dsh-api-remotes"],"platform":"web"},"lifecycleScripts":{},"peerDependencies":["@deepseek-ai/cordis","@deepseek-ai/dsh-agent","@deepseek-ai/dsh-commands","@deepseek-ai/dsh-llm","@deepseek-ai/dsh-scope","@deepseek-ai/dsh-session","@deepseek-ai/dsh-settings","@deepseek-ai/dsh-skill","@deepseek-ai/dsh-storage-domain","@deepseek-ai/dsh-subagent","@deepseek-ai/dsh-system-prompt","@deepseek-ai/dsh-token-meter","@deepseek-ai/dsh-tools","@deepseek-ai/dsh-typert-protocol","@deepseek-ai/dsh-user-questions","@deepseek-ai/dsh-workspace"]},"identity":{"status":"not-published","installMode":"github-source","upstreamNpm":null,"manifestName":"@evoresearch/dsh-plugin","nameMatch":null,"npm":null,"repositoryMatch":"not-checked","provenance":"not-checked","tarballHost":null},"permissions":{"bundlePatch":"cordis.patch.yml","inserts":[{"id":"evoresearch-host","name":"@evoresearch/dsh-plugin/host","path":"cordis.patch.yml","disabled":false},{"id":"evoresearch-client","name":"@evoresearch/dsh-plugin","path":"cordis.patch.yml","disabled":true}],"overrides":[],"jsExpressions":0,"clientPlatform":"web","parseErrors":[]},"capabilities":["agent-control","browser-ui","environment","filesystem","host-bundle","mcp","network","session","subprocess"],"outboundHosts":[{"host":"api.telegram.org","count":1},{"host":"astral.sh","count":1}],"findings":[{"id":"HT-EXEC-001","title":"直接创建宿主子进程","severity":"low","confidence":"medium","layer":"static","path":"src/host/autoskills.ts","pathClass":"source","line":20,"evidence":"execFileSync","remediation":"通过 DSH 的受控 subprocess/shell seam 执行，并公开命令、参数及审批策略。","hash":"8065997f03572b623cad45fe"},{"id":"HT-EXEC-001","title":"直接创建宿主子进程","severity":"low","confidence":"medium","layer":"static","path":"src/host/autoskills.ts","pathClass":"source","line":20,"evidence":"node:child_process","remediation":"通过 DSH 的受控 subprocess/shell seam 执行，并公开命令、参数及审批策略。","hash":"bd6c45a0ad1395c5004a41d7"},{"id":"HT-EXEC-001","title":"直接创建宿主子进程","severity":"low","confidence":"medium","layer":"static","path":"src/host/context/assembler.ts","pathClass":"source","line":22,"evidence":"execFileSync","remediation":"通过 DSH 的受控 subprocess/shell seam 执行，并公开命令、参数及审批策略。","hash":"44ae3a450783073db1056a9b"},{"id":"HT-EXEC-001","title":"直接创建宿主子进程","severity":"low","confidence":"medium","layer":"static","path":"src/host/context/assembler.ts","pathClass":"source","line":22,"evidence":"node:child_process","remediation":"通过 DSH 的受控 subprocess/shell seam 执行，并公开命令、参数及审批策略。","hash":"c99e74ae910d514d958fd0cf"},{"id":"HT-EXEC-001","title":"直接创建宿主子进程","severity":"low","confidence":"medium","layer":"static","path":"src/host/context/link-resolver.ts","pathClass":"source","line":10,"evidence":"execFileSync","remediation":"通过 DSH 的受控 subprocess/shell seam 执行，并公开命令、参数及审批策略。","hash":"d80bb8294849162761964c43"},{"id":"HT-EXEC-001","title":"直接创建宿主子进程","severity":"low","confidence":"medium","layer":"static","path":"src/host/context/link-resolver.ts","pathClass":"source","line":10,"evidence":"node:child_process","remediation":"通过 DSH 的受控 subprocess/shell seam 执行，并公开命令、参数及审批策略。","hash":"ea8118f8fc25050b70eab2d3"},{"id":"HT-EXEC-001","title":"直接创建宿主子进程","severity":"low","confidence":"medium","layer":"static","path":"src/host/daily-report.ts","pathClass":"source","line":12,"evidence":"spawnSync","remediation":"通过 DSH 的受控 subprocess/shell seam 执行，并公开命令、参数及审批策略。","hash":"dfdb9f65fa880f959c84df3e"},{"id":"HT-EXEC-001","title":"直接创建宿主子进程","severity":"low","confidence":"medium","layer":"static","path":"src/host/daily-report.ts","pathClass":"source","line":12,"evidence":"node:child_process","remediation":"通过 DSH 的受控 subprocess/shell seam 执行，并公开命令、参数及审批策略。","hash":"569d5603553fe2839186e01e"},{"id":"HT-EXEC-001","title":"直接创建宿主子进程","severity":"low","confidence":"medium","layer":"static","path":"src/host/experiment-ledger.ts","pathClass":"source","line":15,"evidence":"spawnSync","remediation":"通过 DSH 的受控 subprocess/shell seam 执行，并公开命令、参数及审批策略。","hash":"da4f3d67d395a2cc8a28a1a1"},{"id":"HT-EXEC-001","title":"直接创建宿主子进程","severity":"low","confidence":"medium","layer":"static","path":"src/host/experiment-ledger.ts","pathClass":"source","line":15,"evidence":"node:child_process","remediation":"通过 DSH 的受控 subprocess/shell seam 执行，并公开命令、参数及审批策略。","hash":"4a79d86ae76499eec55955db"},{"id":"HT-EXEC-001","title":"直接创建宿主子进程","severity":"low","confidence":"medium","layer":"static","path":"src/host/experiment-process.ts","pathClass":"source","line":45,"evidence":"spawnSync","remediation":"通过 DSH 的受控 subprocess/shell seam 执行，并公开命令、参数及审批策略。","hash":"de336e3c641e689506112c41"},{"id":"HT-EXEC-001","title":"直接创建宿主子进程","severity":"low","confidence":"medium","layer":"static","path":"src/host/experiment-process.ts","pathClass":"source","line":45,"evidence":"node:child_process","remediation":"通过 DSH 的受控 subprocess/shell seam 执行，并公开命令、参数及审批策略。","hash":"3efa379e9aeac620cafd9ddb"},{"id":"HT-EXEC-001","title":"直接创建宿主子进程","severity":"low","confidence":"medium","layer":"static","path":"src/host/figures.ts","pathClass":"source","line":25,"evidence":"node:child_process","remediation":"通过 DSH 的受控 subprocess/shell seam 执行，并公开命令、参数及审批策略。","hash":"045ed284326a080dbccde3c5"},{"id":"HT-EXEC-001","title":"直接创建宿主子进程","severity":"low","confidence":"medium","layer":"static","path":"src/host/figures.ts","pathClass":"source","line":102,"evidence":"child_process","remediation":"通过 DSH 的受控 subprocess/shell seam 执行，并公开命令、参数及审批策略。","hash":"79b13ae68dd29b4153440421"},{"id":"HT-EXEC-001","title":"直接创建宿主子进程","severity":"low","confidence":"medium","layer":"static","path":"src/host/index.ts","pathClass":"source","line":28,"evidence":"execFileSync","remediation":"通过 DSH 的受控 subprocess/shell seam 执行，并公开命令、参数及审批策略。","hash":"dc0bb3dfca153449c2a27623"},{"id":"HT-EXEC-001","title":"直接创建宿主子进程","severity":"low","confidence":"medium","layer":"static","path":"src/host/index.ts","pathClass":"source","line":28,"evidence":"node:child_process","remediation":"通过 DSH 的受控 subprocess/shell seam 执行，并公开命令、参数及审批策略。","hash":"c6b6f9ac455d9feef7b9cb6a"},{"id":"HT-EXEC-001","title":"直接创建宿主子进程","severity":"low","confidence":"medium","layer":"static","path":"src/host/manuscript.ts","pathClass":"source","line":28,"evidence":"spawnSync","remediation":"通过 DSH 的受控 subprocess/shell seam 执行，并公开命令、参数及审批策略。","hash":"49daa45640124e92d4251f73"},{"id":"HT-EXEC-001","title":"直接创建宿主子进程","severity":"low","confidence":"medium","layer":"static","path":"src/host/manuscript.ts","pathClass":"source","line":28,"evidence":"node:child_process","remediation":"通过 DSH 的受控 subprocess/shell seam 执行，并公开命令、参数及审批策略。","hash":"520ff02d54e159bbf4efecc2"},{"id":"HT-EXEC-001","title":"直接创建宿主子进程","severity":"low","confidence":"medium","layer":"static","path":"src/host/mcp/supervisor.ts","pathClass":"source","line":17,"evidence":"node:child_process","remediation":"通过 DSH 的受控 subprocess/shell seam 执行，并公开命令、参数及审批策略。","hash":"b6234300457fb471c5fbad2d"},{"id":"HT-EXEC-001","title":"直接创建宿主子进程","severity":"low","confidence":"medium","layer":"static","path":"src/host/mcp/supervisor.ts","pathClass":"source","line":18,"evidence":"node:child_process","remediation":"通过 DSH 的受控 subprocess/shell seam 执行，并公开命令、参数及审批策略。","hash":"b6234300457fb471c5fbad2d"},{"id":"HT-EXEC-001","title":"直接创建宿主子进程","severity":"low","confidence":"medium","layer":"static","path":"src/host/project-env.ts","pathClass":"source","line":32,"evidence":"spawnSync","remediation":"通过 DSH 的受控 subprocess/shell seam 执行，并公开命令、参数及审批策略。","hash":"fa5df641197511b3e96772c0"},{"id":"HT-EXEC-001","title":"直接创建宿主子进程","severity":"low","confidence":"medium","layer":"static","path":"src/host/project-env.ts","pathClass":"source","line":32,"evidence":"node:child_process","remediation":"通过 DSH 的受控 subprocess/shell seam 执行，并公开命令、参数及审批策略。","hash":"31fc49849cee278389d084b5"},{"id":"HT-EXEC-001","title":"直接创建宿主子进程","severity":"low","confidence":"medium","layer":"static","path":"src/host/rewind.ts","pathClass":"source","line":14,"evidence":"spawnSync","remediation":"通过 DSH 的受控 subprocess/shell seam 执行，并公开命令、参数及审批策略。","hash":"390972de701e7650faf6d254"},{"id":"HT-EXEC-001","title":"直接创建宿主子进程","severity":"low","confidence":"medium","layer":"static","path":"src/host/rewind.ts","pathClass":"source","line":14,"evidence":"node:child_process","remediation":"通过 DSH 的受控 subprocess/shell seam 执行，并公开命令、参数及审批策略。","hash":"68509b0bae9b3f3ea271e12b"},{"id":"HT-EXEC-001","title":"直接创建宿主子进程","severity":"low","confidence":"medium","layer":"static","path":"src/host/skills/registry.ts","pathClass":"source","line":32,"evidence":"node:child_process","remediation":"通过 DSH 的受控 subprocess/shell seam 执行，并公开命令、参数及审批策略。","hash":"c6409822cfde4d319a1071cd"},{"id":"HT-EXEC-001","title":"直接创建宿主子进程","severity":"low","confidence":"medium","layer":"static","path":"src/host/workspace.ts","pathClass":"source","line":15,"evidence":"spawnSync","remediation":"通过 DSH 的受控 subprocess/shell seam 执行，并公开命令、参数及审批策略。","hash":"ca532d9f48e3c37bf798b637"},{"id":"HT-EXEC-001","title":"直接创建宿主子进程","severity":"low","confidence":"medium","layer":"static","path":"src/host/workspace.ts","pathClass":"source","line":15,"evidence":"node:child_process","remediation":"通过 DSH 的受控 subprocess/shell seam 执行，并公开命令、参数及审批策略。","hash":"8b7adff5df7345fc6473c1de"},{"id":"HT-EXEC-001","title":"直接创建宿主子进程","severity":"low","confidence":"medium","layer":"static","path":"src/host/worktrees.ts","pathClass":"source","line":19,"evidence":"spawnSync","remediation":"通过 DSH 的受控 subprocess/shell seam 执行，并公开命令、参数及审批策略。","hash":"0367b5e991cd1dedab4764be"},{"id":"HT-EXEC-001","title":"直接创建宿主子进程","severity":"low","confidence":"medium","layer":"static","path":"src/host/worktrees.ts","pathClass":"source","line":19,"evidence":"node:child_process","remediation":"通过 DSH 的受控 subprocess/shell seam 执行，并公开命令、参数及审批策略。","hash":"25035ecef8fe6e604b1c750c"},{"id":"HT-EXEC-001","title":"直接创建宿主子进程","severity":"low","confidence":"low","layer":"static","path":"test/ledger.test.ts","pathClass":"test-example-docs","line":9,"evidence":"spawnSync","remediation":"通过 DSH 的受控 subprocess/shell seam 执行，并公开命令、参数及审批策略。","note":"位于测试、示例或文档目录","hash":"9b0aaab81a620be1dc79282c"},{"id":"HT-EXEC-001","title":"直接创建宿主子进程","severity":"low","confidence":"low","layer":"static","path":"test/ledger.test.ts","pathClass":"test-example-docs","line":9,"evidence":"node:child_process","remediation":"通过 DSH 的受控 subprocess/shell seam 执行，并公开命令、参数及审批策略。","note":"位于测试、示例或文档目录","hash":"ec1a6e3f74cad27e8f4e7f07"},{"id":"HT-EXEC-002","title":"远程脚本直连 Shell 执行","severity":"critical","confidence":"low","layer":"static","path":"test/unattended-shell.test.ts","pathClass":"test-example-docs","line":17,"evidence":"curl https://x.sh | bash","remediation":"禁止远程内容直接进入 Shell；下载、校验固定哈希后再由用户显式执行。","note":"命令位于字符串字面量中，执行路径需人工确认；位于测试、示例或文档目录","hash":"c482d1ea5a019522967f7db5"},{"id":"HT-EXEC-001","title":"直接创建宿主子进程","severity":"low","confidence":"low","layer":"static","path":"test/worktrees-env.test.ts","pathClass":"test-example-docs","line":23,"evidence":"spawnSync","remediation":"通过 DSH 的受控 subprocess/shell seam 执行，并公开命令、参数及审批策略。","note":"位于测试、示例或文档目录","hash":"cbc4899bbae59670f3c1d82f"},{"id":"HT-EXEC-001","title":"直接创建宿主子进程","severity":"low","confidence":"low","layer":"static","path":"test/worktrees-env.test.ts","pathClass":"test-example-docs","line":23,"evidence":"node:child_process","remediation":"通过 DSH 的受控 subprocess/shell seam 执行，并公开命令、参数及审批策略。","note":"位于测试、示例或文档目录","hash":"512c4237135a297272366e49"},{"id":"HT-DATA-001","title":"同一模块同时接触凭据与网络","severity":"medium","confidence":"medium","layer":"static","path":"src/host/channels/adapters.ts","pathClass":"source","line":118,"evidence":"credential access at line 118 + outbound network at line 66","remediation":"拆分能力边界，限定目的域名，并提供不会发送凭据值的可验证证明。","hash":"efec5e0a1cf1b544666cc909","review":{"verdict":"functional","reason":"Telegram token 来自用户配置的环境变量 EVORESEARCH_TELEGRAM_TOKEN，仅用于向 Telegram 官方 API（api.telegram.org）收发消息，属于插件声明的多通道功能。","model":"sonnet@p2","reviewedAt":"2026-08-21T11:22:58.647Z"}}],"counts":{"critical":0,"high":0,"medium":1,"low":29},"rawCounts":{"critical":1,"high":0,"medium":1,"low":33},"vulnerabilities":[],"coverage":{"source":"complete","manifest":"complete","bundleConfig":"complete","dependencies":"lockfile-missing","vulnerabilities":"lockfile-missing","identity":"complete","artifact":"not-compared","llmReview":"complete","dynamicRuntime":"not-run","humanReview":"not-run"},"inventory":{"filesScanned":131,"bytesScanned":1978620,"truncated":false,"lockfiles":[],"pathClasses":{"cordis":1,"manifest":1,"source":86,"test-example-docs":41,"data":2}},"limitations":["此结果为源码静态检测，不等同于无漏洞证明。","尚未比对 npm 发布包与源码的一致性，也未执行隔离运行和人工复核。","危险能力可能是插件功能所需，需结合用途与证据人工判断。"],"limitationKeys":["static-analysis-only","no-artifact-runtime-human-review","capability-needs-context"],"review":{"model":"sonnet","reviewedAt":"2026-08-22T08:22:58.580Z","summary":null,"intentMatch":null,"findingsReviewed":1,"findingsCandidates":1,"fromCache":1,"usage":null}},"timeline":[{"scannedAt":"2026-08-22T08:22:58.580Z","commit":"81192c5aa36cf479409a7e8c318d0852ef553a6d","policyVersion":"HT-DSH-0.2.2","verdict":"caution","status":"static-complete"},{"scannedAt":"2026-08-21T11:22:58.647Z","commit":"43db1c9052774be618a05c29f5697e92b6464827","policyVersion":"HT-DSH-0.2.1","verdict":"caution","status":"static-complete"},{"scannedAt":"2026-08-21T10:51:41.811Z","commit":"43db1c9052774be618a05c29f5697e92b6464827","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":"81192c5aa36cf479409a7e8c318d0852ef553a6d","policyVersion":"HT-DSH-0.2.2","at":"2026-08-22T08:22:58.580Z"},{"kind":"policy-change","from":"HT-DSH-0.2.0","to":"HT-DSH-0.2.1","commit":"43db1c9052774be618a05c29f5697e92b6464827","policyVersion":"HT-DSH-0.2.1","at":"2026-08-21T11:22:58.647Z"},{"kind":"first-scan","from":null,"to":"caution","commit":"43db1c9052774be618a05c29f5697e92b6464827","policyVersion":"HT-DSH-0.2.0","at":"2026-08-21T10:51:41.811Z"}]}