威胁情报分析系统

CTI Agent是一款多代理网络威胁情报系统,具备自动收集、分析、验证威胁情报的能力,适用于网络安全分析和威胁检测。

  • by ryantreb
  • Python
  • 本地部署
  • 1 星标
  • 更新于
在 GitHub 查看 ryantreb/CTI_agent

使用说明

CTI代理

版本: 2.4.0

自主多智能体网络威胁情报系统,具有专业的分析技术、17个MCP服务器集成和内置的抗幻觉验证功能。


概述

CTI Agent是一个快速编排的多代理威胁情报系统,它:

  1. 收集 来自6类17台MCP服务器的威胁情报
  2. 使丰富 具有多源数据和动态路由的IOC
  3. 分析 使用钻石模型和ACH框架的威胁
  4. 挑战 通过对抗性的《魔鬼代言人》辩论进行评估
  5. 验证 在报告之前独立提出每一项主张(抗幻觉)
  6. 生产 校准情报报告、STIX 2.1捆绑包和ATT&CK层
  7. 改善 通过定量评估和快速优化
┌──────────────────────────────────────────────────────────────────────┐
│                         CTI Agent v2.4.0                              │
│           Multi-Agent Intelligence with Adversarial Review           │
└──────────────────────────────────────────────────────────────────────┘

  Collector → Analyst → [Devil's Advocate ↔ Analyst] → Verifier → Reporter
      │           │              │                         │           │
  monitor-    diamond-      challenge high-          re-query      generate
  feeds       model         confidence              source        report
  enrich-     ACH           assessments             APIs          STIX 2.1
  iocs        analysis      propose alt.            detect        ATT&CK
                            hypotheses              hallucination layers

快速开始

1.配置API密钥

cp config/.env.template config/.env
# Edit config/.env with your API keys

17台MCP服务器中有11台需要 没有API密钥 并立即工作(漏洞情报、滥用信息、DNS侦察等)。

推荐钥匙 (免费套餐可用):

  • VT_API_KEY --VirusTotal/Google威胁情报
  • OTX_API_KEY --AlienVault OTX
  • ABUSEIPDB_API_KEY --滥用IPDB
  • SHODAN_API_KEY — 肖丹

可选密钥 (免费等级):

  • TI_MINDMAP_API_KEY --TI思维导图中心(免费从TI Mindmap HUB.com)

2.安装MCP服务器

大多数服务器通过以下方式自动安装 uvx 加载Claude代码时 .mcp.json.手动安装:

uvx gti_mcp
pip install fastmcp-threatintel

看 config/mcp_server_registry.json 完整的17服务器注册表。

3.运行代理

在克劳德代码中:

Read AGENT.md and begin a threat intelligence session.
Focus on [YOUR PRIORITY - e.g., "APT activity", "ransomware trends", "CVE-2025-XXXX"]

对于完整的多代理管道:

Read AGENT.md and run the orchestrate-team skill for a complete intelligence cycle.

多代理团队(v2.4.0)

五种具有结构分离关注点的专业代理:

代理人 角色 技能
收集者 收集和丰富原始情报 监控信息流,丰富国际奥委会
分析师 生成校准评估 钻石模型,ACH
魔鬼代言人 挑战高置信度判断 ACH(对抗性)
验证器 独立重新验证所有索赔 验证索赔
记者 组装最终交付成果 生成报告、STIX、ATT&CK

为什么选择多代理?

该管道解决了两种关键的LLM故障模式:

  1. 确认偏误 --魔鬼代言人有一项结构性任务,即质疑所有被评为“极有可能”或更高的评估,为替代假设辩护,并记录反对意见 ICD 203
  2. 幻觉 --验证器独立地重新查询每个IOC、TTP和归因声明的源API。被退回的索赔被隔离,永远不会到达最终报告

管道数据流

collection_bundle → assessment_package → debate_record → verification_report → final deliverables
    (Collector)        (Analyst)          (DA ↔ Analyst)    (Verifier)           (Reporter)

项目结构

CTI_agent/
├── AGENT.md                         # Master orchestrator (start here)
├── agents/definitions/              # Multi-agent team definitions
│   ├── collector.md                 #   Feed monitoring + IOC enrichment
│   ├── analyst.md                   #   Diamond Model + ACH analysis
│   ├── devils_advocate.md           #   Adversarial challenge protocol
│   ├── verifier.md                  #   Independent claim validation
│   └── reporter.md                  #   Final product assembly
├── skills/                          # 13 skill prompt files
│   ├── orchestrate-team/            #   5-agent pipeline coordinator
│   ├── monitor-feeds/               #   Intelligence collection
│   ├── enrich-iocs/                 #   Multi-source IOC enrichment
│   ├── verify-claims/               #   Claim validation + hallucination detection
│   ├── diamond-model-analysis/      #   Structured intrusion analysis
│   ├── analysis-competing-hypotheses/ # Attribution hypothesis testing
│   ├── generate-report/             #   ICD 203 intelligence reports
│   ├── produce-stix-bundle/         #   STIX 2.1 output
│   ├── produce-attack-layers/       #   ATT&CK Navigator layers
│   ├── recall-intelligence/         #   Pinecone vector memory
│   ├── check-server-health/         #   MCP server availability
│   ├── plan-session/                #   Session planning
│   ├── self-evolving-loop/          #   Meta-prompt optimization
│   └── external/                    #   Third-party skills
├── lib/                             # Python deterministic logic (12 modules)
│   ├── team_data.py                 #   Inter-agent data schemas
│   ├── debate.py                    #   Devil's Advocate debate engine
│   ├── verification_pipeline.py     #   Claim extraction + routing
│   ├── stix_builder.py              #   Diamond Model → STIX 2.1
│   ├── attack_layers.py             #   Diamond Model → ATT&CK Navigator
│   ├── confidence_decay.py          #   IOC freshness half-life calculations
│   ├── actor_profiles.py            #   Persistent threat actor profiles
│   ├── pinecone_memory.py           #   Vector memory for historical context
│   ├── health_check.py              #   MCP server health checks
│   ├── config.py                    #   Registry loader + routing tables
│   ├── metrics.py                   #   Observability metrics
│   └── logging_schema.py            #   Structured JSONL logging
├── evaluation/                      # Quality assessment graders
├── config/                          # Configuration
│   ├── mcp_server_registry.json     #   17 MCP servers (source of truth)
│   ├── mcp_config.json              #   Claude Code MCP config (generated)
│   ├── team_config.json             #   Multi-agent pipeline config
│   ├── skill_ownership.json         #   Skill conflict resolution
│   └── feeds.json                   #   RSS fallback feeds
├── tests/                           # 182 tests
├── demo/                            # Demo dataset + mock MCP responses
├── docs/                            # Architecture + development docs
├── state/                           # Runtime state files
└── reports/                         # Generated intelligence products

MCP服务器集成

6类17台服务器,具有动态路由和优雅降级功能:

类别 服务器 用途
智能 OTX、TI Mindmap HUB、Mallory 威胁源收集
富集 GTI/VirusTotal、Shodan、fastmcp-threatintel、mcp-threadintel IOC富集
脆弱性 KEV、漏洞情报、Nuclei CVE情报
恶意软件分析 Ghidra、YARA、Capa、Radare2、Binwalk 二元分析
开源情报 DNSTwist DNS配置
效用 CyberChef 数据转换

IOC路由按类型(IP、域、哈希、URL、CVE)配置,具有主/辅/回退链。这 check-server-health 技能在会话开始时根据可用的API密钥和服务器状态调整路由。


分析框架

钻石模型

将入侵分析分为四个顶点:

  • 对手 --谁发动了这次袭击
  • 基础设施 --使用的系统(C2,交付)
  • 能力 --工具和技术(映射到ATT&CK)
  • 受害者 --攻击目标

竞争假说分析(ACH)

严格归因的七步流程:

  1. 生成所有合理的假设(包括欺骗+零)
  2. 列出钻石模型的所有证据
  3. 创建诊断矩阵
  4. 完善假设
  5. 评估诊断证据(侧重于反驳,而不是确认)
  6. 计算可能性
  7. 带校准置信度的报告

置信度校准(ICD 203)

术语 概率
几乎可以肯定 >95%
极有可能 80-95%
可能 60-80%
大致均等 40-60%
不太可能 20-40%
极不可能 5-20%
可能性极小 <5%

验证门

所有索赔在到达最终报告之前都要经过5级验证系统:

状态 置信倍数 处理
VERIFIED_HIGH 1.0x 包括所述内容
VERIFIED_MEDIUM 0.75x 附带警告
VERIFIED_LOW 0.5x 包含强烈警告
UNVERIFIED 0.25x 前缀为 [UNVERIFIED]
REFUTED 0.0x 完全抑制

幻觉检测标志:

  • 无法核实来源的索赔
  • 所有索赔的退款率>=50%
  • 归因声明仅得到1个来源的支持

输出产品

产品 格式 位置
情报报告 Markdown(ICD 203) reports/{guid}.md
STIX 2.1捆绑包 JSON reports/{guid}_stix_bundle.json
ATT&CK导航层 JSON(v4.5) reports/{guid}_attack_layer.json
检测规则 Sigma/YARA reports/{guid}_detections/
IOC包 STIX 2.1 JSON reports/{guid}_iocs.json

报告包括:执行摘要、具有校准置信度的关键判断、钻石模型摘要、ATT&CK映射、ACH摘要、, 替代分析 (来自《魔鬼代言人》辩论),经过验证的国际奥委会表格、防御建议、假设、情报差距和重新评估触发因素。


评价体系

四年级学生评估输出质量:

评分员 测量值 阈值
ttp_coverage TTP提取完整性 0.80
ioc_fidelity IOC准确度(如果产生幻觉,则为0) 0.90
framework_compliance 所需报告部分已存在 0.85
analytical_quality 推理质量(法学硕士评判) 0.70

自进化循环评估输出,识别表现不佳的技能,并通过回归自动回滚触发元提示优化。


发展

# Run tests (182 passing)
uv run --with pytest python -m pytest -q

# Lint + format
ruff check . --fix && ruff format .

看 docs/DEVELOPMENT.md 完整的开发指南和 docs/ARCHITECTURE.md 对于系统架构。


外部技能

来源 技能 目的
gl0bal01/恶意软件分析 恶意软件分类、动态分析、检测工程师 恶意软件分析管道
YARAHQ/亚拉规则技能 yara规则技能 yara检测规则编写
训练/技能 变量分析、semgrep、静态分析 安全分析

版本历史记录

版本 焦点
v2.4.0 多代理团队(5个代理)、辩论引擎、验证管道
v2.3.0 置信度衰减、演员档案、松果记忆、指标
v2.2.0 STIX 2.1构建器、ATT&CK层、外部技能、演示数据集
v2.1.0 MCP服务器集成、动态路由、健康检查、评估评分器

路线图

  • [x] 核心架构+技能
  • [x] 17 MCP服务器与动态路由集成
  • [x] STIX 2.1+ATT&CK导航器输出
  • [x] 外部技能整合(恶意软件分析、YARA、比特追踪)
  • [x] 信心衰减+威胁行为者简介
  • [x] 松果体历史上下文向量记忆
  • [x] 具有对抗性审查的多代理团队
  • [x] 独立验证管道+幻觉检测
  • []SecOps SIEM集成
  • []SOAR剧本生成
  • []Web仪表板
  • []历史趋势分析

参考文献


许可证

MIT许可证


CTI Agent v2.4.0——具有对抗性审查和独立验证的多代理情报团队。