DeepSeek Harness Plugin Hub

发布与管理完整 Harness Profiles,发现适合你的插件。

探索

插件目录环境预设文档中心动态

社区

发布插件联系我们报告问题

相关链接

Plugin Hub GitHubDeepSeek Harness 官方项目系统状态隐私说明
© 2026 DeepSeek Harness Plugin HubPowered byPaxTech

独立、非官方社区项目,与 DeepSeek 官方无隶属、授权或背书关系。

Pentest Toolkit — DeepSeek Harness 插件(DSH Plugin)
DeepSeek Harness Plugin Hub
ProfilesPlugins分类动态文档登录管理 Profiles
ProfilesPlugins分类动态文档登录
← Plugins
P

@local/dsh-pentest-toolkit

Pentest Toolkit

授权渗透测试的侦察、资产与漏洞台账、报告生成工具集(DeepSeek Harness Host 插件,零运行时依赖)

插件会安装到这里;不确定时保持 web。

npx -y @deepseek-ai/dsh plugin --profile web add github:bzaics666/dsh-pentest-toolkit#6177817f326f66bc90ad67af93ecbf412fdb9764
README兼容性版本

兼容性与来源证明

Pentest Toolkit 以 @local/dsh-pentest-toolkit 发布,当前版本为 0.2.0。Plugin Hub 会校验它的 manifest,并保存精确安装来源,便于复现安装结果。

DSH 兼容范围
*
运行环境
any
发布来源
github
Registry 更新时间
2026/10/9

版本

0.2.0stable
2026/10/9

相关插件

正在加载相关插件…

最新版
0.2.0
DSH
*
HMR
重启进程
Tree shaking
未声明可安全裁剪
解包体积
未提供
文件数
未提供
Surface
any
许可证
MIT
发布源
github
GitHub
★ 0
周下载
0
最近提交
2026/10/9
查看源码 ↗
README Badge

点击下方 Badge 复制 Markdown,粘贴到 README 即可。

这是你的 Plugin?认领权益 · 优先安全扫描

验证 package.json 声明的 GitHub 仓库,即可管理这个公开页面。认领后,Hub 会优先安排当前版本的安全扫描,并在通过后公开展示结果。

认领这个 Plugin →
报告问题

相关插件

继续浏览 security-access 分类下经过校验的插件。

Experimental Auto Review@deepseek-ai/dsh-experimental-auto-review针对每个工具的 LLM 授权审查,适用于 DeepSeek Harness Auto 权限预设Doctor@linxin666/dsh-doctorDSH 配置档案的事务性救援模式,配备受监督的启动器、隔离的恢复容器、确定性修复、健康监控以及本地 Web 恢复控制台DSCODE@toddzheng024/dscode-bundle完整的 DeepSeek 编码代理,支持持久化 shell、Ultra 协作和自动权限审查。Pentesterdsh-pentester用于 DeepSeek Harness 的极简 Root-Orchestrator PTES 渗透测试插件

README

渗透测试工具集(@local/dsh-pentest-toolkit)

