前言¶
DeepSeek Harness (DSH) 是一个以插件为核心的系统,通过动态 Cordis 插件可以在会话中注入工具。在进行资产测绘、渗透测试或攻击面梳理时,往往需要同时查询 FOFA、Shodan、鹰图 Hunter、ZoomEye 和 Quake 五个平台。这些平台的搜索语法、鉴权方式和数据结构各不相同。o3set/dsh-mapscan 旨在解决这一痛点,将五个平台封装为统一的工具集,提供归一化输出结果和 API Key 持久化管理能力,使渗透测试流程可以直接通过自然语言驱动。
核心能力¶
该插件提供以下主要功能:
- 五平台统一搜索:支持 FOFA、Shodan、鹰图 Hunter、ZoomEye、Quake。
- 单 IP 测绘详情:查询指定 IP 在各平台上的详细指纹信息。
- 聚合统计:对查询结果进行字段层面的聚合分析。
- 账户与配额查询:查询各平台的账户余额、剩余积分等状态。
- Shodan DNS 工具:提供批量域名解析(域名→IP)和子域枚举(A/CNAME 记录)。
- API Key 持久化管理:支持凭证库存储与删除,支持环境变量引用。
- 归一化输出:统一输出字段包括 ip、端口、协议、域名、标题、banner、证书、地理信息、组件及风险等级。
- 零运行时依赖:仅依赖 DSH 沙箱能力(
ctx.shell和web.fetch),无额外 npm 依赖。 - 沙箱友好:支持自定义 Header(如 ZoomEye API-KEY)和 POST 请求体(如 Quake X-QuakeToken)。
- 并发与取消:声明为并发安全工具,支持调用方通过
exec.signal取消执行。
安装与前置要求¶
安装该插件仅需一条命令。它是一个 DSH bundle 插件,安装后会在当前会话或全局装配树中注册对应的工具。
O3SET/dsh-mapscan
前置要求:
* DeepSeek Harness:版本需满足 >= 0.1.7-rc.2。
* 零运行时依赖:插件本体不依赖外部 Node.js 库,构建与运行仅使用 DSH 提供的沙箱能力。
配置与使用¶
使用前需要配置各平台的 API Key。插件支持将 Key 写入凭证库,或通过环境变量引用。
1. 配置 API Key¶
通过 map_set_keys 工具设置 Key。平台参数(platform)可省略,系统会自动路由到已填写 Key 的平台。
// 配置 FOFA 和 Shodan 的 Key
map_set_keys { "fofa": "你的Key", "shodan": "你的Key" }
2. 统一搜索¶
使用 map_search 进行搜索。同样支持省略 platform 参数以进行多平台联合搜索。
// 搜索 CN 地区的 Nginx
map_search {
"platform": "fofa",
"query": "app=\"nginx\" && country=\"CN\"",
"size": 20
}
// Shodan 搜索示例
map_search {
"platform": "shodan",
"query": "nginx port:443 country:CN"
}
3. 单 IP 详情与统计¶
查询具体资产信息或进行数据聚合。
// 查询单个 IP 的详情(自动并行查询已填 Key 的平台)
map_ip_detail { "platform": "shodan", "ip": "1.1.1.1" }
// 聚合统计(自动统计已填 Key 的平台)
map_stats {
"platform": "fofa",
"query": "app=\"nginx\"",
"fields": "title,port"
}
4. 账户查询¶
查看当前配置的各平台账户状态。
map_account { "platform": "fofa" }
沙箱与运行特性¶
由于仅使用 DSH 沙箱能力,该插件在隔离环境中运行更为安全。
- 并发执行:工具声明了
isConcurrencySafe,支持并发调用。 - 调用方取消:支持转发
exec.signal到底层 shell 请求,用户中断时进程可终止。 - 零运行时依赖:没有
node_modules依赖,安装体积小,加载快。 - 沙箱友好:支持 HTTP 请求头(Header)和 POST 数据的自定义配置,满足不同平台的鉴权需求。
注意事项¶
- Config Schema:插件配置项必须符合
schemasteryschema 规范。 - 持久化范围:Key 的写入与存储仅在本机回环地址下进行。
- 参数自动路由:当
platform参数省略时,工具仅对已填写 API Key 的平台生效,未填写的平台会自动跳过。
总结¶
o3set/dsh-mapscan 为 DSH 用户提供了统一的网络空间测绘接口。通过将五个主流测绘平台的差异封装在内部,用户只需关注通用的搜索语法和结果解析,即可完成从资产发现、详情查询到统计分析的完整工作流。其零依赖和沙箱友好的特性使其适合在各类安全测试环境中使用。
- 项目主页:https://github.com/O3SET/dsh-mapscan
- 生态收录:https://www.skillhub.cn/plugins/O3SET/dsh-mapscan