dsh-pentest 是什么?DSH 授权渗透测试模式插件
dsh-pentest 的以下定位与事实均来自官方 README(来源):
dsh-pentest 是什么?
dsh-pentest 是 DeepSeek Harness(DSH)的授权渗透测试模式插件,把零散的渗透测试过程组织成可追溯的探索链路。 它的定位是:模型在 API 场景下能做渗透测试,但目标、线索、验证结果和漏洞资产没有地方沉淀,结果既难验证也难出报告。dsh-pentest 在 DSH 会话内用一套 pentest_* 工具记录目标、探索线索、验证结果、资产与漏洞,并在 Web 界面中以探索链路、漏洞、资产和报告四种视图呈现。它由 howmp 维护,打包为自包含 bundle 包 @howmp/dsh-pentest,宿主插件、Web 界面与 sqlite 后端一起分发,安装后即可在 插件详情页 一键接入。
dsh-pentest 的核心功能有哪些?
dsh-pentest 的核心能力是把授权渗透测试的「记录 — 验证 — 汇报」全流程搬进 DeepSeek Harness。 作为 DSH Plugin 生态中面向渗透测试的专用模式,它提供以下来自官方 README(来源)的真实能力:
- 目标与探索线索记录:用
pentest_add_goal设置目标并填写授权说明,用pentest_add_intent添加恰好一个锚点的探索意图,子 agent 可用pentest_submit直写指定父意图。 - 事实与验证结果沉淀:用
pentest_add_fact记录探索发现,用pentest_add_finding登记漏洞,每条 finding 必填可复现步骤并可关联影响资产。 - 资产建模:用
pentest_add_asset维护资产清单,支持可选parentId表达父子层级,空字符串视为根资产。 - 探索链路图展示:Web 界面以 @xyflow/react 图呈现 goal → intent → fact → finding 的推进关系,边带「意图链 / 产出 / 推导自 / 证实」关系胶囊。
- 测试报告生成:用
pentest_report输出 Markdown 报告,支持复制与保存,漏洞、资产与授权信息一并在报告中留痕。 - 确定性 id 与会话投影:节点和边按
<kind>-<n>确定性编号,工具返回 id 供模型跨调用引用,会话投影从日志纯重放同一张图。
怎么安装与启用 dsh-pentest?
dsh-pentest 通过 Release 压缩包一键安装,重启 dsh 后在新会话中选择「渗透模式」即完成启用。 以下安装命令取自官方 README(来源),安装、更新、卸载与启用四组动作如下:
1. 安装(Release URL):在 DeepSeek Harness 终端执行官方 README 提供的安装命令,从 Release 资产直接安装。
dsh plugin --profile web add https://github.com/howmp/dsh-pentest/releases/latest/download/dsh-pentest.tar.gz
2. 或从本地文件安装:先下载 dsh-pentest.tar.gz,再以 file: 前缀指向本地文件。
dsh plugin --profile web add file:C:\path\to\dsh-pentest.tar.gz
3. 启用:安装后重启 dsh,在新会话中选择自动注册的「渗透模式」,即可看到探索链路、漏洞、资产与报告四个子标签。
4. 更新:用官方 DSH CLI 更新命令把插件升级到最新版本:
dsh plugin --profile web update @howmp/dsh-pentest
5. 卸载:按已安装包名移除插件。
dsh plugin remove @howmp/dsh-pentest
dsh-pentest 典型用法
一次完整的授权渗透测试从 pentest_add_goal 开始,沿探索链路逐级记录,最后用 pentest_report 收尾。 工具调用方式来自官方 README(来源),以下是核心调用顺序:
1. 设置目标并填写授权说明(重置并建立新的探索图)。
pentest_add_goal(target: "example.com", authorization: "客户书面授权 #A-2026-08")
2. 添加探索意图(每次恰好一个锚点,明确下一步探测方向)。
pentest_add_intent(anchor: "<goal-or-fact-id>", summary: "探测子域并确认暴露面")
3. 记录探索事实与资产(子 agent 可经 pentest_submit 直写父意图,资产先父后子)。
pentest_add_fact(intentId: "<intent-id>", summary: "发现 admin 子域可访问")
pentest_add_asset(name: "admin.example.com", parentId: "")
4. 登记漏洞并附可复现步骤。
pentest_add_finding(intentId: "<intent-id>", title: "管理后台未授权访问", severity: "high",
reproducibleSteps: ["访问 https://admin.example.com/login", "直接请求 /api/users 返回 200"])
5. 生成测试报告。
pentest_report()
dsh-pentest 常见问题与排错
dsh-pentest 的常见问题集中在会话作用域、图窗口上限、finding 必填步骤与运行时版本四个方向,排错要点来自官方 README(来源)。 各排错点如下:
1. 症状:安装后新会话里找不到「渗透模式」选项。 原因:安装后未重启 dsh,或宿主运行时低于 Node.js 22.5,sqlite 后端(node:sqlite)无法加载。 解决:重启 dsh 后新建会话;仍失败则升级 Node.js 到 22.5 及以上再试。
2. 症状:Web 探索链路图里看不到早前的节点,或节点数量与完整记录对不上。
原因:会话投影各保留最新 200 个节点、资产与边,超出后最旧的被逐出,UI 只反映这个窗口。
解决:用 pentest_state 或 pentest_report 读取存储层拿到完整记录,不以 UI 图为准。
3. 症状:添加 finding 时被拒绝,记录写不进去。
原因:领域模型要求 finding 至少一条可复现步骤,缺步骤时工具会拒绝写入。
解决:在调用中补上 reproducibleSteps(至少一条可执行路径)后重试。
4. 症状:重新开始任务后,之前的探索图消失了。
原因:记录按单会话作用域存储,pentest_add_goal 会重置整张图,这是设计边界而非故障。
解决:需要留档时先执行 pentest_report 导出报告,再开始新的 engagement。
适用场景与注意
dsh-pentest 适合在 DeepSeek Harness 中系统化开展授权渗透测试、漏洞验证与报告沉淀的团队。 适用场景与限制同样基于官方 README(来源):典型场景包括安全团队的红队记录、渗透测试项目的线索与证据管理、以及需要向客户输出结构化报告的评估任务。使用时注意:只测试有授权的目标,authorization 参数只是审计事实,扫描与利用动作仍受部署沙箱和审批约束;记录按单会话作用域存储,无跨会话续跑;探索链路图为静态分层布局,可平移缩放但节点不可拖拽;运行时要求 Node.js 22.5 及以上;插件与用户交互默认使用中文。
项目链接
dsh-pentest 是 howmp 维护的开源项目,面向 DeepSeek Harness 的授权渗透测试场景。 完整介绍见本站插件详情页:dsh-pentest 插件详情。
本页是基于该插件官方 README 独立重写的导读——权威文档和最新变更请以源头为准:howmp/dsh-pentest。插件是安装时就在你机器上运行的第三方代码;收录不代表背书——安装前请自行审阅源码。
常见问题
dsh-pentest 不支持跨会话续跑:渗透记录按单会话作用域存储,没有跨会话或跨项目续跑能力;重新开始一次 engagement 需要调用 pentest_add_goal 设置新目标,该调用会重置整张探索图。
dsh-pentest 的会话投影各保留最新 200 个节点、资产和边,超出后最旧的会被逐出并同步清理悬挂边;UI 上的计数与图反映的是这个窗口,完整记录请通过 pentest_state 或 pentest_report 读取存储层。
dsh-pentest 的领域模型要求每条 finding 至少提供一条可复现步骤(reproducibleSteps),确保每个漏洞发现都有可验证的复现路径,便于结果验证与报告留痕;缺少步骤时工具会拒绝写入该记录。
dsh-pentest 的 authorization 参数不是安全门禁,只是审计事实,会写入状态并在最终报告中留痕,不拦截任何动作;扫描和利用操作仍受部署沙箱与审批约束,只建议测试有授权的目标。
dsh-pentest 需要 Node.js 22.5 及以上,因为它的 sqlite 后端使用 node:sqlite 模块;宿主运行时低于该版本时,插件可能无法正常读写渗透记录,甚至无法启动渗透模式。
dsh-pentest 安装并重启 dsh 后,在新会话中选择自动注册的「渗透模式」,用 pentest_add_goal 设置目标并填写授权说明即可开始;随后沿探索链路记录并用 pentest_report 生成报告。
相关术语
- dsh-pentest
- dsh-pentest 是 DeepSeek Harness(DSH)的授权渗透测试模式插件,在授权范围内记录目标、探索线索、验证结果、资产与漏洞,并在 Web 界面中以探索链路、漏洞和资产视图展示。— dsh-pentest README
- 探索链路(exploration chain)
- 探索链路是 dsh-pentest 用边词汇 spawns、yields、derived_from、proves 把目标、意图、事实与漏洞串起来的推进关系,构成渗透过程的完整因果链条。— dsh-pentest README
- pentest_add_goal
- pentest_add_goal 是 dsh-pentest 的设置渗透目标工具,会重置整张探索图,并可填写授权说明写入状态与最终报告。— dsh-pentest README
- 会话投影(session projection)
- 会话投影是 dsh-pentest 从日志重放折叠 pentest_* 调用得到的图结构,包含 goal、nodes、assets、edges 与 counts,各保留最新 200 个。— dsh-pentest README
来源
- howmp/dsh-pentest GitHub 仓库· GitHub