🎁 福利专区全网大模型免费应用 + 新用户福利 + 注册活动入口,低成本玩转 AI

渗透测试模式 R1145141919810/dsh-vulnclaw-pentest

DeepSeek Harness
R114514191981016 天前有提交已提供中文文档扫描:含敏感能力

在 Harness 中调用 nmap 等工具完成授权渗透测试

30/100
综合分
0
GitHub 星标
—
npm 周下载
—/5
用户评分

数据截至 2026/10/16 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。

安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add R1145141919810/dsh-vulnclaw-pentest
该包不可直接 npm 安装,改从 GitHub 源安装(明细见下方安装检查)

状态速览

判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态
信任档位:待复验
是什么
dsh 原生插件 · security
装得上吗
曾在 dsh 0.2.0-rc.2 下真实安装成功,但当前 dsh 已更新至 0.2.1-rc.5,本站尚未在新版下复验
L4 · 真实安装等级说明 →
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
活跃:最近一次提交在 16 天前
档位由哪些信号合成

本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。

验证判据与等级说明 →
社区实装还没有人打卡 · 装过的第一个就是你
安全扫描自动 · 静态分析源码
v2.7.0
🔵 扫描:含敏感能力尚无人工评估
展开查看扫描说明与证据 ↓

静态扫描发现插件具备触达本地系统的能力:执行外部命令、读写/删除本地文件、读取剪贴板或密钥类环境变量(至少其一)。这是能力清单,不是危险判定——具体能力项与证据见下方,安装前请自行判断是否需要。

