跳到主内容

dsh-pentest 使用指南

为 DeepSeek Harness 提供"渗透模式":在授权范围内记录目标、探索链路、漏洞与资产,并把整张图在 Web 端以可缩放视图实时展示。

本文为派生内容(基于 wiki / faq / compatibility_json 自动组装),非 AI 即时创作。

本文由本站基于该插件已收录的字段自动派生(wiki / faq / compatibility_json / readme),非 AI 即时创作。每节末尾标源字段。

快速上手

dsh-pentest

— 源: plugin_wiki.wiki_content

安装与验证

dsh plugin --profile web add github:howmp/dsh-pentest

复制以上命令在 DSH Web Profile 内运行。安装完成后在「插件列表」启用即可。

— 源: plugins.install

关键要点

  • 领域模型(src/dsh-pentest/src/spec.ts):storage domain pentest(version 2)——goals / intents /
  • 确定性 id(store.ts):节点/边 id 为 <kind>-<n>(按会话计数,goal 重置后归零)——工具返回 id 供模型
  • 工具(tools.ts):pentest_submit(子 agent 直写指定父 intent)/ pentest_add_goal(重置整图)/ pentest_add_intent(恰好一个锚点)/
  • 会话投影(projection.ts):折叠已日志化的 pentest_* 调用为 { goal, nodes, assets, edges, counts },
  • Web 标签页(src/dsh-client-ui-pentest):按会话注册(当前会话或列表祖先链含 pentest 预设即显示,

— 源: plugin_wiki.readme_zh (fallback readme_raw)

常见问题

谁真正负责写入渗透记录?

由"决策 agent"(开启渗透模式后的根 agent)调用 pentest_add_* 系列工具写入;执行/探索子 agent 只能调用 pentest_submit,由服务端从会话父子关系解析父会话后写入,决策 agent 不再手工转录。

渗透记录存在哪里?

bundle 自带 sqlite 后端,路径为 $DSH_HOME/storages/pentest-sessions.db;其它存储域仍走宿主的 json 后端,不会被本插件污染。

不填可复现步骤能记录漏洞吗?

不能。pentest_add_finding / pentest_submit 都要求至少一条 reproducibleSteps,否则在持久化层被拒;这是 schema 的硬约束。

可以跨会话或跨项目续跑同一份记录吗?

不能。记录的物理键是 sessionId:id,新 pentest_add_goal 会清空本会话的整张图并把 id 计数器归零;想保留结果请先 pentest_state / pentest_graph / pentest_report 导出。

插件会替我做授权把关吗?

不会。authorization 只是写进 goal 的声明性字段,最终报告里也会留痕;扫描/利用动作是否被允许仍由部署侧的沙箱、审批或网络隔离承担。

Web 的"渗透"标签页什么时候会出现?

只在当前会话(或其会话列表中的祖先)使用了 pentest agent 预设时才会注册;普通会话即使注入包也不会出现该标签。

我用的是 Windows,能用吗?

能。bundle 本身跨平台,但 sqlite 后端依赖 Node.js 自带的 node:sqlite,要求宿主 Node >= 22.5;Windows 的 bash 工具在该预设里默认禁用,改用 pwsh。

怎么彻底卸载?记录还在吗?

dsh plugin --profile web remove howmp/dsh-pentest 即可;sqlite 文件 $DSH_HOME/storages/pentest-sessions.db 不会自动删除,需要手动清理。

— 源: plugin_wiki.faq_json

兼容性

  • DSH: 0.1.0-rc.6
  • Node: >=22.5
  • Platforms: macOS, Windows, Linux
  • Native modules: node:sqlite

— 源: plugin_wiki.compatibility_json

踩坑提醒

安装前请审阅上游仓库;本指南基于已收录字段自动派生,可能滞后于最新版本。如发现与官方文档冲突,请以上游为准。

— 来源:通用规则