implementing-diamond-model-analysis

菱形入侵分析模型通过审查四个核心特征(对手、能力、基础设施、受害者)提供结构化框架,用于分析网络入侵事件。本技能涵盖以编程方式实现菱形模型,对入侵事件进行分类和关联,构建链接相关事件的活动线程,创建活动攻击图,并从入侵数据中生成可枢纽的情报。

9 stars

Best use case

implementing-diamond-model-analysis is best used when you need a repeatable AI agent workflow instead of a one-off prompt.

菱形入侵分析模型通过审查四个核心特征(对手、能力、基础设施、受害者)提供结构化框架,用于分析网络入侵事件。本技能涵盖以编程方式实现菱形模型,对入侵事件进行分类和关联,构建链接相关事件的活动线程,创建活动攻击图,并从入侵数据中生成可枢纽的情报。

Teams using implementing-diamond-model-analysis should expect a more consistent output, faster repeated execution, less prompt rewriting.

When to use this skill

  • You want a reusable workflow that can be run more than once with consistent structure.

When not to use this skill

  • You only need a quick one-off answer and do not need a reusable workflow.
  • You cannot install or maintain the underlying files, dependencies, or repository context.

Installation

Claude Code / Cursor / Codex

$curl -o ~/.claude/skills/implementing-diamond-model-analysis/SKILL.md --create-dirs "https://raw.githubusercontent.com/killvxk/cybersecurity-skills-zh/main/skills/implementing-diamond-model-analysis/SKILL.md"

Manual Installation

  1. Download SKILL.md from GitHub
  2. Place it in .claude/skills/implementing-diamond-model-analysis/SKILL.md inside your project
  3. Restart your AI agent — it will auto-discover the skill

How implementing-diamond-model-analysis Compares

Feature / Agentimplementing-diamond-model-analysisStandard Approach
Platform SupportNot specifiedLimited / Varies
Context Awareness High Baseline
Installation ComplexityUnknownN/A

Frequently Asked Questions

What does this skill do?

菱形入侵分析模型通过审查四个核心特征(对手、能力、基础设施、受害者)提供结构化框架,用于分析网络入侵事件。本技能涵盖以编程方式实现菱形模型,对入侵事件进行分类和关联,构建链接相关事件的活动线程,创建活动攻击图,并从入侵数据中生成可枢纽的情报。

Where can I find the source code?

You can find the source code on GitHub using the link provided at the top of the page.

SKILL.md Source

# 实现菱形模型分析

## 概述

菱形入侵分析模型通过审查四个核心特征(对手、能力、基础设施、受害者)提供结构化框架,用于分析网络入侵事件。本技能涵盖以编程方式实现菱形模型,对入侵事件进行分类和关联,构建链接相关事件的活动线程,创建活动攻击图,并从入侵数据中生成可枢纽的情报。

## 前置条件

- Python 3.9+ 及 `networkx`、`stix2`、`graphviz` 库
- 理解菱形模型的核心特征和元特征
- 可访问威胁情报数据(MISP/OpenCTI 事件)
- 熟悉 MITRE ATT&CK 用于能力映射

## 核心概念

### 菱形模型核心特征
- **对手(Adversary)**:实施入侵的威胁行为者或操作者
- **能力(Capability)**:使用的工具、技术和恶意软件(映射到 ATT&CK)
- **基础设施(Infrastructure)**:C2 服务器、域名、电子邮件地址、托管提供商
- **受害者(Victim)**:目标组织、系统、人员或数据资产

### 元特征
- **时间戳(Timestamp)**:事件发生时间
- **阶段(Phase)**:杀伤链阶段(侦察、投递、利用等)
- **结果(Result)**:成功、失败或未知
- **方向(Direction)**:对手到基础设施、基础设施到受害者等
- **方法论(Methodology)**:社会工程学、技术利用、内部威胁
- **资源(Resources)**:所需财务、人力、技术资源

