SuperAPI AI 工具集

mcp-dnstwist

mcp-dnstwist 是一个面向 AI 智能体的 MCP 服务器,用于调用 DNS 模糊测试工具 dnstwist,帮助发现仿冒域名的可疑注册:包括拼写错误、同形异义字符、比特翻转、交换顶级域名等变体。对每个已注册的相似域名,它可以报告 DNS 记录、其邮件服务器是否可能拦截你的邮件、WHOIS 注册信息,以及其网页与你的网页的相似程度。该项目为独立项目,与 dnstwist 官方无隶属关系;仅可用于扫描你拥有或获得授权评估的域名。需注意:1.0.4 及更早版本存在命令注入漏洞(GHSA-p4jr-h3rj-2rw4),已弃用,请使用 1.0.5 或更新版本;通过 npx -y @burtthecoder/mcp-dnstwist 可始终获取最新版。使用要求为 Node.js 20.3 或更新版本,并安装 dnstwist(pipx install "dnstwist[full]")或使用 Docker,无需 API 密钥。

访问官网

工具介绍

用途

mcp-dnstwist 是一个 MCP(Model Context Protocol)服务器,让 AI 智能体能够运行 dnstwist 这一 DNS 模糊测试工具,从而找出模仿自己域名的可疑域名——包括拼写错误(typos)、同形异义字符(homoglyphs)、比特翻转(bit flips)、交换顶级域名(swapped TLDs)等。

该项目是独立项目,与 dnstwist 官方无隶属关系。仅可用于扫描你拥有或获得授权评估的域名。

主要能力

仿冒域名发现

可使用 dnstwist 的全部域名排列算法,也可仅选择你指定的算法。

威胁信号

对每个已注册的相似域名,可报告:

  • DNS 记录
  • 可拦截邮件的开放邮件中继(mxcheck)
  • WHOIS 创建日期与注册商
  • HTTP 与 SMTP 横幅
  • 网页相似度(ssdeep 或 TLSH),用于识别克隆的钓鱼网站

多种运行方式

可使用本地安装的 dnstwist、官方 dnstwist Docker 镜像,或自包含的 mcp-dnstwist 镜像。

安全加固

不使用 shell,严格输入校验,并设有时间限制,可停止并清理长时间运行的扫描。

测试

使用伪造的 docker 与 dnstwist 可执行文件进行端到端测试,在 CI 中于 Node 20、22 和 24 上运行。

使用方式

前提要求

  • Node.js 20.3 或更新版本
  • 安装 dnstwist(pipx install "dnstwist[full]")或 Docker
  • 无需 API 密钥

连接客户端

针对 Claude Desktop、VS Code、Docker、Smithery 以及从源码运行的方式,请参阅“Connect a client”文档。

连接后,可以向智能体提问,例如:“Which lookalike domains of example.com are registered, and could any of them intercept email?”(example.com 有哪些相似域名已注册,其中是否有能拦截邮件的?)更多提示词示例见“example workflows”。

工具

只有一个工具:fuzz_domain。完整参数与真实示例输出见“tool reference”。

限制与安全说明

该工具的调用参数来自 AI 模型,而模型读取的内容可能影响其行为,因此服务器将参数视为不可信输入:

  • 不使用 shell:dnstwist 通过 execFile 与参数数组启动;若出现基于 shell 的 API,测试会使构建失败。
  • 严格校验:域名必须为主机名,域名服务器必须为 IPv4 或 DoH URL,数字与名称来自固定集合;任何值都不能以 - 开头。
  • 受限运行:设有时间限制,并在超时、取消与关闭时清理进程与容器。

Docker 运行器需要访问 Docker 守护进程(在多数系统上等同于 root 权限)。本地运行器或自包含镜像可避免这一要求。详情见“security model”。漏洞请私下报告,参见 SECURITY.md。

版本安全提醒

1.0.4 及更早版本存在命令注入漏洞(GHSA-p4jr-h3rj-2rw4),已被弃用。请使用 1.0.5 或更新版本;npx -y @burtthecoder/mcp-dnstwist 始终获取最新版。

故障排除

  • 提示“Neither dnstwist nor Docker is available”:安装 dnstwist(pipx install "dnstwist[full]")或启动 Docker。桌面客户端可能无法识别 shell 的 PATH。
  • 在 Apple Silicon 上速度慢:dnstwist Docker 镜像仅支持 amd64。请在本地安装 dnstwist,它会自动被使用。
  • 提示“did not finish within N seconds”:加入 IPv4 域名服务器(DNS-over-HTTPS 较慢)、关闭 whois、lsh 或 banners,或调高 DNSTWIST_TIMEOUT_SECONDS。

更多内容见“troubleshooting guide”。

许可

MIT 许可,详见 LICENSE。