mcpField
T
Threatfox

Threatfox

远程服务
pipeworx.io安全05 周前更新

关于 Threatfox

Threatfox 是基于 abuse.ch 社区 IOC 数据的 MCP 服务,面向查询威胁指标的安全工作流。它区分哈希作为恶意样本与作为 IOC 两种关系,并可本地通过 stdio 运行。

主要功能

  1. 01搜索 IOC
  2. 02查询近期 IOC
  3. 03跨两种关系搜索哈希
  4. 04按恶意软件名称搜索

适用场景

  1. 01核查 IP、域名或其他指标
  2. 02查看近期公布的威胁指标
  3. 03判断哈希对应样本还是 IOC

MCP 相关

向 MCP 客户端提供 IOC 与恶意软件搜索工具;可通过 Pipeworx 网关连接,也可作为本地 stdio MCP 服务运行。

配置

远程服务无需本地安装。选择你使用的客户端,复制配置或使用一键安装。

服务地址https://gateway.pipeworx.io/threatfox/mcp
一键复制安装命令
Claude CodeTerminal
Cursor.cursor/mcp.json
VS Code.vscode/mcp.json
Claude Desktopclaude_desktop_config.json
Windsurf~/.codeium/windsurf/mcp_config.json

命令在终端中运行;JSON 粘贴到对应客户端的 MCP 配置后重启。需要授权的服务会在首次连接时提示登录。

工具

详细介绍

@pipeworx/threatfox

ThreatFox(abuse.ch)MCP — 社区 IOC 情报源。

属于 Pipeworx — 一个 MCP 网关,连接 AI Agent 与 1684+ 个实时数据源。

工具

  • search_ioc(indicator, exact_match?)
  • recent_iocs(days?)
  • search_hash(hash) — 见下文,它会发起两次上游查询
  • search_malware(malware, limit?)

search_hash 会查询两种哈希关系

ThreatFox 会在两个互不相关的位置存储哈希,而 abuse.ch 自己的 query: "search_hash" 只会搜索其中一个:

关系含义上游查询
sample_to_c2该哈希对应一个恶意软件样本;行记录的是它所连接的 C&C 服务器search_hash
hash_listed_as_ioc该哈希本身被发布为指标(threat_type: "payload")search_ioc

只查询第一种关系,导致这个工具在截至 2026-09-16 的 30 天内连续 34 次返回空结果。这从来不是端点故障 — 对格式错误的哈希,abuse.ch 会返回 illegl_hash(他们的拼写错误);对格式正确的哈希,则会返回 no_result,说明我们的请求一直都已被解析并接受。问题在于查询错了: da168c3ff95c749beec0a2f29a1e6b82 取自此工具包自己的 recent_iocs,用 search_hash 查询没有结果,而用 search_ioc 查询则会返回完整记录。

现在,该工具会尝试两种查询,并通过 matched_relation 指明哪个查询返回了结果(两者均无结果时为 null,同时附带 searched_relations)。只有第一种查询没有结果时,才会执行第二次调用,因此有结果时仍只需一次请求。不要把两种关系合并成一个不加标注的列表:“此文件会连接到那个 C2”与“此文件本身被标记为 payload”是两种不同的安全事实。

这里的空结果是真实答案。 ThreatFox 追踪的是 C&C 基础设施,而非样本 — 大多数哈希不属于这两种关系中的任何一种。根据 2026-09-16 的测量结果,最近 MalwareBazaar 样本哈希中有 40 个仅 7 个解析成功;ThreatFox 自身的哈希 IOC 中有 88 个仅 2 个解析成功。要获取样本元数据,请使用 malwarebazaar 工具包(同一供应商、同一密钥),它会索引每个样本。

