mcpField
V
voyager-net

voyager-net

本地服务
github.com/dir-ai安全014 周前更新

关于 voyager-net

voyager-net 是面向基础设施运维人员的授权只读审计工具,用于检查自有的单个主机或域名。它检查 DNS、端口、TLS 和 HTTP 安全状况,并提供带严重性、置信度和修复说明的发现。

主要功能

  1. 01DNS 记录与邮件安全检查
  2. 02有限范围的 TCP 端口探测
  3. 03服务 Banner 识别
  4. 04TLS 证书与协议检查
  5. 05分级 HTTP 安全检查
  6. 06标注严重性和置信度的发现

适用场景

  1. 01检查 DNS 和邮件配置
  2. 02检查自有主机暴露的服务
  3. 03评估 TLS 证书和协议设置
  4. 04发现 HTTP 安全响应头缺失

MCP 相关

向 MCP 客户端提供 `scan_host` 工具。扫描默认拒绝,须设置 `authorized: true`。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

mcp.json · 通用配置
{
"mcpServers": {
"dir-ai-voyager-net": {
"command": "npx",
"args": [
"-y",
"@dir-ai/voyager-net"
]
}
}
}
启动命令npx -y @dir-ai/voyager-net

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
npm@dir-ai/voyager-net0.14.0

工具

1

收录的工具列表 · 更新于 2 周前

参数类型必填说明
portsarray否
targetstring是你拥有的单个主机或域。
timeoutMsinteger否
authorizedboolean否你声明拥有此目标或获准测试此目标。必需。

详细介绍

voyager-net

Voyager 的网络器官——对你拥有的单台主机或域名进行安全、只读、经授权的审计,让 AI Agent 找出基础设施中的漏洞并说明修复方法。

Voyager 探查网站(@dir-ai/voyager)、代码库 (@dir-ai/voyager-repo),以及——在这里——网络。这是它的感知器官:负责发现问题。应用修复(“手”)是单独的、需经授权的器官,这是刻意的设计——AI 绝不能自行更改线上基础设施。

voyager-net scan yourhost.example.com --authorized
voyager-net scan 10.0.5.20 --authorized --ports 22,80,443,5432

检查内容(只读)

  • 仅解析一次 + 固定 IP(包括每次探测中的 HTTP)——域名只解析一次,并通过自定义 socket 查找,将 DNS、端口、TLS 和 HTTP 探测全部固定到同一个 IP,因此扫描过程中不会重新解析域名(杜绝 HTTP 的 DNS 重绑定路径)。解析出的 IP 会通过 ipaddr.js 进行规范分类,并拒绝任何非公共地址——环回、私有、链路本地、CGNAT、NAT64、IPv4 映射的 IPv6 地址以及元数据地址。
  • DNS——A/AAAA/MX/TXT/CAA 记录 + 电子邮件/CA 配置卫生检查,并且会评估记录内容:SPF +all(任何人都可以发送)和 DMARC p=none(不执行策略)会被列为发现项,而不仅仅是检查记录是否存在。所有由目标控制的记录都会经过注入防护处理。
  • 端口——使用普通 TCP connect() 对常见服务进行有限探测,并提供真实状态(开放 / 关闭 / 受过滤 / 无法连接——操作系统超时会显示为受过滤,而非关闭);不使用 SYN 技巧、不发送载荷,也不扫描端口范围/CIDR。
  • 服务指纹识别——读取服务在连接时主动提供的 banner(SSH、SMTP、FTP、POP3、IMAP),以识别产品及版本(经过防护处理)。
  • 未授权服务检测——对于预期需要身份验证的服务(Redis、Memcached、Elasticsearch、CouchDB、Docker API、ZooKeeper),会发送一条无害、只读的协议问候消息(例如 Redis PING),只有在服务未要求凭据便作出响应时,才会报告该服务暴露。明确说明范围:此项以及 TLS/HTTP 检查器确实会发送字节(ClientHello、GET /、协议问候消息)——此审计是主动但安全的(不写入、不更改、不利用漏洞),并且仅针对你授权的主机运行。
  • TLS——完整列出接受的协议版本(而不仅是协商出的版本);根据系统信任库验证证书链(报告任何验证失败,而不只是自签名证书);检查 RSA 密钥长度(EC/EdDSA 除外)、证书到期时间和颁发者。
  • HTTP 配置卫生检查(分级)——状态、Server banner、HSTS/CSP 质量(检查较弱的 max-age、unsafe-inline/通配符,而不仅是是否存在)、点击劫持防护、逐个 Cookie 检查 Secure/HttpOnly(单独评估每个 Cookie)、CORS 通配符以及危险的凭据与来源组合、版本泄露,以及 HTTP→HTTPS 重定向。所有检查都固定到经过审核的 IP。
  • 如实报告部分结果——开放的 TLS/HTTP 端口若无法检查,会报告为未知,绝不会归入“未发现问题”的结论。

对于指出已检测服务及版本的发现项,建议将其与 CVE 信息源进行核对——voyager-net 会检测版本;CVE 匹配仅作为查询,而 CVE 探测(Nuclei 等)不在范围内——这属于主动测试,是单独且限制更严格的能力,并非只读感知。

每条发现都包含严重性、置信度和明确的修复方法——例如:“证书将在 6 天后过期 → 续期并自动配置 ACME”、“mysql 可从公网访问 → 限制为私有网络”、“没有 DMARC → 发布 v=DMARC1; p=quarantine”。

安全 — 不容妥协

  • 仅限已授权操作,默认拒绝。 未使用 --authorized(CLI)/ authorized:true (MCP)时会拒绝执行。你必须确认自己拥有目标或有权测试目标。
  • 仅限单个主机或域名。 不接受 CIDR 范围、IP 范围、列表、通配符和 URL — 它绝不会变成批量扫描器。
  • 云元数据端点会被硬性拦截(169.254.169.254 等)。
  • 只读。 它绝不会应用修复、利用漏洞、泛洪或修改任何内容。 并发数和超时时间均有限制;只进行普通 TCP 连接,不会像扫描器那样进行 SYN 扫描。
  • 将不可信输出进行隔离。 每个由目标控制的字符串 — banner、 证书主题/颁发者/SAN、Server/CSP 标头、CORS 值,以及 DNS TXT/CAA/MX 记录 — 在模型看到之前都会经过注入内容剥离。
  • 退出代码: 0 无问题 · 1 发现高危/严重问题 · 2 工具错误/未获授权。

扫描不属于你或未经明确许可测试的基础设施,在你所在的司法管辖区可能违法。 此工具仅用于审计你自己的系统。

MCP

voyager-net mcp

工具:scan_host — 执行相同的审计,默认拒绝(authorized 默认关闭)。

库

import { scan } from '@dir-ai/voyager-net'
const brief = await scan('yourhost.example.com', { authorized: true })
const urgent = brief.findings.filter((f) => f.severity === 'high' || f.severity === 'critical')

路线图

在相同的信任约束下封装 Prowler/Steampipe(云配置)、Trivy(CVE)、Hubble(流量);关联攻击路径;检测偏差(IaC 声明 ↔ 实际状态)。然后 — 单独且需征得同意 — 提供修复“执行能力”。

许可证

MIT

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。