给 DeepSeek Harness 用的授权渗透测试工具集:按 PTES 的八个阶段推进一次全量渗透测试,把攻击面测绘、漏洞台账、报告成稿做成模型可以直接调用的工具,并且用状态机把阶段顺序锁死。

  • 零运行时依赖:只使用 Node 内置模块,不 import 任何 @deepseek-ai/* 包。 这一点是刻意的:profile 的 node_modules 里通常解析不到 dsh 的包,一旦引入就会整份 bundle 装载失败。
  • 纯 Host 插件:插入一行,注册 7 个工具;不发布服务、不需要 isolate realm。
  • 能力边界:只做侦察与记录。不含漏洞利用、口令爆破、权限提升、横向移动或写入目标系统的动作——见下文"边界与合规"。

七个工具

工具作用
pentest_workflow总控台:八阶段状态机。start 登记授权并开始,status 看进度与门禁,note 留结论,complete 推进,skip 跳过(要理由),reset 重来。
pentest_env_check体检本机安全工具链(20 项目录),报告可用性与版本,并标注同名但身份不符的可执行文件。只读。
pentest_recon单目标侦察:DNS 记录、常见端口 TCP 连通性、开放 Web 端口的 HTTP 指纹,结果写入资产台账。可追加一次本地 nmap -Pn -sT 复核。
pentest_scan阶段 4 的受控检测:fingerprint(httpx) / template(nuclei) / content(ffuf)。返回候选,不是漏洞。
pentest_assets资产台账查询与维护:list / get / remove / clear。
pentest_findings漏洞台账增删改查:add / list / get / update / remove / stats,含等级、状态、CVSS、CWE、证据与修复建议。
pentest_report出报告(Markdown / JSON):授权声明、执行摘要、风险统计、阶段执行记录、资产清单、漏洞详情、修复优先级。

八阶段与完成门禁

顺序由 pentest_workflow 强制:每个阶段只有在门禁满足时才能 complete 推进,所以阶段跳不过去。确实不适用某阶段时,必须用 skip 给出理由,而不是默默略过。

阶段完成门禁
0 授权与准备授权信息齐全(被测方 / 范围 / 授权依据 / 周期),start 时校验
1 信息收集与攻击面测绘资产台账 ≥ 1 条
2 威胁建模阶段 2 至少 1 条结论
3 漏洞发现与验证漏洞台账 ≥ 1 条,或显式声明 noFindings: true
4 受控利用与权限提升阶段 4 至少 1 条结论,或 skip
5 后渗透与影响评估阶段 5 至少 1 条结论,或 skip
6 清理与恢复阶段 6 至少 1 条记录,或声明 noCleanupNeeded: true
7 报告与复测必须已生成过至少一份报告

阶段 6 的门禁最值得强调:遗漏清理是真实事故的常见来源,这里用状态机挡住"没写清理记录就出报告"的情况。

数据落在哪

全部状态写在发起调用的那个会话的工作区下的 .pentest/:

<会话工作区>/.pentest/
├── workflow.json    # 八阶段状态机:当前阶段、各阶段结论与跳过理由
├── project.json     # 项目与授权信息(start 时登记,出报告时回填)
├── assets.json      # 资产台账(一次 pentest_recon 一条,按 target upsert)
└── findings.json    # 漏洞台账

文件名固定,不接受模型传入任意路径;pentest_report 的 outPath 与 pentest_scan 的 wordlist 都会被限制在工作区内,越界直接拒绝。

安装

本包可以放在任意目录(本仓库内、桌面、其它工程目录都行)。下文用 <包目录> 指代它的绝对路径。

1. Web UI 插件管理面板(推荐)

打开 DSH Web 的插件管理面板 → 安装本地 bundle → 选择 <包目录>。

2. 命令行

dsh plugin --profile web add link:<包目录>

如果当前目录已经是包目录,可以直接写 dsh plugin --profile web add "link:$PWD"。

3. 手动接入已有 bundle

把 cordis.patch.yml(与本 README 同目录)里的 insert 内容并入你正在用的 bundle patch:

- insert:
    - id: pentest-toolkit
      name: '@local/dsh-pentest-toolkit'

安装后新开会话即可看到这 7 个工具。若面板里显示的标题/描述不对,检查同目录下 locale/zh.json、locale/en.json 的 meta 字段是否被正确导出。

配套 skill

pentest-full-scope 负责把"为什么这么排、每阶段该调什么、门禁被拒怎么办"讲给模型听。工具负责强制,skill 负责解释,两者配合才是一次可复现的流程。

本仓库的 skills/pentest-full-scope/SKILL.md 就是它的源码;装到 DSH 时复制到用户技能目录即可:

# 把 <包目录> 换成实际路径
Copy-Item -Recurse "<包目录>\skills\pentest-full-scope" "$env:USERPROFILE\.dsh\skills\"

说"做一次全量渗透测试""按流程渗透"时,skill 会被自动加载。

外部工具链

pentest_env_check 与 pentest_scan 会用到本机的外部安全工具(nmap / nuclei / httpx / ffuf 等共 20 项)。不装也能用——pentest_recon 的 DNS / 端口 / Web 指纹探测是内置实现,不依赖任何外部工具;工具缺失一律优雅降级为 skipped。

  • 清单、用途、分平台安装方式与两个已知陷阱:TOOLCHAIN.md
  • 一键检测(默认只报告,不安装):
powershell -ExecutionPolicy Bypass -File scripts\install-toolchain.ps1      # Windows
bash scripts/install-toolchain.sh                                          # Linux / macOS
  • 真正安装:Windows 加 -Apply,Linux/macOS 加 --apply

两个脚本的检测逻辑都调用 lib/probe.js 的 detectTools,所以工具清单只有一份来源,不会和插件跑偏。

复验

包内自带自检,不需要安装、不需要框架:

cd <包目录>
node verify.mjs

43 项检查,覆盖:装载契约、工具链体检与身份校验、流程前置约束、逐阶段门禁 (每一次"被拒绝"都作为断言验证)、扫描输入校验、侦察与 upsert、台账增删改查、报告内容 与路径越界、reset 语义。全绿时自动清理 ./.pentest-verify 沙箱,有失败则保留现场。

运行环境适配(真实环境踩过的两个坑)

  • 同名不同物:httpx 既可能是 ProjectDiscovery 的扫描器,也可能是 Python 的 HTTP 客户端。目录里给这类可执行文件配了 identity 正则做身份校验,不匹配就标成不可用, pentest_scan 绝不误用。本机实测就拦下了 Python 版的 httpx。
  • 中文 Windows 的 GBK 输出:nslookup、whois 等按控制台代码页输出 GBK,而 Node 默认 按 UTF-8 解码,版本串会变成 Ĭ�Ϸ����� 这类乱码。lib/probe.js#decodeOutput 先做严格 UTF-8 试探,失败再回退 gb18030 / gbk / big5 / shift_jis,并把残留的替换字符剔掉。

目录结构

dsh-pentest-toolkit/
├── index.js            # 插件入口:七个工具的定义与实现
├── lib/workflow.js     # 八阶段定义、状态机、阶段门禁
├── lib/probe.js        # 网络探测原语(DNS / TCP / HTTP)与受控子进程调用
├── lib/workspace.js    # 工作区定位与台账持久化
├── verify.mjs          # 自检脚本(43 项)
├── TOOLCHAIN.md        # 外部工具链清单与安装说明
├── skills/             # 配套 skill:pentest-full-scope
├── scripts/            # 工具链安装脚本(install-toolchain.ps1 / .sh)
├── cordis.patch.yml    # bundle patch:插入插件行
├── locale/{zh,en}.json # 显示元数据
├── icon.svg            # 图标
└── package.json        # bundle 清单(dsh.bundle.patch)

边界与合规

  • 仅可用于已获得书面授权的目标。工具完全合法,用途不一定。
  • 阶段 4/5 不会被自动化:这两阶段在插件里的形态是"记录结论与证据 + 门禁校验", 执行由授权的测试人员完成。这是设计选择,不是能力缺口。
  • 所有目标字符串先过白名单:pentest_recon 只接受主机名 / IP / CIDR(拒绝 URL), pentest_scan 接受 http(s) URL 但会经 new URL() 解析后重建。
  • 所有外部命令走 execFile(argv),不存在 shell 拼接。
  • pentest_scan 只调用检测类工具、不接受任意参数、并禁用反连(nuclei -no-interactsh)。
  • 报告与台账包含敏感信息,按约定渠道保管。

二次开发须知

改动本包时请守住四条:

  1. 不引入任何非 node: 依赖,包括 @deepseek-ai/*。
  2. 不使用 defineTool(它由 @deepseek-ai/dsh-tools 导出)。本插件直接构造符合 ToolDefinition 契约的普通对象——parameters 是标准 JSON Schema,参数校验在 execute 内自行完成。
  3. 新增外部命令调用必须走 lib/probe.js#runCommand,参数做白名单校验;目标字符串 一律先过 assertTarget / assertScanTarget。新增可执行文件时,若存在同名不同物的风险, 要给它加 identity 正则。
  4. 改动阶段或门禁必须同步更新 verify.mjs、README 与 pentest-full-scope skill。

改完跑一次 node verify.mjs。