☰
从零装好 dsh-pentest:引擎、Node 版本与预设选择的三步核对
2026/10/20 9:57:00 网站建设 项目流程

从零装好 dsh-pentest:引擎、Node 版本与预设选择的三步核对

dsh-pentest 的安装命令只有一行,出问题的地方却几乎都不在这一行上。npm 包、Release 资产、本地 tar.gz 装的是同一个 bundle,真正的门槛在宿主:引擎够不够新、Node 够不够新、装完之后有没有选对预设。这三步任何一步漏掉,症状都不一样——预设「加载失败」、进程起不来说node:sqlite找不到、或者一切正常但界面上什么都没有。下面按顺序核对。

安装命令与三种来源

默认从 npm 装:

dsh plugin--profilewebadd@howmp/dsh-pentest

需要指定版本时把版本号钉在后面,例如@howmp/dsh-pentest@0.1.0-rc.32。另外两条等价路径是 Release URL 与本地文件:

dsh plugin--profilewebaddhttps://github.com/howmp/dsh-pentest/releases/latest/download/dsh-pentest.tar.gz dsh plugin--profilewebaddfile:/path/to/dsh-pentest.tar.gz

三者内容一致,装完都需要重启 dsh,再在新会话里选择自动注册的「渗透模式」。当前 npm 版本0.1.0-rc.37,MIT,站点快照 607 星、综合分 69.0。想先对照同类插件的中文条目与安装形态,可以看 完整插件清单与汉化避坑指南。

第一步:核对引擎版本

README 写的是DSH >= 0.1.6,这一条不是建议。0.1.6 把工作流引擎包从@deepseek-ai/dsh-workflow-worker-thread改名为@deepseek-ai/dsh-workflow-ptc,而「渗透模式」这个预设是宿主standard预设的整份拷贝,里面的宿主包名逐字生效。

于是出现一个反直觉的情况:bundle 的 peer 范围覆盖 0.1.x 和 0.2.x,装是能装的,但在 0.1.6 之前的宿主上,预设会显示「加载失败」。这不是装坏了,是包名对不上。

核对方法很直接:

dsh--version

低于 0.1.6 时有两个选择:升级宿主,或者钉@howmp/dsh-pentest@0.1.0-rc.32——那个版本对应改名之前的包名。

第二步:核对 Node 版本

运行时要求Node.js >= 22.5。原因在存储后端:渗透记录的 sqlite 实现用的是node:sqlite,这是 Node 22 系列才稳定提供的模块,版本不够时它不是降级,而是直接不可用。

这一步最容易漏,因为安装阶段不会有任何提示。package.json未声明engines.node,站点的安装兼容性检查也显示「未声明」,所以dsh plugin add会一路绿灯走完,直到你真正开始记录才失败。

核对:

node-v

低于 22.5 就换运行时。注意要核对的是dsh 进程实际使用的那个 Node,不是终端里默认的那个。

第三步:核对预设选择

前两步都过了,界面上仍然可能什么都没有,因为预设需要被选中。

装完先重启宿主,再新建一个会话(旧会话不会因为你装了插件就长出页签),在预设列表里找自动注册的「渗透模式」。选中之后,Web 端才会出现渗透页签。

页签的显示判据是会话级的:当前会话或列表祖先链命中pentest预设名、命中pentest-*形式的复制预设名,或者该会话日志证明挂载过(pentestMounted标记)才显示;没有任何证据的会话一律隐藏。DSH 0.1.7 起用retainedBy.mainView识别当前会话,同时兼容旧版的sessions.list.current。

装完后的最小验收

选好预设,用四个调用确认链路通不通:

pentest_add_goal 带 authorization 说明授权对象或书面许可引用 pentest_add_intent 恰好一个锚点 pentest_add_fact 记录一条观察 pentest_add_finding reproducibleSteps 至少一条

然后依次调pentest_state、pentest_graph、pentest_report,能看到 goal、节点和 Markdown 报告,就说明存储层、投影层、Web 层都正常。九个工具里剩下的pentest_submit给子 agent 用,pentest_add_asset传空字符串表示根资产。

有一个边界要提前知道:插件不写会话日志(issue #32),所以子 agent 经pentest_submit提交的 fact / asset / finding 只进存储域,不会出现在父会话的 Web 图里,只能用上面三个查询工具看。

三个必须知道的前提

仓库已于2026-10-09 归档,不再受理 issue、不发新版本、不适配新版 DSH;已发布的 npm 包与 Release 资产仍可安装,必要时可 fork 自维护。

安全扫描为 🔵「含敏感能力」,证据项包含读写与删除本地文件,尚无人工评估,站点也未做风险分级。这不等于有风险,但也不等于没风险,装之前应由使用方自己判断。

版本口径上,站点写「未声明 dsh 版本约束」,README 却明确要求 DSH >= 0.1.6、Node >= 22.5,以 README 为准。另外authorization参数只是审计留痕,会写进状态与最终报告,它不是门禁:扫描与利用仍受部署沙箱和审批约束,能做什么只取决于你是否拿到了对目标的明确授权。

总结

装 dsh-pentest 的失败大多不在安装命令,而在版本三连——引擎、Node、预设,逐条核对比反复重装有效;同类插件的中文清单与安装形态见 完整插件清单与汉化避坑指南。

适合与不适合

适合:第一次接触 DSH 插件、需要一份可照着核对的安装顺序的人;在多个 Node 版本之间切换、容易装错运行时的开发机;已经用 0.1.6 以上宿主、想快速验证渗透模式是否可用的团队;只需要短期项目记录、能接受归档状态的使用者。

不适合:宿主停在 0.1.6 之前又不愿降级插件版本的环境;Node 无法升到 22.5 的机器;要求供应商持续维护与安全响应的生产项目;把authorization当成授权门禁、以为填了就能随便扫的人。

标签:dsh-pentest、DeepSeek Harness、授权测试、会话记录

本文由 DeepSeek Harness Hub 自动整理,数据来源于插件详情页。

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询