已提交的示例会按设计过期。 abuse.ch 会使所有超过六个月的 IOC 过期(“超过 6 个月的 IOC 不再通过 ThreatFox API 和 ThreatFox Export 提供”),因此 abuse.ch 自己文档中的示例哈希 2151c4b970eff0071948dbbc19066aa4 如今会返回 no_result — 它指向的是 2021 年的 IOC id 4726。示例过期时,请重新验证 workers/gateway/src/tool-examples.json 中的示例;切勿提交诸如 d41d8cd98f00b204e9800998ecf8427e(空字符串的 MD5)这样的占位符,因为它曾让每个调用方都误解了正确格式。

身份验证

  • 平台密钥: 网关环境变量 PLATFORM_ABUSECH_KEY(与 malwarebazaar 共用)。
  • 自带密钥: 在 https://auth.abuse.ch 注册后,添加 ?_apiKey=<key>。

数据源

https://threatfox-api.abuse.ch/api/v1/ — 使用 Auth-Key 标头,以 JSON 正文发送 POST 请求。

快速开始

添加到你的 MCP 客户端(Claude Desktop、Cursor、Windsurf 等):

{
  "mcpServers": {
    "threatfox": {
      "url": "https://gateway.pipeworx.io/threatfox/mcp"
    }
  }
}
此端点实际提供的内容

https://gateway.pipeworx.io/threatfox/mcp 上的 tools/list 会返回上表中的工具,以及 Pipeworx 共享元工具——ask_pipeworx、 discover_tools、search_within、remember/recall 及其他网关范围内的工具。因此,你看到的工具数量会多于表格所列:目前,单个工具包端点除了该工具包自己的工具外,还会列出大约 30 个共享工具。连接的 initialize 响应会说明其确切范围,并且是当天有效的权威信息。

这是有意为之,并非意外的多路复用。元工具可以让限定范围的连接回答此工具包未涵盖的问题——通过 ask_pipeworx 路由到整个目录——而无需添加第二个 MCP 服务。目前无法在不包含这些元工具的情况下挂载工具包端点;如果额外的架构定义占用的上下文超过了路由带来的价值,请连接完整网关一次,而不是连接多个工具包端点。

或者,连接完整的 Pipeworx 网关,直接列出所有工具包的工具,而不只是此工具包的工具:

{
  "mcpServers": {
    "pipeworx": {
      "url": "https://gateway.pipeworx.io/mcp"
    }
  }
}

两个 URL 都连接到同一个网关和同样的 1684+ 个数据源。唯一的区别是哪个工具包的工具会被直接列出;从任一端点都可以通过 ask_pipeworx 访问所有工具。

没有 MCP 客户端?通过 HTTP 调用

curl -X POST https://gateway.pipeworx.io/v1/tools/search_ioc \
  -H 'Content-Type: application/json' \
  -d '{"indicator":"105.72.55.52:8080"}'

首次调用无需账户。检查任意工具:GET https://gateway.pipeworx.io/v1/tools/search_ioc。查找工具:向 https://gateway.pipeworx.io/v1/tools/search_packs 发送 POST 请求,并提供 {"query":"..."}。

独立运行(无需网关账户)

此软件包也可以作为本地 stdio MCP 服务运行——无需 Pipeworx 账户,也无需与网关往返通信:

{
  "mcpServers": {
    "threatfox": {
      "command": "npx",
      "args": ["-y", "@pipeworx/mcp-threatfox"]
    }
  }
}

或者直接运行它以确认服务已启动:

npx -y @pipeworx/mcp-threatfox

它通过 stdin/stdout 使用 MCP,并针对此工具包自身的工具响应 initialize/tools/list/tools/call——不包含上述网关连接提供的任何共享元工具。源代码相同,工具相同,但没有 ask_pipeworx 路由。

与 ask_pipeworx 配合使用

除了直接调用工具,你还可以用通俗的英语提问——这既适用于上面的工具包端点,也适用于完整网关:

ask_pipeworx({ question: "your question about Threatfox data" })

网关会选择合适的工具并自动填入参数。

更多信息

许可证

MIT

评论

支持 Markdown

第一次接触 MCP?

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

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