howmp/dsh-pentest 预览 preview

howmp/dsh-pentest

面向 DeepSeek Harness(dsh)的渗透测试模式 @CloverSecLabs

Project Overview项目介绍

dsh-pentest is a native plugin built exclusively for DeepSeek Harness (DSH) that adds a dedicated penetration testing workflow to the DSH environment. It is distributed as a self-contained bundle that includes the host plugin code, a web-based user interface, and a SQLite backend for storing all penetration testing session data. To install the plugin, you can run the command dsh plugin --profile web add followed by either the URL of the latest release asset or the path to a locally downloaded tar.gz file, then restart DSH to complete the installation process.

This plugin is designed for security penetration testers who use DSH as their AI-assisted testing environment. After installation and a restart of DSH, users can create a new session and select the pre-registered penetration testing mode from the menu. The typical workflow starts with adding a top-level penetration testing goal, along with documentation of the authorization to test the target. Then users can incrementally add intents, facts, vulnerabilities, and assets as they progress through the engagement, and the plugin automatically builds a visual graph of the entire exploration process. It also generates a markdown test report that can be copied or saved locally.

The plugin requires a DSH host running on Node.js version 22.5 or newer, because it uses the native node:sqlite module for its backend storage. All penetration testing session data is stored in a dedicated SQLite database located at $DSH_HOME/storages/pentest-sessions.db, and this does not affect DSH’s default storage for other domains. There are a few key limitations to note: sessions are scoped to a single DSH session, so you cannot resume an engagement across multiple sessions, and each session is capped at 200 nodes, edges, and assets to avoid performance issues. Older entries are automatically removed from the UI when the cap is hit, but all full data remains stored in the backend for reporting.

这是一个专门为 DeepSeek Harness(DSH)开发的原生渗透测试模式插件,核心能力是辅助用户在授权范围内开展标准化渗透测试工作,支持记录测试目标、梳理探索线索、验证漏洞结果、统一管理资产与已发现漏洞,并通过专门的Web界面展示探索链路、漏洞详情和资产拓扑视图。它以自包含bundle包的形式分发,包含宿主插件、Web界面和sqlite后端,可通过dsh plugin add命令直接从Release资产安装。

安装完成后,用户只需重启DSH,即可在新会话中选择自动注册的「渗透模式」开始工作。用户首先需要添加测试目标,填写对应授权说明,之后逐步探索目标、添加意图、事实、漏洞和资产信息,插件会自动构建探索链路图,全程记录所有测试过程数据。它适合需要使用DSH开展授权渗透测试的安全从业者,帮助规范测试流程,可视化梳理整体测试进度。

本插件依赖Node.js 22.5及以上版本,因为使用了Node.js原生的node:sqlite模块,所有渗透测试记录会写入DSH主目录下的指定sqlite数据库,不会影响DSH原有的其他存储内容。它存在一些已知限制:仅支持单会话内记录,不支持跨会话续跑,单会话最多保留200个节点和边,超出后最早的记录会被移出前端视图。

Pre-install check安装前体检Compatibility · Security兼容性 · 安全性 1 warning1 项注意
  • No license declared - all rights reserved by default; ask the author before commercial use or redistribution未声明开源许可证 —— 默认「保留所有权利」,商用或再分发前先问作者
DSH walks through these 9 checksDSH 会逐条核对这 9 项

Compatibility兼容性

  • DSH, Node, OS and profile requirementsDSH 版本 / Node 版本 / 操作系统 / profile 是否满足要求
  • External dependencies and runtimes (Electron / Python / Docker, ...)外部依赖与运行时(Electron / Python / Docker 等)是否齐备
  • Conflicts with installed plugins: command names, skill / tool names, ports, duplicate MCP registration与已装插件是否冲突:命令名、skill / tool 重名、端口占用、重复 MCP 注册

Security安全性

  • Repo matches the facts registered here; archived or abandoned?仓库是否与页面登记一致,是否归档或长期停更
  • Safety of preinstall / install / postinstall and install.sh / setup.ps1preinstall / install / postinstall 与 install.sh、setup.ps1 是否安全
  • curl|bash, download-then-execute, obfuscation, unrelated domains → stop immediatelycurl|bash、下载即执行、混淆代码、无关域名 → 立刻停止
  • Typosquatting or unmaintained packages among the new dependencies新增依赖里有没有 typosquatting 或无人维护的包
  • Requested permissions vs. what the feature actually needs申请了哪些权限、是否超出功能所需(filesystem / network / shell / clipboard)
  • Any sudo / admin requirement, plus uninstall and rollback是否要求 sudo / 管理员权限,以及卸载与回滚方式

Anything uncertain must be marked unknown with a note on how to confirm it. This site's signal screen is a static snapshot, not a security audit.拿不准的必须标「未知」并说明要我怎么确认。本站的信号筛查是静态快照,不能替代安全审计。

