mcpField
C
collecting-threat-intelligence-with-misp

collecting-threat-intelligence-with-misp

github.com/mukul975安全35.2k163 次安装8 周前更新
代码仓库

关于 collecting-threat-intelligence-with-misp

该技能介绍如何部署和使用 MISP 收集、整理、关联与共享威胁情报,面向安全运营团队。内容涵盖威胁源配置、PyMISP API 自动化及 IOC 导出。

主要功能

  1. 01通过 Docker 部署 MISP
  2. 02配置多种威胁情报源
  3. 03使用 PyMISP 搜索和管理事件
  4. 04聚合并关联 IOC
  5. 05导出 STIX 2.1 数据

适用场景

  1. 01集中收集社区和商业威胁源
  2. 02自动化获取及处理 IOC
  3. 03将威胁数据导出供下游工具使用
  4. 04建立定期情报采集流程

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/mukul975/anthropic-cybersecurity-skills --skill collecting-threat-intelligence-with-misp

安装后在 Claude Code 中输入/collecting-threat-intelligence-with-misp确认已加载。

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

LICENSE
assets/
template.md
references/
api-reference.md
standards.md
workflows.md
scripts/
agent.py
process.py

详细介绍

使用 MISP 收集威胁情报

概述

MISP(Malware Information Sharing Platform,恶意软件信息共享平台)是一个开源威胁情报平台,用于收集、共享、存储和关联定向攻击的妥协指标(IOC)、威胁情报、金融欺诈信息、漏洞信息或反恐信息。本技能涵盖部署 MISP、配置威胁源、使用 PyMISP API 进行程序化访问,以及构建从多个社区和商业来源聚合 IOC 的自动化收集流水线。

何时使用

  • 管理需要使用 misp 收集威胁情报的安全运营时
  • 提升安全项目成熟度和运营流程时
  • 为安全团队工作流建立标准化流程时
  • 将威胁情报或漏洞数据集成到运营中时

前置条件

  • Python 3.9+ 并安装 pymisp 库
  • 用于 MISP 部署的 Docker 和 Docker Compose
  • 了解 STIX 2.1 和 TAXII 2.1 协议
  • 熟悉 IOC 类型:哈希、IP 地址、域名、URL、电子邮件地址
  • 可访问 MISP 社区源(circl.lu、botvrij.eu)的网络

关键概念

MISP 架构

MISP 采用基于事件的模型运行,威胁情报被组织为包含属性(IOC)、对象(属性的结构化分组)、星系(链接到 MITRE ATT&CK 的威胁行为者/恶意软件集群)以及用于分类的标签的事件。MISP 实例之间的同步通过 HTTPS 使用 API 密钥认证,采用拉取/推送模型。

源类型
  • MISP 源:来自 MISP 社区的原生 JSON/CSV 源(CIRCL OSINT、botvrij.eu)
  • 自由文本源:解析 IOC 的非结构化文本源(abuse.ch、Feodo Tracker)
  • TAXII 源:来自商业和政府来源的 STIX/TAXII 2.1 兼容源
  • CSV 源:具有可配置列映射的结构化 CSV 源
PyMISP API

PyMISP 是通过 REST API 访问 MISP 平台的官方 Python 库。它支持获取事件、添加/更新事件和属性、上传样本,以及在整个 MISP 数据集中搜索。认证使用在 Authorization 头中传递的 API 密钥。

工作流

步骤 1:使用 Docker 部署 MISP
git clone https://github.com/MISP/misp-docker.git
cd misp-docker
cp template.env .env
# Edit .env to set MISP_BASEURL, MISP_ADMIN_EMAIL, MISP_ADMIN_PASSPHRASE
docker compose up -d
步骤 2:配置默认源

通过 Web UI 或 API 启用内置 MISP 源:

from pymisp import PyMISP

misp = PyMISP('https://misp.local', 'YOUR_API_KEY', ssl=False)

# List available feeds
feeds = misp.feeds()
for feed in feeds:
    print(f"{feed['Feed']['id']}: {feed['Feed']['name']} - Enabled: {feed['Feed']['enabled']}")

# Enable CIRCL OSINT Feed
misp.enable_feed(feed_id=1)
misp.cache_feed(feed_id=1)
misp.fetch_feed(feed_id=1)
步骤 3:添加自定义威胁源
# Add abuse.ch URLhaus feed
feed_data = {
    'name': 'URLhaus Recent URLs',
    'provider': 'abuse.ch',
    'url': 'https://urlhaus.abuse.ch/downloads/csv_recent/',
    'source_format': 'csv',
    'input_source': 'network',
    'publish': False,
    'enabled': True,
    'headers': '',
    'distribution': 0,
    'sharing_group_id': 0,
    'tag_id': 0,
    'default': False,
    'lookup_visible': True
}
result = misp.add_feed(feed_data)
print(f"Feed added: {result}")
步骤 4:程序化事件搜索和检索
from pymisp import PyMISP, MISPEvent
from datetime import datetime, timedelta

misp = PyMISP('https://misp.local', 'YOUR_API_KEY', ssl=False)

# Search for events from the last 7 days
result = misp.search(
    controller='events',
    date_from=(datetime.now() - timedelta(days=7)).strftime('%Y-%m-%d'),
    type_attribute='ip-dst',
    to_ids=True,
    pythonify=True
)

for event in result:
    print(f"Event {event.id}: {event.info}")
    for attr in event.attributes:
        if attr.type == 'ip-dst' and attr.to_ids:
            print(f"  IOC: {attr.value} (category: {attr.category})")
步骤 5:为下游工具导出 IOC
# Export as STIX 2.1 bundle
stix_output = misp.search(
    controller='events',
    return_format='stix2',
    tags=['tlp:white'],
    published=True
)

# Export IDS-flagged attributes as Suricata rules
suricata_rules = misp.search(
    controller='attributes',
    return_format='suricata',
    to_ids=True,
    type_attribute=['ip-dst', 'domain', 'url']
)

# Export as CSV for SIEM ingestion
csv_output = misp.search(
    controller='attributes',
    return_format='csv',
    type_attribute='ip-dst',
    to_ids=True
)

验证标准

  • MISP 实例已部署并可通过 HTTPS 访问
  • 至少启用 3 个社区源并成功获取数据
  • PyMISP 脚本可以认证、搜索事件并检索 IOC
  • 事件包含正确标记和分类的属性
  • 导出为 STIX 2.1 可生成有效的 STIX 捆绑包
  • 自动化源获取按计划运行(cron 或 MISP 调度器)

参考资料

评论

支持 Markdown