关于 Threatfox
Threatfox 是基于 abuse.ch 社区 IOC 数据的 MCP 服务,面向查询威胁指标的安全工作流。它区分哈希作为恶意样本与作为 IOC 两种关系,并可本地通过 stdio 运行。
主要功能
- 01搜索 IOC
- 02查询近期 IOC
- 03跨两种关系搜索哈希
- 04按恶意软件名称搜索
适用场景
- 01核查 IP、域名或其他指标
- 02查看近期公布的威胁指标
- 03判断哈希对应样本还是 IOC
MCP 相关
向 MCP 客户端提供 IOC 与恶意软件搜索工具;可通过 Pipeworx 网关连接,也可作为本地 stdio MCP 服务运行。
配置
远程服务无需本地安装。选择你使用的客户端,复制配置或使用一键安装。
https://gateway.pipeworx.io/threatfox/mcpclaude mcp add --transport http pipeworx-io-threatfox https://gateway.pipeworx.io/threatfox/mcp{"mcpServers":{"pipeworx-io-threatfox":{"type":"http","url":"https://gateway.pipeworx.io/threatfox/mcp"}}}在 Cursor 中打开{"servers":{"pipeworx-io-threatfox":{"type":"http","url":"https://gateway.pipeworx.io/threatfox/mcp"}}}在 VS Code 中打开{"mcpServers":{"pipeworx-io-threatfox":{"type":"http","url":"https://gateway.pipeworx.io/threatfox/mcp"}}}{"mcpServers":{"pipeworx-io-threatfox":{"serverUrl":"https://gateway.pipeworx.io/threatfox/mcp"}}}命令在终端中运行;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
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。