返回市场
开放CTI-MCP

开放CTI-MCP

作者:Spathodea-Network31 星标更新:2025-01-30

项目介绍

技术文档摘要

OpenCTI MCP Server

smithery 徽章 繁體中文

<a href="https://glama.ai/mcp/servers/ml61kiz1gm"><img width="380" height="200" src="https://gips3.baidu.com/it/u=793048021,1739764955&fm=3081&app=3081&f=PNG?w=760&h=400" alt="OpenCTI Server MCP 服务器" /></a>

概述

OpenCTI MCP 服务器是一个模型上下文协议(MCP)服务器,它提供了与 OpenCTI(开放网络威胁情报)平台的无缝集成。它通过标准化接口实现查询和检索威胁情报数据。

特性

  • 获取和搜索威胁情报数据
    • 获取最新报告并按ID搜索
    • 搜索恶意软件信息
    • 查询妥协指标
    • 搜索威胁行为者
  • 用户和组管理
    • 列出所有用户和组
    • 根据ID获取用户详情
  • STIX 对象操作
    • 列出攻击模式
    • 根据名称获取活动信息
  • 系统管理
    • 列出连接器
    • 查看状态模板
  • 文件操作
    • 列出所有文件
    • 根据ID获取文件详情
  • 参考数据访问
    • 列出标记定义
    • 查看可用标签
  • 自定义查询限制
  • 完整支持 GraphQL 查询

先决条件

  • Node.js 16 或更高版本
  • 访问 OpenCTI 实例
  • OpenCTI API 令牌

安装

通过 Smithery 安装

要通过 Smithery 自动安装 OpenCTI Server for Claude Desktop:

npx -y @smithery/cli install opencti-server --client claude

手动安装

# 克隆仓库
git clone https://github.com/yourusername/opencti-mcp-server.git

# 安装依赖
cd opencti-mcp-server
npm install

# 构建项目
npm run build

配置

环境变量

复制 .env.example.env 并更新您的 OpenCTI 凭证:

cp .env.example .env

必需的环境变量:

  • OPENCTI_URL:您的 OpenCTI 实例 URL
  • OPENCTI_TOKEN:您的 OpenCTI API 令牌

MCP 设置

在您的 MCP 设置位置创建一个配置文件:

{
  "mcpServers": {
    "opencti": {
      "command": "node",
      "args": ["path/to/opencti-server/build/index.js"],
      "env": {
        "OPENCTI_URL": "${OPENCTI_URL}",  // 将从 .env 加载
        "OPENCTI_TOKEN": "${OPENCTI_TOKEN}"  // 将从 .env 加载
      }
    }
  }
}

安全注意事项

  • 不要将 .env 文件或 API 令牌提交到版本控制
  • 保护好您的 OpenCTI 凭证
  • .gitignore 文件已配置以排除敏感文件

可用工具

报告

get_latest_reports

检索最近的威胁情报报告。

{
  "name": "get_latest_reports",
  "arguments": {
    "first": 10  // 可选,默认为 10
  }
}

get_report_by_id

根据ID检索特定报告。

{
  "name": "get_report_by_id",
  "arguments": {
    "id": "report-uuid"  // 必需
  }
}

搜索操作

search_malware

在 OpenCTI 数据库中搜索恶意软件信息。

{
  "name": "search_malware",
  "arguments": {
    "query": "ransomware",
    "first": 10  // 可选,默认为 10
  }
}

search_indicators

搜索妥协指标。

{
  "name": "search_indicators",
  "arguments": {
    "query": "domain",
    "first": 10  // 可选,默认为 10
  }
}

search_threat_actors

搜索威胁行为者信息。

{
  "name": "search_threat_actors",
  "arguments": {
    "query": "APT",
    "first": 10  // 可选,默认为 10
  }
}

用户管理

get_user_by_id

根据ID检索用户信息。

{
  "name": "get_user_by_id",
  "arguments": {
    "id": "user-uuid"  // 必需
  }
}

list_users

列出系统中的所有用户。

{
  "name": "list_users",
  "arguments": {}
}

list_groups

列出所有组及其成员。

{
  "name": "list_groups",
  "arguments": {
    "first": 10  // 可选,默认为 10
  }
}

STIX 对象

list_attack_patterns

列出系统中的所有攻击模式。

{
  "name": "list_attack_patterns",
  "arguments": {
    "first": 10  // 可选,默认为 10
  }
}

get_campaign_by_name

根据名称检索活动信息。

{
  "name": "get_campaign_by_name",
  "arguments": {
    "name": "campaign-name"  // 必需
  }
}

系统管理

list_connectors

列出所有系统连接器。

{
  "name": "list_connectors",
  "arguments": {}
}

list_status_templates

列出所有状态模板。

{
  "name": "list_status_templates",
  "arguments": {}
}

文件操作

get_file_by_id

根据ID检索文件信息。

{
  "name": "get_file_by_id",
  "arguments": {
    "id": "file-uuid"  // 必需
  }
}

list_files

列出系统中的所有文件。

{
  "name": "list_files",
  "arguments": {}
}

参考数据

list_marking_definitions

列出所有标记定义。

{
  "name": "list_marking_definitions",
  "arguments": {}
}

list_labels

列出所有可用标签。

{
  "name": "list_labels",
  "arguments": {}
}

贡献

欢迎贡献!请随时提交拉取请求。

许可证

MIT 许可证