@reneturcios/threatkb

中文文档
0.1.0发布于 2026/11/02MITES Module

查询本地MITRE攻击和ck数据集:通过ID或模糊名称查询技术、完整的技术细节、缓解、检测和企业攻击STIX文件中的策略。一个bin提供一个小型CLI和一个studio MCP服务器。

中文使用文档
文档目录7 节
  1. 安装
  2. 命令行界面
  3. MCP服务器
  4. 工具
  5. 如何读取STIX数据集
  6. 开发
  7. 许可证

threatkb

threatkb回答有关MITRE攻击和攻击知识库的问题 从您保存在自己机器上的数据集文件中:查看一种技术 根据其ATT&CK id或大致名称,提取完整记录 对于一项技术(平台,杀伤链阶段,参考, 子技术(缓解、检测),列出缓解或 检测绑定到一个技术,并列出战术数据集 知道。一个二进制文件提供命令行接口和一个 studio MCP服务器。

这背后没有捆绑的数据集和网络服务 工具。类中的STIX包 enterprise-attack.json 形状(MITRE为 企业矩阵)与 THREATKB_DATA_FILE 环境 变量。当变量未设置或文件无法读取时, 查询命令失败,命名丢失的数据集时出现错误 而不是猜测- threatkb从不发明攻击和攻击数据。 threatkb info 仍然在那个状态下回答和报告 dataset_loaded: false 有理由的。

安装

THREATKB_DATA_FILE=/path/to/enterprise-attack.json npx @reneturcios/threatkb tactics

或者运行容器镜像:

docker run -i -e THREATKB_DATA_FILE=/data/enterprise-attack.json \
  -v /path/to/data:/data ghcr.io/cloudcorprecords/threatkb

容器默认为MCP服务器(见下文)。通过CLI 参数将其用作CLI。

命令行界面

export THREATKB_DATA_FILE=/path/to/enterprise-attack.json

threatkb query --id T1059
threatkb query --name "command and scripting"
threatkb full --id T1059
threatkb full --name PowerShell
threatkb mitigations T1059
threatkb detections T1059
threatkb tactics
threatkb info

threatkb --version

结果打印为JSON。技术搜索返回 {results: [...], count: N};缓解和检测查询 返回 {technique_id, results: [...], count: N} 为了那个 询问的技术,并且未知的技术id是错误的。 退出代码: 0 成功, 1 当查询失败时(包括 丢失的数据集), 2 使用错误。

查找规则:id查找是精确的,不区分大小写 (t1059 发现 T1059). 名称查找是模糊的-确切的名称 首先是以查询开头的名称,然后是包含 它,然后命名包含查询的每个单词。

MCP服务器

一个箱子能同时满足两个人的需要。这个 mcp subcommand启动stdio MCP 服务器:

npx -y @reneturcios/threatkb mcp

MCP客户端配置:

{
  "mcpServers": {
    "threatkb": {
      "command": "npx",
      "args": ["-y", "@reneturcios/threatkb", "mcp"],
      "env": {
        "THREATKB_DATA_FILE": "/path/to/enterprise-attack.json"
      }
    }
  }
}

工具

工具输入它返回什么
query_techniquetechnique_id 或者 tech_name (实践中需要一个)匹配技术总结如下 {results, count}.
search_technique_fulltechnique_id 或者 tech_name所有细节都是相同的:平台,杀伤链阶段,参考,子技术,缓解,检测。
query_mitigationstechnique_id (必需)与该技术相关的缓解措施。
query_detectionstechnique_id (必需)与该技术相关的检测。
list_tactics(没有)数据集中的每个策略都是 {results, count}.
server_info(没有)服务器名称、版本、数据集路径、是否加载数据集以及加载时的对象计数。

如何读取STIX数据集

threatkb对STIX的一个刻意简化的切片进行索引 模型,记录在这里,所以限制是明确的:

  • 技术是 attack-pattern 对象;at&ck id来了 从 external_references 带有源名称的条目 mitre-attack. 战术来自技术 kill_chain_phases 阶段名称。
  • 策略 x-mitre-tactic 对象( x_mitre_shortname)。
  • 措施之一是 course-of-action 对象链接到 技巧: mitigates 的关系。
  • 检测是 detects 关系指向 技巧;关系的来源(通常是一个人) x-mitre-data-component)被解析,包括其数据 链接时的源名称。技术的 x_mitre_detection 指导文本也作为检测条目返回。
  • 子技术由 x_mitre_is_subtechnique 或者一个 虚线标识;父母来自于 subtechnique-of 关系存在时,否则从id前缀。

撤销/弃用标志、分析、数据源覆盖 评分和组/软件归属不在讨论范围之内。

开发

npm install
npm run build   # tsc -> dist/
npm test        # node test runner over test/*.test.ts, on a hand-written STIX fixture, no real dataset needed
npm run dev     # run the CLI from source via tsx

许可证

MIT -见 LICENSE.

版本与发布记录

@reneturcios/threatkb 共发布 2 个版本,首次发布于 2026/11/02;过去 12 个月发布了 2 个版本。

版本发布日期距今
0.1.0latest2026/11/021 天前
0.0.0-stage2026/11/021 天前

关于 @reneturcios/threatkb 的常见问题

@reneturcios/threatkb 是什么?

查询本地MITRE攻击和ck数据集:通过ID或模糊名称查询技术、完整的技术细节、缓解、检测和企业攻击STIX文件中的策略。一个bin提供一个小型CLI和一个studio MCP服务器。

如何安装 @reneturcios/threatkb?

在项目目录运行 npm install @reneturcios/threatkb,或使用 pnpm add / yarn add / bun add。它还提供命令行工具 threatkb,可以用 npx threatkb 直接运行。

@reneturcios/threatkb 支持 TypeScript 吗?

该包的 package.json 没有声明类型入口。需要类型提示时,可以在 npm 上查找社区维护的 @types/reneturcios__threatkb 是否存在。

@reneturcios/threatkb 支持 ESM 还是 CommonJS?

以 ES Module 形式发布,推荐使用 import 引入。在 CommonJS 项目中,Node.js 20.19+ / 22.12+ 可以直接 require() 不含顶层 await 的 ES Module,更早的版本需要改用动态 import()。

@reneturcios/threatkb 需要什么版本的 Node.js?

package.json 的 engines 字段要求 Node.js >=20。版本不符时 npm 默认只给出警告,开启 engine-strict 后会拒绝安装。

@reneturcios/threatkb 可以商用吗?

@reneturcios/threatkb 使用 MIT 许可。宽松许可:允许商业使用、修改和再分发,通常只需在分发时保留原版权与许可声明。以上为概括,不构成法律意见,请以许可原文为准。

@reneturcios/threatkb 还在维护吗?

最新版本 0.1.0 发布于 2026/11/02(1 天前);至今共发布 2 个版本,其中过去 12 个月发布了 2 个;首次发布于 2026/11/02。发布频率只是参考信号:功能稳定的工具可能很少需要更新,建议结合源码仓库的 issue 和提交记录判断。