### 活动线程与活动组
- **活动线程(Activity Thread)**:来自单一对手操作的菱形事件序列
- **活动组(Activity Group)**:归因于同一对手的线程集群

## 实践步骤

### 步骤 1:定义菱形事件数据结构

```python
from dataclasses import dataclass, field
from datetime import datetime
from typing import Optional
import json
import uuid

@dataclass
class DiamondEvent:
    adversary: str = ""
    capability: str = ""
    infrastructure: str = ""
    victim: str = ""
    timestamp: str = ""
    phase: str = ""
    result: str = ""
    direction: str = ""
    methodology: str = ""
    confidence: int = 0
    notes: str = ""
    event_id: str = field(default_factory=lambda: str(uuid.uuid4())[:8])
    mitre_techniques: list = field(default_factory=list)
    iocs: list = field(default_factory=list)

    def to_dict(self):
        return {
            "event_id": self.event_id,
            "adversary": self.adversary,
            "capability": self.capability,
            "infrastructure": self.infrastructure,
            "victim": self.victim,
            "timestamp": self.timestamp,
            "phase": self.phase,
            "result": self.result,
            "direction": self.direction,
            "methodology": self.methodology,
            "confidence": self.confidence,
            "mitre_techniques": self.mitre_techniques,
            "iocs": self.iocs,
            "notes": self.notes,
        }
```

### 步骤 2:从事件构建活动线程

```python
import networkx as nx

class DiamondAnalysis:
    def __init__(self):
        self.events = []
        self.graph = nx.DiGraph()

    def add_event(self, event: DiamondEvent):
        self.events.append(event)
        self.graph.add_node(event.event_id, **event.to_dict())

    def build_activity_thread(self):
        """按时间顺序将事件链接为活动线程。"""
        sorted_events = sorted(self.events, key=lambda e: e.timestamp)
        for i in range(len(sorted_events) - 1):
            self.graph.add_edge(
                sorted_events[i].event_id,
                sorted_events[i + 1].event_id,
                relationship="followed_by",
            )

    def find_pivots(self):
        """查找共享基础设施或能力的事件枢纽点。"""
        pivots = {"infrastructure": {}, "capability": {}, "adversary": {}}

        for event in self.events:
            if event.infrastructure:
                pivots["infrastructure"].setdefault(event.infrastructure, []).append(event.event_id)
            if event.capability:
                pivots["capability"].setdefault(event.capability, []).append(event.event_id)
            if event.adversary:
                pivots["adversary"].setdefault(event.adversary, []).append(event.event_id)

        return {
            k: {pk: pv for pk, pv in v.items() if len(pv) > 1}
            for k, v in pivots.items()
        }

    def generate_report(self):
        return {
            "total_events": len(self.events),
            "unique_adversaries": len(set(e.adversary for e in self.events if e.adversary)),
            "unique_victims": len(set(e.victim for e in self.events if e.victim)),
            "unique_infrastructure": len(set(e.infrastructure for e in self.events if e.infrastructure)),
            "pivots": self.find_pivots(),
            "events": [e.to_dict() for e in self.events],
        }
```

## 验证标准

- 菱形事件捕获所有四个核心特征及元特征
- 活动线程按时间顺序链接相关事件
- 枢纽分析识别跨事件的共享基础设施和能力
- 图形可视化正确呈现活动攻击图
- 事件映射到 MITRE ATT&CK 技术用于能力分类

## 参考资料

