dsh-pentest README

The project's README from github.com/howmp/dsh-pentest. As one markdown file: README.md.

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-pentest/                   # 项目根 = bundle 包 @howmp/dsh-pentest(自带 zod/schemastery 运行时依赖,其余宿主提供)
├── package.json               # bundle manifest:dsh.bundle.patch + dsh.client + exports 子路径
├── cordis.patch.yml           # 补丁层:UI、sqlite 后端与 storage-domain 路由
├── lib/                       # 构建产物(npm pack 的内容)
│   ├── index.js               #   包入口:空 apply
│   ├── pentest.js             #   宿主渗透插件:9 个 pentest_* 工具 + 协议注入 + 会话投影/挂载标记
│   ├── preset-root.js          #   注册包内只读「渗透模式」预设目录(兼容 DSH rc.6)
│   ├── storage-sqlite.js      #   渗透记录专用的 sqlite 后端(node:sqlite)
│   ├── ui-pentest.js          #   Web 插件宿主半:空 apply(0.1.1 时代的子路径行座位;bundle 已改挂包根)
│   ├── ui-pentest.client.js   #   Web 插件浏览器半:渗透视图标签页(4 个子标签,@xyflow/react 内联)
│   └── invariant.js           #   探索图不变量伴生(与官方各包同构,生产环境不加载)
├── src/                       # 源码快照(继续开发/重新构建用)
│   ├── index.ts / invariant.ts
│   ├── dsh-pentest/               # host 包源码:src/ + tests/ + tsconfig + tsdown + README
│   └── dsh-client-ui-pentest/     # client 包源码:src/client/(视图/图布局/注册)+ tests/
├── tests/bundle.spec.ts       # bundle 补丁层测试
├── packages/                  # 三个构建好的子包(仅作构建源保留;bundle 不再依赖它们)
│   ├── dsh-pentest/               # host 插件源码构建产物
│   ├── dsh-client-ui-pentest/     # Web 界面插件源码构建产物
│   └── dsh-storage-sqlite/        # sqlite 后端构建产物(来自 dsh 仓库,无独立源码)
├── preset/pentest/            # 「渗透模式」agent 预设(由 bundle 自动注册)
├── images/                    # README 界面预览截图
└── README.md

参考项目

dsh-pentest (howmp/dsh-pentest)

Searching Database…

607 ·GitHub
archived
这是什么?dsh-pentest 是 DeepSeek Harness(dsh)的渗透测试模式插件,它把一次授权的渗透测试跟踪为一张由目标、线索、事实、发现和资产构成的结构化图,然后在 Web 界面中展示这张图、漏洞列表和报告。
这是一个独立应用还是其他东西的插件?它是一个自包含的包(@howmp/dsh-pentest),通过包的导出同时提供 dsh 宿主插件、Web 界面和 sqlite 后端——它只能在 dsh 安装环境内运行,不能独立运行。
怎么把它安装进 dsh?直接从 URL 安装 Release 附件,或者下载后从本地文件安装,两者都用 dsh plugin add。重启 dsh 后,在新会话中选择自动注册的“Pentest mode”。
除了 dsh 本身,运行它还需要什么?sqlite 存储后端依赖 Node.js 内置的 node:sqlite 模块,因此 dsh 宿主运行时需要 Node.js 22.5 或更新版本。
把目标标记为已授权真的会解锁什么吗?不会——你用 pentestaddgoal 记录的授权文本只是写入状态和最终报告的审计记录;它不是门禁,扫描和利用行为仍然由部署沙箱和审批规则控制。
在渗透测试会话中模型可以调用哪些工具?它注册了 pentestaddgoal、pentestaddintent、pentestaddfact、pentestaddfinding、pentestaddasset、pentestsubmit(供子智能体直接写入父意图),以及只读的 penteststate、pentestgraph 和 pentestreport。
Web 界面实际上向我展示什么?四个标签页:用 @xyflow/react 构建的探索链图(边标注 spawn/yield/derive/prove)、带严重等级和可复现步骤的漏洞视图、资产列表/图视图,以及可复制或保存的 Markdown 报告。
我能为自己的使用场景定制渗透测试工作流吗?预设之间不能互相继承,但你可以复制整个 preset/pentest 目录再修改——工具、协议和投影逻辑都会随副本一起生效。
dsh 如何决定在会话中何时显示渗透测试标签页?它不是只看预设名称:每个会话的 pentestMounted 标志只有在该会话自己的日志证明渗透测试工具确实已接入并被使用后才会打开,所以无关的会话永远不会显示该标签页。
Creator
howmp
Size
1.6 MB
Stars
607
Age
2mo
Commits · 90 Days