Or use CLI install (for developers)或使用命令行安装(适合开发者)

CLI Install命令行安装

dsh plugin --profile web add https://github.com/howmp/dsh-pentest/releases/latest/download/dsh-pentest.tar.gz

把 howmp/dsh-pentest 加入你的 DSH 配置(web profile)即可启用。

READMEREADME

dsh-pentest — DSH 渗透测试模式

面向 DeepSeek Harness(dsh)的渗透测试模式: 在授权范围内记录目标、探索线索、验证结果、资产与漏洞,并在 Web 中以探索链路、漏洞和资产视图展示。

本目录是自包含 bundle 包(@howmp/dsh-pentest):宿主插件、Web 界面和 sqlite 后端通过包内 exports 一同分发。Release 资产可直接由 dsh plugin add 安装。

安装

从 Release URL 安装

dsh plugin --profile web add https://github.com/howmp/dsh-pentest/releases/latest/download/dsh-pentest.tar.gz

或下载后从本地文件安装

dsh plugin --profile web add file:C:\path\to\dsh-pentest.tar.gz

重启 dsh 后,在新会话中选择自动注册的「渗透模式」。

预设注册兼容当前 DSH 的 agentPresets.register() 接口及旧版 resolvedRoots 接口。 当前接口通过宿主 include loader 加载包内配置,关闭组件时释放预设注册。

宿主版本要求:DSH >= 0.1.6。发布包的 peer 范围覆盖 DSH 0.1.x,以及从 0.2.0-rc.1 开始的 0.2.x; 预设是宿主 standard 预设的拷贝,其中的宿主包名逐字生效; DSH 0.1.6 把工作流引擎从 @deepseek-ai/dsh-workflow-worker-thread 改名为 @deepseek-ai/dsh-workflow-ptc,0.1.6 之前的宿主请钉 @howmp/dsh-pentest@0.1.0-rc.32 (bundle 的 peer 范围覆盖 0.1.x 和 0.2.x,但预设会显示「加载失败」)。

DSH 0.1.7 的 Web 页签使用 retainedBy.mainView 识别当前会话,并兼容旧版 sessions.list.current; 后台任务或侧栏打开的渗透会话不会让普通主会话显示渗透页签。

界面预览

模式选择

渗透模式选择

对话与执行

对话与执行

探索链路

探索链路

漏洞视图

漏洞视图

资产视图

资产视图

测试报告

测试报告

架构速览

  • 领域模型(src/dsh-pentest/src/spec.ts):storage domain pentest(version 2)——goals / intents / facts / findings / assets / edges 六张表。边即链路词汇:spawns(goal→intent)、yields(intent→fact)、 derived_from(fact→intent)、proves(intent→finding),资产关系用 parent(asset→asset)。finding 必填 reproducibleSteps(至少一条)。
  • 确定性 id(store.ts):节点/边 id 为 <kind>-<n>(按会话计数,goal 重置后归零)——工具返回 id 供模型 跨调用引用,会话投影从日志纯重放同一张图。
  • 工具(tools.ts):pentest_submit(子 agent 直写指定父 intent)/ pentest_add_goal(重置整图)/ pentest_add_intent(恰好一个锚点)/ pentest_add_fact / pentest_add_finding(步骤必填,可关联影响资产)/ pentest_add_asset(可选 parentId, 空字符串视为根资产)/ pentest_state / pentest_graph / pentest_report。
  • 会话投影(projection.ts):折叠已日志化的 pentest_* 调用为 { goal, nodes, assets, edges, counts }, 镜像 store 的引用拒绝;上限各 200。另注册逐会话的 pentestMounted 标记单元:当该会话自身日志证明组合 挂载了本插件(请求头组装出 pentest_* 工具 / 已记录调用 / 子 agent 委派提交)时置真,供 Web 标签页判定。
  • Web 标签页(src/dsh-client-ui-pentest):按会话注册(当前会话或列表祖先链命中 pentest 预设名、 pentest-* 复制预设名,或该会话带 pentestMounted 标记即显示;无证据的会话隐藏);四个子标签——探索链路 (@xyflow/react 图,边带关系胶囊:意图链/产出/推导自/证实)、漏洞(严重度/描述/可复现步骤/影响资产)、 资产(列表/图两种模式)、报告(Markdown 渲染、复制与保存)。
  • 协议(instructions.ts):系统提示词段 pentest:protocol(order 50),沿链路推进、子 agent 通过 pentest_submit 直写父 intent、资产先父后子、与用户交互一律中文。

Showing the opening section of the README — the full document lives in the repository以上为 README 开头摘要,完整文档在仓库内 · View the full README on GitHub →在 GitHub 查看完整 README →

← 上一个 Prev dsh-desktop 下一个 Next modsearch →