- [菱形模型论文](https://www.activeresponse.org/wp-content/uploads/2013/07/diamond.pdf)
- [MITRE ATT&CK](https://attack.mitre.org/)
- [STIX 2.1 活动对象](https://docs.oasis-open.org/cti/stix/v2.1/stix-v2.1.html)

Related Skills

performing-windows-artifact-analysis-with-eric-zimmerman-tools

9
from killvxk/cybersecurity-skills-zh

使用 Eric Zimmerman 的开源 EZ Tools 套件(包括 KAPE、MFTECmd、PECmd、LECmd、JLECmd 和 Timeline Explorer)执行全面的 Windows 取证制品分析,解析注册表 hive、预取文件、事件日志和文件系统元数据。

performing-threat-modeling-with-owasp-threat-dragon

9
from killvxk/cybersecurity-skills-zh

使用 OWASP Threat Dragon 创建数据流图,运用 STRIDE 和 LINDDUN 方法论识别威胁,并生成威胁模型报告用于安全设计审查。

performing-static-malware-analysis-with-pe-studio

9
from killvxk/cybersecurity-skills-zh

使用 PEStudio 对 Windows PE(可移植可执行文件)恶意软件样本进行静态分析, 检查文件头、导入表、字符串、资源和指标,无需执行二进制文件。 识别可疑特征,包括加壳、反分析技术和恶意导入。适用于静态恶意软件分析、 PE 文件检查、Windows 可执行文件分析或执行前恶意软件分级等请求场景。

performing-s7comm-protocol-security-analysis

9
from killvxk/cybersecurity-skills-zh

对西门子SIMATIC S7 PLC使用的S7comm和S7CommPlus协议进行安全分析,识别漏洞,包括重放攻击、完整性绕过、未授权的CPU停止命令以及针对S7-300、S7-400、S7-1200和S7-1500控制器弱点的程序下载操控。

performing-plc-firmware-security-analysis

9
from killvxk/cybersecurity-skills-zh

本技能涵盖分析可编程逻辑控制器(PLC)固件的安全漏洞,包括硬编码凭据、不安全的更新机制、后门功能、内存损坏缺陷和未记录的调试接口。涉及从常见PLC平台(西门子S7、Allen-Bradley、施耐德Modicon)提取固件、固件镜像静态分析、仿真环境中的动态分析,以及与已知良好基线的对比以检测篡改。

performing-network-traffic-analysis-with-zeek

9
from killvxk/cybersecurity-skills-zh

部署 Zeek 网络安全监控器,捕获、解析和分析网络流量元数据,用于威胁检测、异常识别和取证调查。

performing-network-traffic-analysis-with-tshark

9
from killvxk/cybersecurity-skills-zh

使用 tshark 和 pyshark 自动化网络流量分析,进行协议统计、可疑流量检测、DNS 异常识别以及从 PCAP 文件中提取威胁指标(IOC)

performing-network-packet-capture-analysis

9
from killvxk/cybersecurity-skills-zh

使用 Wireshark、tshark 和 tcpdump 对网络数据包捕获(PCAP/PCAPNG)进行取证分析,重建网络通信、提取传输文件、识别恶意流量,并建立数据渗出或命令与控制活动的证据。

performing-log-analysis-for-forensic-investigation

9
from killvxk/cybersecurity-skills-zh

收集、解析和关联系统、应用程序及安全日志,以在取证调查期间重建事件并建立时间线。

performing-ip-reputation-analysis-with-shodan

9
from killvxk/cybersecurity-skills-zh

使用 Shodan API 分析 IP 地址声誉,识别开放端口、运行服务、已知漏洞和托管上下文,用于威胁情报富化和事件分类。

performing-firmware-malware-analysis

9
from killvxk/cybersecurity-skills-zh

分析固件镜像中嵌入的恶意软件、后门和未授权修改,目标包括路由器、IoT 设备、UEFI/BIOS 和嵌入式系统。涵盖固件提取、文件系统分析、二进制逆向工程和 Bootkit 检测。适用于固件安全 分析、IoT 恶意软件调查、UEFI Rootkit 检测或嵌入式设备入侵评估等请求场景。

performing-dynamic-analysis-with-any-run

9
from killvxk/cybersecurity-skills-zh

使用 ANY.RUN 云沙箱进行交互式动态恶意软件分析,实时观察执行行为、与恶意软件提示进行交互, 并捕获进程树、网络流量和系统变化。适用于交互式沙箱分析、基于云的恶意软件引爆、 实时行为观察或 ANY.RUN 使用等请求场景。