可执行外部命令读写/删除本地文件读取剪贴板或密钥环境变量发起外部网络请求
查看扫描证据(共 26 处,展示前 26 条)
  • 执行外部命令来自配置/变量
    bridge.js:69
    const child = spawn(this.python, [this.script], {
  • 发起网络请求
    bridge.js:126
    this.request("shutdown", {}, { timeoutMs: graceMs }),
  • 发起网络请求
    bridge.js:212
    const info = await this.request("initialize", {}, { timeoutMs: 300_000 });
  • 发起网络请求
    bridge.js:213
    const listed = await this.request("list_tools", {}, { timeoutMs: 300_000 });
  • 发起网络请求
    bridge.js:240
    const result = await this.request(
  • 发起网络请求
    bridge.js:265
    return this.request(method, params, { timeoutMs: options.timeoutMs ?? DEFAULT_TIMEOUT_MS });
  • 执行外部命令来自配置/变量
    python-runtime.js:73
    const result = spawnSync(command, args, {
  • 读取本地文件
    python-runtime.js:141
    const first = readFileSync(scriptPath, "utf8").split("\n", 1)[0] ?? "";
  • 读取本地文件
    python-runtime.js:146
    if (args.length === 0 && existsSync(command)) return command;
  • 读取本地文件
    python-runtime.js:289
    if (existsSync(managed)) {
  • 写入本地文件
    python-runtime.js:301
    mkdirSync(root, { recursive: true });
  • 写入本地文件
    python-runtime.js:340
    writeFileSync(
  • 读取本地文件
    python-runtime.js:361
    if (explicit && existsSync(explicit)) {
  • 读取本地文件
    python-runtime.js:371
    if (existsSync(home)) {
  • 读取本地文件
    dev-regression.mjs:33
    if (existsSync(join(candidate, "@deepseek-ai", "dsh-tools"))) return candidate;
  • 读取本地文件
    dev-regression.mjs:49
    if (!existsSync(schemaPath)) {
  • 读取本地文件
    dev-regression.mjs:86
    if (existsSync(candidate)) return candidate;
  • 删除本地文件递归
    dev-test.mjs:115
    rmSync(workDir, { recursive: true, force: true });
  • 读取本地文件
    dev-verify-activation.mjs:52
    check("profile entry point exists", existsSync(entry), entry);
  • 读取本地文件
    dev-verify-schema.mjs:30
    .find((path) => existsSync(path));
  • 读取本地文件
    link-deps.mjs:45
    return roots.filter((root) => existsSync(root));
  • 读取本地文件
    link-deps.mjs:57
    if (existsSync(candidate)) return candidate;
  • 写入本地文件
    link-deps.mjs:70
    mkdirSync(target, { recursive: true });
  • 读取本地文件
    link-deps.mjs:85
    if (existsSync(link)) {
  • 删除本地文件递归
    link-deps.mjs:87
    rmSync(link, { recursive: true, force: true });
  • 读取密钥环境变量
    llm-offline.js:82
    const apiKey = (options.apiKey ?? process.env.VULNCLAW_BRIDGE_LLM_API_KEY ?? "").trim();
扫描于 2026/10/31(1 天前) · 范围 入口闭包 + 发布文件清单 · 来源 GitHub 仓库

静态扫描只反映源码中出现的调用,不构成安全背书;人工评估与自动扫描相互独立、互不覆盖。

依赖的 DSH / Cordis 模块
@deepseek-ai/dsh-tools@deepseek-ai/schemastery
给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个

DeepSeek Harness 的 VulnClaw 渗透测试模式:nmap、HTTP 探测、目录/JS 侦察、流量取证、报告和 PoC 都做成 Harness 原生工具。基于 UncleC 的 VulnClaw(MIT)。

README

由 DeepSeek 最新模型翻译生成
DSH VulnClaw 渗透模式 把 VulnClaw 的渗透测试工具链接入 DeepSeek Harness,在 Harness 的模式列表里新增一个「渗透测试」智能体模式。 选中该模式后,VulnClaw 的 37 个工具(nmap_scan、http_probe_batch、dir_enum、js_recon、 crypto_decode、source_extract、evidence_、traffic_、cve_lookup、attack_map …) 会作为原生 Harness 工具出现,由 Harness 自己的模型与智能体循环驱动。 English · 安装 · 设计 · 实测修复 · 排障 这是什么 / 不是什么 是:一个 DSH 插件包(bundle)。它给 Harness 加一个模式,并把 VulnClaw 的能力接进来。 不是:VulnClaw 的分支、包装脚本或替代品。本仓库不含任何 VulnClaw 源码——它在首次使用时把 VulnClaw 装进一个私有环境(见 Python 环境)。 ⚠️ 仅限授权测试。 本项目面向已授权的渗透测试、CTF 竞赛、安全教学与红队演练。 使用前请确认你已获得目标系统的明确书面授权,并遵守当地法律法规。 未经授权对系统进行渗透测试是违法行为。 ℹ️ 需要 DeepSeek Harness。
展开完整文档(README 剩余 1 节)
DSH VulnClaw 渗透模式

把 VulnClaw 的渗透测试工具链接入 DeepSeek Harness,在 Harness 的模式列表里新增一个「渗透测试」智能体模式。

选中该模式后,VulnClaw 的 37 个工具(nmap_scan、http_probe_batch、dir_enum、js_recon、 crypto_decode、source_extract、evidence_、traffic_、cve_lookup、attack_map …)
会作为原生 Harness 工具出现,由 Harness 自己的模型与智能体循环驱动。

English · 安装 · 设计 · 实测修复 · 排障

这是什么 / 不是什么

是:一个 DSH 插件包(bundle)。它给 Harness 加一个模式,并把 VulnClaw 的能力接进来。

不是:VulnClaw 的分支、包装脚本或替代品。本仓库不含任何 VulnClaw 源码——它在首次使用时把 VulnClaw 装进一个私有环境(见 Python 环境)。

⚠️ 仅限授权测试。 本项目面向已授权的渗透测试、CTF 竞赛、安全教学与红队演练。
使用前请确认你已获得目标系统的明确书面授权,并遵守当地法律法规。
未经授权对系统进行渗透测试是违法行为。

ℹ️ 需要 DeepSeek Harness。 这不是独立程序。没有 Harness,本插件无处运行。

特性

| 特性 | 说明 |
| 单一模型 | Harness 拥有模型,VulnClaw 只提供能力。VulnClaw 自己的智能体循环不会启动——不需要为它再配 API Key,也不会出现两个智能体抢工具调用。 |
| 不改 VulnClaw 源码 | 全部通过公开模块调用:AgentCore 构造、build_openai_tools() 取 schema、execute_mcp_tool() 执行——与 VulnClaw 自己的循环用的是同一套分发。 |
| 证据链完整 | 每个工具结果都写入 VulnClaw evidence,返回文本带 [evidence:eNNN] 前缀,因此 evidence_view / evidence_search / traffic_ / 报告生成都能看到完整历史。 |
| 按作用域注册 | 工具只在该模式内存在。standard / ptc / minimal / cordis 四个模式一个工具都不会多;移除 bundle 时模式与工具一起消失。 |
| 模型接缝默认关闭 | 默认禁止 VulnClaw 自建模型连接,避免残留凭据让某条路径悄悄开出第二个智能体。可用环境变量显式打开。 |
| 自动准备环境 | 首次用到工具时自动检测/创建 Python 环境并安装 VulnClaw,并补齐其工具描述承诺的执行库。 |

前置条件

| 依赖 | 说明 |
| DeepSeek Harness | 宿主。本插件是它的 bundle。 |
| Python 3.10+ | 能 import vulnclaw 的解释器。装不了也没关系——安装步骤会用 uv 自动准备一个。 |
| uv(推荐) | 用于自动创建环境。已存在可用解释器时不需要。 |
| nmap(可选) | 只有 nmap_scan 需要。未安装时该工具会明确报错,不影响其它工具。 |

安装

1. 取得代码

git clone https://github.com/R1145141919810/dsh-vulnclaw-pentest.git
cd dsh-vulnclaw-pentest

路径建议用纯 ASCII。 安装器会把包目录交给 pnpm,非 ASCII 路径(如中文目录名)在编码转换时可能被破坏,导致 profile 里出现一条不存在的 link: 路径。
放在 D:\dsh-vulnclaw-pentest 这类路径下最稳妥。

2. 安装 bundle,然后链接依赖(顺序不能颠倒)

plugin_manager(action: "install_bundle", target: "<仓库的绝对路径>")

安装完成后必须链接 Harness 自己的包:

npm run link-deps

为什么需要这一步:install_bundle 用 pnpm 把本地包以符号链接方式链入 profile。
Node 会跟随符号链接到插件的真实目录,再从那里向上寻找 node_modules——那条路径走不到 Harness 自己的包,于是插件激活时报 ERR_MODULE_NOT_FOUND: @deepseek-ai/dsh-tools。
link-deps.mjs 从 profile 解析出这两个包的真实位置并建立目录联接(Windows 用 junction,无需管理员权限),不下载、不复制、不硬编码机器路径。脚本可重复执行,Harness 升级后重跑即可。

若 Harness 装在非默认位置:

DSH_HOME=/path/to/.dsh DSH_PROFILE=desktop npm run link-deps

3. Python 环境

通常不用做任何事。 插件在首次用到工具时(不是激活时,所以 Harness 启动不会被拖慢)按以下顺序解析解释器:

1. VULNCLAW_PYTHON —— 你显式指定的解释器,直接使用;失败就报错,不会偷偷换一个;
2. $DSH_HOME/vulnclaw-bridge/venv —— 已备好的托管环境;
3. 用 uv 新建一个,并 uv pip install "vulnclaw[web]"。
随后它会检查 VulnClaw 工具描述里承诺的执行库(requests 等)是否真的可导入,缺失就补上——详见实测发现。

手动指定解释器:

export VULNCLAW_PYTHON=/usr/bin/python3 # 该解释器需已能 import vulnclaw

4. 重启 Harness

插件的新 JavaScript 模块需要新进程才能加载。重启后新建会话,在模式列表里选「渗透测试」。

5. 验证安装

export TEST_PYTHON="<装了 vulnclaw 的解释器>"

node dev-verify-activation.mjs # 31 项:导出形态 / 工具注册 / 目录裁剪 / 首调回归
node dev-regression.mjs # 9 项:真实会话暴露过的缺陷
node dev-verify-schema.mjs # 37 个 schema 逐个过 Harness 真实编译器
node dev-test.mjs # 25 项:桥接客户端与工具面冒烟

四个套件全绿即安装正确。dev-regression.mjs 与 dev-verify-schema.mjs 会调用 Harness 真实的 schema 编译器;装在非默认位置时用 DSH_APP_NODE_MODULES 指路。

配置

在 bundle patch 相应行的 config 里设置:

| 键 | 默认 | 说明 |
| pythonPath | 空 | 能 import vulnclaw 的解释器;留空则自动解析或准备。 |
| sourcePath | 空 | 本地 VulnClaw 检出目录,首次准备时以可编辑模式安装;留空装 PyPI 发行版。 |
| exposeTools | true | 是否在本插件作用域注册工具。宿主行设 false,预设行设 true。 |
| toolPrefix | 空 | 给所有注册的工具名加前缀,避免与其它插件撞名。 |
| callTimeoutMs | 600000 | 单次工具调用超时。 |
| permissionMode | full_access | VulnClaw 内部的 safety.permission_mode。 |
| keepDefaultDeny | true | 隐藏与渗透无关的桌面自动化工具族。 |
| denyTools | [] | 额外要隐藏的工具名。 |

环境变量

| 变量 | 说明 |
| VULNCLAW_PYTHON | 指定解释器,跳过自动准备。 |
| VULNCLAW_BRIDGE_PERMISSION_MODE | 覆盖 permissionMode。 |
| VULNCLAW_BRIDGE_MAX_RESULT_CHARS | 单次结果回传上限,默认 120000。 |
| VULNCLAW_BRIDGE_LLM_BASE_URL / _API_KEY | 打开模型接缝(见 设计)。 |
| DSH_HOME / DSH_PROFILE | link-deps.mjs 定位 Harness 用。 |
| DSH_APP_NODE_MODULES | 验证脚本定位 Harness 的 schema 编译器用。 |

权限与审批

危险工具(shell_command、python_execute、PoC)在 VulnClaw 里默认弹 Approve this execution? [y/N]。桥接是无头子进程,没有这个交互通道,所以 permissionMode 默认 full_access——否则这些工具会一律以 no_channel 被拒绝。

审批没有消失,只是上移了:shell_command / python_execute 在 Harness 里等同于执行本机命令,归 Harness 的权限系统管。请用 Harness 的权限预设控制它——不要把它当成一块无审批的任意代码执行入口。

VulnClaw 命令行侧的改动(可选)

仓库内的 python/vulnclaw_dsh_mode.py 与 python/dsh-vulnclaw.py 提供两处运行时定制(不改已安装的包):TUI 模式列表新增「渗透测试」,以及隐藏 AI 管理命令(config / login / logout / doctor / init)。细节见设计文档。

python python/dsh-vulnclaw.py --help
python python/dsh-vulnclaw.py tui --target https://target.example

直接跑裸 vulnclaw 完全不受影响——这层定制只在该进程内生效。

若你的 Harness 会话已经提供了模型与工具,这一节可以完全跳过。

项目结构

.
├── package.json 插件清单(dsh.bundle.patch + 展示元数据 + icon) ├── cordis.patch.yml 两行:宿主行 + preset-pentest 预设(含人设与环境契约) ├── index.js 宿主插件:注册动态工具、会话级工具、裁剪目录、schema 翻译 ├── bridge.js Python 桥的 JSON-RPC 客户端(单进程长驻) ├── tools.js 3 个会话级工具的定义 ├── python-runtime.js 解释器解析、首次准备、执行库补齐 ├── llm-offline.js 模型主权约束的说明与诊断 ├── link-deps.mjs 从 profile 解析并联接 Harness 依赖 ├── icon.svg 插件图标 ├── locale/{en,zh}.json 展示文案 ├── docs/DESIGN.md 架构与设计取舍 ├── docs/FINDINGS.md 实测发现的缺陷与修复(含回归测试说明) ├── python/ │ ├── vulnclaw_bridge.py stdio JSON-RPC 桥,暴露 VulnClaw 工具面 │ ├── vulnclaw_dsh_mode.py CLI 定制:渗透模式 + 隐藏 AI 管理命令 │ └── dsh-vulnclaw.py 带定制的 VulnClaw CLI 启动器 └── dev-.mjs 验证与回归测试(不随 npm 包发布)

排障

| 现象 | 原因与处理 |
| failed to import / ERR_MODULE_NOT_FOUND: @deepseek-ai/dsh-tools | 忘了跑 npm run link-deps;跑完后必须重启 Harness。 |
| 工具列表里没有 nmap_scan 等 | 没选「渗透测试」模式;工具是按作用域注册的。 |
| VulnClaw tools unavailable: ... uv is not available | 装 uv,或设 VULNCLAW_PYTHON 指向已装 vulnclaw 的解释器。 |
| 工具报 no_channel 被拒 | permissionMode 被改成了 ask / auto_review;无头进程没有审批通道。 |
| nmap_scan 报未安装 nmap | VulnClaw 需要外部 nmap 二进制;装好并加进 PATH。 |
| python_execute 报 ModuleNotFoundError: requests | 会自动补齐;若仍出现说明 uv 不可用,手动 uv pip install --python <venv> requests。 |
| python_execute 报 lab mode blocked operation | 代码里用了 __import__() / importlib / exec();改成普通 import 语句。 |
| 看不到桌面自动化工具 | 默认隐藏(56 个与渗透无关);keepDefaultDeny: false 可恢复。 |
| 非 ASCII 路径下安装后 profile 里出现坏掉的 link: 路径 | 把仓库移到纯 ASCII 路径后重新安装。 |
| 想确认 Python 侧状态 | 直接问桥:initialize 返回版本、工具数、model_seam、llm_refusals。 |

贡献

欢迎 Issue 与 PR。改插件行为时请一并跑第 5 节的四个验证套件——它们会调用 Harness 真实的 schema 编译器,能挡住大部分「看起来对但激活时失败」的改动。

致谢与许可

本项目基于 VulnClaw (作者 UncleC,MIT 许可,官方网站 unclecheng-li.github.io/vulnclaw.com)。

VulnClaw 提供了本插件的全部渗透测试能力——工具实现、证据与流量存储、报告与 PoC 生成、 Skill 知识库。本插件只做一件事:把这些能力以原生 Harness 工具的形式接进来,并让 Harness 的模型来驱动它们。没有 VulnClaw,这个插件没有意义。

本仓库不含 VulnClaw 源码;VulnClaw 由本插件的准备器安装到私有环境。
VulnClaw 的版权声明与 MIT 许可全文见 THIRD-PARTY-NOTICES.md。

同时依赖 DeepSeek Harness 的 @deepseek-ai/dsh-tools 与 @deepseek-ai/schemastery (运行时从 Harness 安装中解析,不在本仓库分发)。

本插件以 MIT 许可发布,见 LICENSE。
预览分享卡片长什么样 ↓R1145141919810/dsh-vulnclaw-pentest
分享 · DeepSeek Harness Hub
R1145141919810/dsh-vulnclaw-pentest

在 Harness 中调用 nmap 等工具完成授权渗透测试

回到顶部