Barnes70/TLCTC
GitHub: Barnes70/TLCTC
TLCTC 是一个基于因果关系和形式化公理的网络威胁分类框架,通过十个不重叠的威胁集群和标准化攻击路径表示法,为网络安全提供统一且稳定的语义基础。
Stars: 2 | Forks: 0
# 顶级网络威胁集群 (TLCTC)
**版本 2.1** · CC BY 4.0 · [tlctc.net](https://www.tlctc.net) · [白皮书](https://www.tlctc.net/tlctc-v2.0-whitepaper.html)
首个面向因果的公理化网络威胁分类法。
TLCTC 为网络安全提供了缺失的语义基础:一种稳定且不重叠的网络威胁分类。该分类基于妥协(入侵)发生的**原因**(即被利用的通用漏洞),而不是之后发生的**结果**(如“数据泄露”、“勒索软件”或“拒绝服务”)。
## 问题:语义弥散
网络安全长期受困于语言问题。“威胁”一词常被交替用于指代攻击者、漏洞、控制失效、安全事件和结果。即便是权威来源也维持着相互冲突的定义——仅 NIST 在其各类出版物中就包含了超过 20 种关于“网络威胁”的不同定义。这种语义模糊使得在领导层、风险职能部门和技术团队之间,无法对事件进行比较、汇聚情报、设计针对性控制措施或一致地沟通风险。
TLCTC 通过将分析锚定在**因果关系**上,并通过形式化公理强制执行严格分离来解决这一问题。
## 核心架构
### 领结锚点
TLCTC 在结构上锚定于**领结风险模型**,该模型强制将原因与结果分离开来:
```
CAUSE SIDE RISK EVENT CONSEQUENCE SIDE
┌──────────────────┐ ┌─────────────────────┐ ┌──────────────────────┐
│ Threat Clusters │ │ Loss of Control / │ │ Data Risk Events │
│ (#1 – #10) │────▶│ System Compromise │────▶│ (C, I, A) │
│ Generic Vulns │ │ [DETECT] │ │ Business Impact │
│ │ │ │ │ │
│ IDENTIFY/PROTECT │ └─────────────────────┘ │ RESPOND/RECOVER │
└──────────────────┘ └──────────────────────┘
```
威胁集群**排他性地**存在于原因侧。诸如机密性丧失、完整性丧失或可用性/可访问性丧失等结果,被单独记录为**数据风险事件 (DRE)**——而绝不作为威胁类别。
### 双层方法
TLCTC 严格分离了两个必须对齐但不能相互折叠的层级:
| 层级 | 焦点 | 稳定性 | 受众 |
|---|---|---|---|
| **战略管理** | 10 个集群、通用漏洞、风险治理、控制映射 | 稳定 | CISO、风险部门、董事会 |
| **运营安全** | 特定 CVEs、CWEs、MITRE ATT&CK TTPs、检测规则 | 动态 | SOC、工程团队、DevSec |
这种分离确保了跨技术、环境和组织的战略风险讨论具有可比性——同时运营团队保留了完整的颗粒度。
## 10 个顶级网络威胁集群
每个集群由**一个且仅一个通用漏洞**定义(公理 VI)。每个攻击步骤映射到**一个且仅一个**集群。无重叠,无遗漏。
| # | 集群 | 通用漏洞 | 拓扑 |
|---|---|---|---|
| **#1** | **功能滥用** | 软件功能和配置中固有的信任、范围及复杂性设计 | 内部 |
| **#2** | **服务端漏洞利用** | 服务端源代码实现及其产生的逻辑中可被利用的缺陷,源于不安全的编码实践 | 内部 |
| **#3** | **客户端漏洞利用** | 客户端角色源代码实现中可被利用的缺陷,源于对外部数据/响应、UI 渲染或客户端状态/资源的不安全处理 | 内部 |
| **#4** | **身份盗用** | 身份与认证凭证之间的薄弱绑定,加上不足的凭证和会话生命周期控制(签发、存储、传输、验证、轮换、撤销) | 内部 |
| **#5** | **中间人** | 端到端机密性/完整性保护不足,以及对本地网络和中间路径基础设施的隐式信任 | 内部 |
| **#6** | **泛洪攻击** | 任何系统组件固有的有限容量限制 | 内部 |
| **#7** | **恶意软件** | 环境旨在执行的、可能不受信的可执行内容的能力 | 内部 |
| **#8** | **物理攻击** | 基础设施的物理可访问性以及物理层属性(接口、无线频谱、辐射、环境依赖性)的可利用性 | 桥接 |
| **#9** | **社会工程学** | 人类心理因素(信任、恐惧、紧迫感、权威偏见、好奇心、无知、疲劳等) | 桥接 |
| **#10** | **供应链攻击** | 对外部供应商/服务及其安全态势不受组织直接控制的信任转移机制的必要依赖和隐式信任 | 桥接 |
### 规范定义
- **#1 功能滥用** — 通过标准接口,使用内置的输入类型和有效的操作序列,操纵合法的软件功能——特性、API、配置、管理设置、工作流。该步骤实现了攻击者的优势,**无需利用实现缺陷**。
- **#2 服务端漏洞利用** — 使用漏洞利用代码触发**服务端角色**软件中的**实现缺陷**,利用服务器处理请求、处理数据、执行逻辑或管理资源时的编码错误。这会强制产生**非预期的数据→代码转换**。
- **#3 客户端漏洞利用** — 通过精心构造的内容、响应或状态,触发**客户端角色**软件中的**实现缺陷**,利用解析、渲染、状态管理或响应处理中的编码错误。
- **#4 身份盗用** — 出示或使用凭证、令牌、密钥、会话凭证或其他身份表示进行认证,并**作为与出示者自身不同的身份**行动。此集群侧重于凭证的**使用**——获取凭证映射到使其可能的集群(参见下文的凭证双重性质)。
- **#5 中间人** — 通过拦截、观察、修改、注入、重放或协议降级/剥离,利用通信路径上的受控位置。
- **#6 泛洪攻击** — 通过超过容量限制的容量或强度耗尽有限的系统资源(带宽、CPU、内存、存储、配额、池),导致中断、降级或拒绝服务。
- **#7 恶意软件** — 通过环境设计的执行能力(二进制文件、脚本、宏、模块或馈送到解释器的由攻击者控制的命令)执行**外部可执行内容 (FEC)**,包括在执行由攻击者控制的 FEC 时的双重用途工具。
- **#8 物理攻击** — 对硬件、设施、介质、接口(包括可移动介质)或信号的未经授权的物理交互或干扰——通过直接接触或利用物理现象/辐射。
- **#9 社会工程学** — 导致人类执行违背安全利益行动的心理操纵——披露信息、授予访问权限、执行内容、修改配置或绕过程序。
- **#10 供应链攻击** — 利用组织的**第三方信任链接**,使组织接受源自第三方的工件或决策作为其领域内的权威,从而实现未经授权的操作或妥协。置于**信任接受事件 (TAE)** 处。
## 关键概念
### 数据→代码转换与 R-EXEC 规则
执行区分是该框架中最敏锐的分析工具。存在四条数据路径:
| 路径 | 机制 | 集群 |
|---|---|---|
| 数据 → 数据 | 纯数据操作,无代码执行 | 仅 #1 |
| 数据 → 函数 → 外部代码 | 函数滥用促成了代码执行 | #1 → #7 |
| 通过实现缺陷的数据 → 代码 | 非预期转换(漏洞利用代码触发 bug) | #2 或 #3 |
| 通过设计能力的数据 → 代码 | 预期执行(恶意软件代码使用执行引擎) | #7 |
**R-EXEC 规则(规范性):** 每当执行外部可执行内容 (FEC) 时,**必须记录一个 #7 步骤**,记录时间点为执行瞬间,独立于执行是如何被启用的。分析人员不得将执行“吸收”到使其成为可能的集群中。
常见执行模式:`#1 → #7` · `#2 → #7` · `#3 → #7` · `#8 → #7` · `#9 → #7` · `#10 → #7`
### 凭证双重性质(公理 X)
凭证具有两个截然不同的操作阶段,它们**必须**被分开分类:
| 阶段 | 分类 | 示例 |
|---|---|---|
| **获取** | 映射到使其可能的集群(暴露该凭证的通用漏洞) | #2 (SQLi 获取密码), #5 (MitM 拦截令牌), #9 (钓鱼捕获密码) |
| **应用** | **始终为 #4** — 无论凭证是如何获得的 | 攻击者使用盗取的凭证登录 → #4 |
### 攻击速度 (Δt) 与速度等级
攻击速度是两个相邻攻击步骤之间的时间间隔。它是最能预测哪种控制类型在**结构上可行**的指标——如果步骤之间的 Δt 是几分钟,那么需要几小时才能发出警报的检测在结构上是不充分的。
| 等级 | 时间范围 | 防御者可行的响应模式 |
|---|---|---|
| **VC-1** | 天 → 月 | 战略:日志留存、威胁狩猎、战略监控 |
| **VC-2** | 小时 | 战术:SIEM 警报、分析师甄别、引导式响应 |
| **VC-3** | 分钟 | 运营:自动化 (SOAR/EDR)、快速遏制、预构建演练 |
| **VC-4** | 秒 → 毫秒 | 实时:架构与断路器、速率限制、加固、自动隔离 |
## 攻击路径表示法
复杂攻击不是单一事件——它们是**序列**。TLCTC 提供了一种标准化的表示法,用于映射具有完整时间和拓扑上下文的多步攻击路径。
### 表示法元素
| 元素 | 语法 | 用途 |
|---|---|---|
| 顺序步骤 | `→` | 按顺序链接原因侧的步骤 |
| 并行步骤 | `(#X + #Y)` | 同时利用不同的通用漏洞 |
| 速度注释 | `→[Δt=值]→` | 步骤之间的时间间隔(例如 `→[Δt=15m]→`、`→[Δt=~2h]→`) |
| 域边界 | `\|\|[上下文][@来源→@目标]\|\|` | 标记攻击跨越职责范围的边界 |
| 传输边界 | `\|\|[上下文][@来源⇒@载体→@目标]\|\|` | 标记中间载体/中继范围(⇒ = 传输) |
| 系统内边界 | `\|[类型][@起点→@终点]\|` | 主机内部边界跨越(沙箱、权限、进程、Hypervisor) |
| 未决步骤 | `?` / `…` | 取证不确定性——步骤存在但集群尚未确定 |
| 数据风险事件 | `+ [DRE: C, I, A]` | 注释后果(其本身绝不是步骤) |
### 边界算子
TLCTC 提供三种边界算子——它们都是**可观察性注释**,在不改变集群分类的情况下提高了分析精度。
#### 域边界算子 (`||...||`)
标记攻击在职责范围(组织间边界)之间跨越的位置:
```
||[context][@Source→@Target]||
```
#### 传输边界算子 (`⇒`)
标识**中继**攻击而不作为其源或目标的中间职责范围:
```
||[context][@Source⇒@Carrier→@Target]|| # single transit party
||[context][@Source⇒@CarrierB⇒@CarrierA→@Target]|| # chained transit (right-to-left relay)
```
**示例:** 基于 SMS 的钓鱼,其中 SMS 网关中继了恶意链接:
```
#9 ||[messaging][@Attacker⇒@SMSProvider→@Victim]||
```
#### 系统内边界算子 (`|[类型][@起点→@终点]|`)
注释**在单一主机或系统内部**的边界跨越——与在职责范围之间跨越的域边界 (`||...||`) 相对。
| 类型 | 描述 | 示例 |
|---|---|---|
| `sandbox` | 从应用沙箱逃逸到宿主操作系统或限制较少的上下文 | 浏览器渲染器沙箱逃逸、容器突破 |
| `privilege` | 从较低权限级别提升到较高权限级别 | 普通用户到 root、非特权模式到内核模式 |
| `process` | 从一个进程的安全上下文跨越到另一个 | 进程注入、DLL 劫持 |
| `hypervisor` | 从虚拟机逃逸到 Hypervisor 或另一个虚拟机 | 虚拟机逃逸、Hyperjacking |
```
#3 |[sandbox][@renderer→@os]| # browser exploit escaping renderer sandbox
#2 |[privilege][@user→@root]| # local privilege escalation via server-side flaw
```
#### 边界分类规则
| 规则 | 声明 |
|---|---|
| **R-TRANSIT-3** | 在目标设备上运行的供应商代码**不**属于传输。受害者手机上的 Safari 是攻击面(按 R-ROLE 归类为 #3),而不是传输方。 |
| **R-INTRA-7** | 系统内边界**永远不改变**集群分类。它们是可观察性注释,而不是分类输入。 |
| **R-INTRA-9** | `memory` 边界类型被明确**推迟**,且**绝对不可**使用。 |
#### 边界上下文词汇表
上下文词汇表是可扩展的。基线配置文件定义了 16 种上下文类型:
`messaging` · `email` · `cdn` · `cloud` · `network` · `signaling` · `auth` · `media` · `browser` · `exploit` · `dev` · `update` · `physical` · `human` · `legal` · `admin`
###决步骤算子 (`?`, `…`)
事件分析是迭代的——证据随时间到达,而网络威胁情报 (CTI) 必须在分类完成之前流转。路径支持两种用于取证不确定性的算子:
| 算子 | 名称 | 含义 |
|---|---|---|
| `?` | 单一未决步骤 | 在该位置恰好发生了一个步骤,但其集群目前尚无法确定 |
| `…` | 未决间隔 | 在该区域至少发生了一个步骤;数量和集群均未知 |
**示例:** `#3 →[Δt=0s] #7 →[Δt=4h] ? →[Δt=<10m] #4 → #1`
关键规则:
- `?` 和 `…` 是认知论注释,**不是**集群——它们没有通用漏洞 (R-UNRES-2)
- DRE 标签**绝不可**附加到 `?`/`…` 之后 (R-UNRES-5)
- 边界算子**可以**出现在 `?`/`…` 附近——边界是可独立观察的 (R-UNRES-6)
- 每个 `?`/`…` **必须**附带文本形式的 `notes` (注释) 解释什么是未决的以及为什么 (R-UNRES-8)
### 认知状态层级
表示法为步骤承载了四种不同的认知状态:
| 状态 | 语法 | 适用情形 |
|---|---|---|
| 已分类 | `#X` | 已分配集群,有证据支持 |
| 低置信度 | `#X [conf=low]` | 最受支持的集群,带有明确的警告说明 |
| 推断 | `#X [inferred]` | 未直接观察到但在逻辑上必然存在 |
| 未决 | `?` 或 `…` | 在现有证据下无法为任何集群进行辩护 |
如果*任何*集群可以被辩护——哪怕是微弱的——请使用 `#X [conf=low]` 而不是 `?`。将未决算子保留给真正“我们知道发生了什么,但不知道具体是什么”的情况。
### 示例:解构“勒索软件”
“勒索软件”不是一种威胁——它是一个**结果标签**,掩盖了实际的攻击序列。以下是典型勒索软件活动在 TLCTC 中的表现形式:
**场景:** 钓鱼邮件投递了一个恶意宏。恶意软件窃取了凭证。攻击者利用这些凭证滥用 Active Directory,同时部署了加密载荷。
**TLCTC 攻击路径:**
```
#9 ||[human][@External→@Org]|| →[Δt=24h] #7 →[Δt=5m] #4 →[Δt=15m] (#1 + #7) + [DRE: Ac]
```
解读此表示法:
1. **#9** — 社会工程学(钓鱼邮件)从外部域跨越到组织域
2. **→[Δt=24h]** — 受害者花费 24 小时后打开附件
3. **#7** — 恶意软件执行(恶意宏通过设计的执行能力运行)
4. **→[Δt=5m]** — 5 分钟后,凭证被窃取
5. **#4** — 使用被盗凭证(身份盗用——凭证应用)
6. **→[Δt=15m]** — 15 分钟的横向移动
7. **(#1 + #7)** — 同时滥用 AD 功能 (#1) 和执行加密载荷 (#7)
8. **+ [DRE: Ac]** — 后果:可访问性丧失(数据存在但无法使用)
注意:后果是**可访问性**丧失 (Loss of Accessibility,数据存在但被加密/不可用),而不是可用性丧失 (Loss of Availability,数据丢失或基础设施不可达)。这种区分对事件响应至关重要。
### 更多路径示例
**供应链可信更新(SolarWinds 类型):**
```
#10 ||[update][@Vendor→@Org]|| →[Δt=0s] #7 →[Δt=hours] #4 →[Δt=days] #1 + [DRE: C]
```
**物理访问拦截:**
```
#8 ||[physical][@Facilities→@IT]|| → #5 → #4
```
**联邦访问滥用:**
```
#4 → #10 ||[auth][@Vendor(IdP)→@Org(SP)]|| → #1
```
**带有传输运营商的 SMS 钓鱼:**
```
#9 ||[messaging][@Attacker⇒@SMSProvider→@Victim]|| →[Δt=1h] #7 →[Δt=5m] #4 + [DRE: C]
```
**带有沙箱逃逸的浏览器漏洞利用:**
```
#3 |[sandbox][@renderer→@os]| →[Δt=0s] #7 |[privilege][@user→@system]| →[Δt=2m] #4 + [DRE: C, I]
```
**通过受损 CDN 并带有链式传输的水坑攻击:**
```
#9 ||[browser][@Attacker⇒@CDN⇒@AdNetwork→@Victim]|| →[Δt=0s] #3 |[sandbox][@renderer→@os]| →[Δt=0s] #7 + [DRE: C]
```
## 罗塞塔石碑:转换其他框架
TLCTC 充当战略翻译层——一个连接运营框架而不取代它们的共享语义主干。
### CVEs 和 CWEs → TLCTC
每一个特定的 CVE 都是某个通用漏洞的实例,并映射到一个主要的 TLCTC 集群。其层级流程为:**弱点 (CWE) → 特定漏洞 (CVE) → 通用漏洞 → 威胁集群 (#1–#10)**。
示例:Apache Struts 中的 RCE 漏洞 (CVE-2017-5638) 是一个服务端实现缺陷 → **#2 服务端漏洞利用**。如果该漏洞利用导致了代码执行 → **#2 → #7**。
[`mappings/mitre-cwe/`](mappings/mitre-cwe/) 目录包含了对 **987 个 CWE 弱点** 到 TLCTC 集群的映射,包括理由、置信度判定、CVE 参考和决策树方法。由于 CWE 定义的是*缺陷*,而 TLCTC 定义的是*漏洞利用向量*,因此同一个 CWE 根据上下文的不同(例如,服务端与客户端)可以映射到不同的集群。有关表示法请参见 [CWE 映射 README](mappings/mitre-cwe/README.md),有关分类方法请参见[决策树](mappings/mitre-cwe/decision-tree.md)。
### MITRE ATT&CK → TLCTC
运营技术基于被利用的通用漏洞映射到战略集群。[`mappings/mitre-attack-enterprise/`](mappings/mitre-attack-enterprise/) 目录包含了对 **698 项 ATT&CK Enterprise 技术** 到 TLCTC 集群的完整映射,包括每个分类的详细理由和决策树方法。
快速示例:
- T1566.001 “鱼叉式钓鱼附件” → **#9 社会工程学**(钓鱼步骤;载荷的执行是一个单独的 #7 步骤)
- T1059 “命令和脚本解释器” → **#7 恶意软件**(或 #1 → #7,当合法工具执行由攻击者控制的内容时)
- T1078 “有效账户” → **#4 身份盗用**(凭证应用)
有关表示法约定请参见[映射 README](mappings/mitre-attack-enterprise/README.md),有关分类方法请参见[决策树](mappings/mitre-attack-enterprise/decision-tree.md),有关操作示例请参见 [SOC 到风险演练](mappings/mitre-attack-enterprise/examples/soc-to-risk-walkthrough.md)。
### NIST CSF 2.0 → TLCTC
控制措施被组织在一个集群 × 功能矩阵中。NIST CSF 2.0 定义了 **6 项功能**:GOVERN、IDENTIFY、PROTECT、DETECT、RESPOND、RECOVER。GOVERN 作为总体战略治理层提供保障控制,而其余 5 项直接映射到领结模型的位置:
| 领结位置 | NIST CSF 2.0 功能 | 目的 |
|---|---|---|
| 战略监督 | **GOVERN** | 风险偏好、政策、角色——保障控制 |
| 原因侧(预防) | **IDENTIFY**、**PROTECT** | 降低集群步骤到达中心事件的可能性 |
| 中心事件 | **DETECT** | 识别何时发生控制失效 |
| 后果侧(缓解) | **RESPOND**、**RECOVER** | 在受损后遏制影响、恢复运营 |
## JSON 架构
TLCTC JSON 架构通过三层设计实现了**机器可读威胁情报共享**,该设计将稳定定义与动态事件数据分离开来。
### 三层结构
| 层级 | 目的 | 制品 | 范围 | 更新频率 |
|---|---|---|---|---|
| **第 1 层 — 框架定义** | 不可变的“字典”:集群、公理、规则 ID、拓扑类型 | `tlctc-framework.schema.json` / `tlctc-framework.v2.0.json` | 通用 | 极少(框架演进) |
| **第 2 层 — 参考注册表** | 可复用的参考对象:职责范围、边界上下文、系统内边界类型 | `tlctc-reference.schema.json` / `@Org-registry.vX.Y.Z.json` | 特定组织 | 偶尔(组织变更) |
| **第 3 层 — 攻击路径实例** | 特定事件:序列、并行组、Δt、边界注释、DREs | `tlctc-attack-path.schema.json` / `incident-.json` | 每起事件 | 频繁(新事件) |
### 设计原则
- **含义与测量的分离** — 第 1 层定义*集群是什么*;第 3 层记录*发生了什么*。事件记录不得重新定义集群。
- **严格验证** — Schema 使用 `additionalProperties: false`。非标准字段放入 `extensions` 对象中。
- **线性 + 并行建模** — 攻击路径是由 `attack_step` 和 `parallel_group` 条目组成的有序序列。
- **R-EXEC 执行** — 步骤携带 `fec_executed` 和 `fec_recorded_in_step_id` 字段,以确保始终记录 FEC 的执行。
## 公理
TLCTC 依赖于分为四组的 10 项不可协商的公理。这些公理防止了困扰网络安全的类别错误。
| # | 公理 | 组别 | 核心声明 |
|---|---|---|---|
| I | 无系统类型区分 | 范围 | 通用 IT 资产;部门标签(SCADA、IoT、云)不会创建新的威胁类别 |
| II | 客户端-服务器模型 | 范围 | 所有网络交互都可以在一个或多个层上被建模为客户端-服务器 |
| III | 论原因,非结果 | 分离 | 威胁 ≠ 数据风险事件。“数据泄露”绝不是威胁类别 |
| IV | 非威胁行为者 | 分离 | 威胁 ≠ 行为者身份。“APT”不是一个集群 |
| V | 非控制失效 | 分离 | 控制风险 ≠ 威胁类别。缺失补丁不是威胁 |
| VI | 单集群规则 | 分类 | 一个步骤 = 一个通用漏洞 = 一个集群(无重叠) |
| VII | 初始漏洞规则 | 分类 | 每个攻击向量由其最初针对的通用漏洞定义 |
| VIII | 战略-运营分层 | 分类 | 集群具有子威胁(战略 → 运营分解) |
| IX | 序列 + 速度 | 序列 | 集群链接成攻击路径;Δt 测量步骤之间的速度 |
| X | 凭证双重性 | 序列 | 凭证获取和应用是具有不同分类的不同步骤 |
## 仓库内容
```
tlctc/
├── mappings/
│ ├── mitre-attack-enterprise/ # MITRE ATT&CK Enterprise → TLCTC
│ │ ├── README.md # Mapping documentation & notation
│ │ ├── tlctc-enterprise-attack.json # 698 technique mappings with rationale
│ │ ├── decision-tree.md # Classification methodology
│ │ └── examples/
│ │ └── soc-to-risk-walkthrough.md # Worked example: SOC → risk register
│ ├── mitre-cwe/ # MITRE CWE → TLCTC (experimental)
│ │ ├── README.md # Mapping documentation & verdict system
│ │ ├── tlctc-cwe.json # 987 CWE mappings with rationale & CVE refs
│ │ ├── decision-tree.md # Classification methodology
│ │ └── examples/
│ │ └── cwe-to-control-walkthrough.md # Worked example: vuln findings → controls
│ ├── npm-supply-chain/ # npm supply chain patterns → TLCTC
│ │ ├── README.md # Pattern documentation & methodology
│ │ ├── tlctc-npm-patterns.json # Supply chain attack patterns mapping
│ │ └── examples/
│ │ └── incident-to-control-walkthrough.md # Worked example: incident → controls
│ ├── cloudflare-2026-patterns/ # Cloudflare 2026 attack patterns → TLCTC
│ │ ├── README.md # Pattern documentation & methodology
│ │ └── tlctc-cloudflare-2026-patterns.json # Cloudflare 2026 threat report pattern mapping
│ ├── cisa-kev/ # CISA Known Exploited Vulnerabilities → TLCTC
│ │ ├── README.md # Mapping documentation & caveats
│ │ ├── generate-kev-mapping.py # Deterministic ETL generator
│ │ ├── tlctc-kev.json # 1,568 per-CVE derivations
│ │ ├── tlctc-kev-stats.json # Cluster counts, ransomware, vendor & monthly stats
│ │ ├── product-role-heuristic.json # R-ROLE (#2 | #3) disambiguation rules
│ │ ├── decision-tree.md # Derivation algorithm
│ │ ├── input/ # Pinned KEV snapshot (reproducibility)
│ │ └── examples/
│ │ └── cluster-exposure-walkthrough.md # Worked example: vendor stack → exposure
│ ├── mandiant-2026/ # Mandiant M-Trends 2026 ATT&CK → TLCTC
│ │ └── tlctc-mandiant-2026-attck-mapping.json # Mandiant 2026 technique mapping
│ └── splunk-cisco/ # Splunk/Cisco Top-50 comparison
│ └── splunk-top50-tlctc-comparison.html # Interactive Splunk Top-50 vs TLCTC view
├── json-schemas/
│ ├── layer-1/ # Framework Definition (Static)
│ │ ├── tlctc-framework.schema.json # Schema for framework packages
│ │ └── tlctc-framework.v2.0.json # V2.0 content: clusters, axioms, rules
│ ├── layer-2/ # Reference Registry (Context)
│ │ ├── tlctc-reference.schema.json # Schema for reference registries
│ │ └── example-registry.json # Example org-specific registry
│ ├── layer-3/ # Attack Path Instances (Dynamic)
│ │ ├── tlctc-attack-path.schema.json # Schema for attack path instances
│ │ └── examples/
│ │ ├── solarwinds-2020.json # SolarWinds supply chain incident
│ │ ├── chalk-debug-2025.json # npm phishing campaign incident
│ │ ├── midnight-blizzard-microsoft-2024.json # Midnight Blizzard → Microsoft OAuth pivot
│ │ └── unresolved-step-example-2026.json # Unresolved-step operators (?/…) reference
│ └── layer-4/ # FAIR Risk Quantification (Risk)
│ ├── tlctc-fair-risk.schema.json # Schema for FAIR risk assessment instances
│ └── examples/
│ └── scattered-spider-2024-fair.json # SCATTERED SPIDER FAIR risk assessment
├── grammar/ # Standalone ABNF grammar for path notation
│ ├── README.md # Grammar documentation & tooling notes
│ └── tlctc-attack-path.abnf # ABNF grammar for TLCTC attack-path syntax
├── documentation/
│ ├── tlctc-v2.0-whitepaper.md # Canonical V2.1 White Paper (filename kept for link stability)
│ ├── tlctc-v2.0-whitepaper.pdf # PDF export of the white paper
│ ├── tlctc-glossary.md # Comprehensive definitions
│ ├── tlctc-glossary.pdf # PDF export of the glossary
│ ├── tlctc-v2.0-json-architecture.md # JSON Architecture Specification
│ ├── tlctc-fair-integration-proposal.md # FAIR integration proposal (Layer 4 spec)
│ ├── tlctc-cve-extension-proposal.md # CVE extension proposal
│ ├── tlctc-plus-ncsc-proposal.md # TLCTC+ national reporting extension — policy proposal (v0.1)
│ ├── tlctc-plus-specification.md # TLCTC+ implementation specification (v0.3) — grammar, conformance, catalogues
│ ├── propagated-controls.md # Managing controls over event chains — generalizes Propagated PR to BCM, contractual, and policy sources
│ ├── npm-supply-chain-blog-final.md # npm supply chain threat analysis
│ ├── Why Exactly Ten_ — TLCTC Framework Architecture.pdf # Framework architecture rationale
│ └── images/ # Diagrams and visual assets
│ ├── tlctc-bowtie-anchor-diagram.svg
│ ├── tlctc-consequence-chain.svg
│ ├── tlctc-cyber-bow-tie.svg
│ ├── tlctc-dual-layer-bowtie-overview.svg
│ └── tlctc-dual-layer-naming.svg
├── tools/
│ ├── README.md # Tool index & JSON format reference
│ ├── threat-modeling.html # SDLC threat modeling & architecture analysis
│ ├── attack-path-architect.html # Incident attack path documentation & CTI exchange
│ ├── actor-profile-designer.html # Threat actor capability profiling & comparison (573 actors: 59 expert-scored + 514 ETDA heuristic-scored)
│ ├── actor-story-designer.html # Threat intelligence story/narrative builder
│ ├── radar-tlctc-app.html # Interactive threat radar visualization & assessment
│ ├── tech-enablers-radar.html # Technology enabler radar for emerging threat vectors
│ ├── control-matrix.html # NIST CSF 2.0 × TLCTC control matrix with maturity scoring
│ ├── attck-explorer.html # MITRE ATT&CK technique explorer with TLCTC mapping
│ ├── attck-phase-heatmap.html # ATT&CK phase heatmap visualization
│ ├── cwe-explorer.html # CWE weakness explorer with TLCTC mapping
│ ├── cbp-app.html # Cluster-based prioritization application
│ ├── cbp-starter.json # Cluster-based prioritization starter dataset
│ ├── control-matrix-starter.json # NIST CSF control-matrix starter
│ ├── control-matrix-starter-iso27001.json # ISO 27001 control-matrix starter
│ ├── control-matrix-starter-cloudflare-2026.json # Cloudflare-2026 control-matrix starter
│ ├── score_etda.py # ETDA→TLCTC scoring engine: tool arsenal + description mining, calibrated against expert data
│ ├── generate-cs2026-report.js # CrowdStrike-2026 report generator
│ ├── generate-iso27001-starter.py # ISO 27001 control-matrix starter generator
│ ├── replace-cdn.sh # CDN link rewrite helper
│ └── examples/ # Starter templates & real-world example datasets
│ ├── template-threat-model.json # Blank threat model starter
│ ├── template-attack-path.json # Blank attack path starter
│ ├── template-actor-profile.json # Blank actor profile starter
│ ├── CTA-CrowdStrike2025.json # CrowdStrike 2025 Global Threat Report actors
│ ├── CTA-CrowdStrike2026.json # CrowdStrike 2026 Global Threat Report actors
│ ├── CTA-Cloudflare-2026.json # Cloudflare 2026 threat actors
│ ├── CTA-Mandiant-2026.json # Mandiant M-Trends 2026 threat actors
│ ├── CTA-Google-APT-Groups.json # Google APT group profiles
│ ├── CTA-NCSC-SituationRadar-2024-2025.json # NCSC Situation Radar threat data
│ ├── CTA-NCSC-TAC-Profiles.json # NCSC threat actor capability profiles
│ ├── radar-cloudflare-2026.json # Cloudflare 2026 radar dataset
│ ├── radar-crowdstrike-2026.json # CrowdStrike 2026 radar dataset
│ ├── radar-mandiant-2026.json # Mandiant 2026 radar dataset
│ ├── radar-mandiant-2026-industries.json # Mandiant 2026 industry-specific radar
│ ├── stories-cloudflare-2026.json # Cloudflare 2026 threat narratives
│ ├── stories-crowdstrike-2026.json # CrowdStrike 2026 threat narratives
│ ├── stories-mandiant-2026.json # Mandiant 2026 threat narratives
│ ├── control-matrix-cloudflare-2026.json # Cloudflare 2026 control matrix
│ ├── control-matrix-crowdstrike-2026.json # CrowdStrike 2026 control matrix
│ ├── control-matrix-mandiant-2026.json # Mandiant 2026 control matrix
│ ├── tech-enablers-horizon-2026.json # Technology enablers horizon scan 2026
│ ├── tech-enablers-agentic-focus-2026.json # Agentic AI technology enablers 2026
│ ├── ncsc-google-2024-JB-bericht*.json # NCSC/Google 2024 annual report datasets (5 files)
│ └── npm-*.json # npm supply chain incident examples (3 files)
├── glossary/
│ ├── tlctc-glossary.schema.json # Schema for universal cyber security glossary
│ └── tlctc-glossary.json # 72 terms: clusters, axioms, rules, notation, architecture, boundary operators
├── agentic-ai/ # Analysis of AI semantics in Cyber Threats
│ ├── README.md # Overview and methodology
│ ├── agentic-consequence-chains.json # Consequence chain examples
│ ├── agentic-tool-profiles.json # 5 tool category risk profiles
│ ├── agentic-irreversibility-matrix.json # Irreversibility windows per consequence type
│ └── attack-paths/ # 10 individual agentic AI attack paths (A–J)
│ ├── path-A-direct-prompt-injection.json
│ ├── path-B-indirect-prompt-injection.json
│ ├── path-C-social-engineering-operator.json
│ ├── path-D-credential-access.json
│ ├── path-E-agent-as-lolbin.json
│ ├── path-F-runtime-exploit.json
│ ├── path-G-rogue-agent-install.json
│ ├── path-H-supply-chain-marketplace.json
│ ├── path-I-apt-in-a-box.json
│ └── path-J-llm-weaponization-supply-chain.json
├── attack-paths/ # Community-contributed incident analyses (50 incidents)
│ ├── CONTRIBUTING.md
│ ├── # Canonical pattern reference
│ ├── ad-domain-admin-cascade-2025.json # Active Directory Domain-Admin → ransomware #1-cascade (composite pattern: Lynx, Storm-2603, Storm-0300/Akira)
│ ├── # Historical incidents (2008–2024)
│ ├── agent-btz-usb-2008.json # USB worm (2008)
│ ├── watering-hole-iphonedevsdk-2013.json # Watering hole (2013)
│ ├── darkhotel-wifi-2014.json # Hotel Wi-Fi (2014)
│ ├── ubiquiti-bec-2015.json # BEC wire fraud (2015)
│ ├── ukraine-power-grid-2015.json # ICS power grid (2015)
│ ├── uber-breach-2016.json # Credential stuffing (2016)
│ ├── mirai-botnet-2016.json # IoT botnet (2016)
│ ├── capital-one-2019.json # SSRF cloud (2019)
│ ├── credential-stuffing-2020.json # Credential stuffing (2020)
│ ├── twitter-hack-2020.json # Social engineering (2020)
│ ├── colonial-pipeline-2021.json # Ransomware (2021)
│ ├── pegasus-forcedentry-2021.json # Zero-click exploit (2021)
│ ├── okta-lapsus-2022.json # Supply chain (2022)
│ ├── lockbit-byovd-2023.json # BYOVD ransomware (2023)
│ ├── cloudflare-http-ddos-2023.json # HTTP/2 DDoS (2023)
│ ├── tesla-insider-2023.json # Insider threat (2023)
│ ├── tesla-k8s-cryptojacking-2018.json # K8s cryptojacking (2018)
│ ├── lojax-uefi-2018.json # UEFI rootkit (2018)
│ ├── change-healthcare-2024.json # Healthcare ransomware (2024)
│ ├── # Cloudflare 2026 Threat Report sourced (13 incidents)
│ ├── grub1-saas-pivot-2025.json # GRUB1 Salesloft/Drift SaaS pivot
│ ├── opencode-exploit-chain-2025.json # OpenCode AI IDE RCE chain
│ ├── frumpytoad-toughprogress-2025.json # FrumpyToad ToughProgress phishing
│ ├── nastyshrew-ukraine-2025.json # NastyShrew Ukraine espionage
│ ├── rottenshrew-signal-2025.json # RottenShrew Signal device linking
│ ├── clumsytoad-snakedisk-2025.json # ClumsyToad SnakeDisk USB wiper
│ ├── punytoad-f5-bigip-2025.json # PunyToad F5 BIG-IP exploitation
│ ├── nk-it-worker-infiltration-2025.json # DPRK IT worker infiltration scheme
│ ├── infostealer-ransomware-pipeline-2025.json # Infostealer → IAB → ransomware pipeline
│ ├── aisuru-ddos-2025.json # Aisuru botnet DDoS-for-hire
│ ├── authorized-insider-extortion-2025.json # Authorized insider extortion
│ ├── bot-chain-lifecycle-2025.json # Bot chain lifecycle (IoT → proxy)
│ ├── raccoon-phaas-aitm-2025.json # Raccoon PhaaS AiTM credential theft
│ ├── # Mandiant M-Trends 2026 sourced (6 incidents)
│ ├── mandiant-handoff-ransomware-2025.json # Infostealer → IAB → ransomware hand-off
│ ├── mandiant-multi-year-espionage-2025.json # Multi-year espionage campaign
│ ├── mandiant-saas-cascade-2025.json # SaaS token cascade
│ ├── mandiant-edge-device-exploitation-2025.json # Edge device exploitation
│ ├── mandiant-esxi-virtualization-2025.json # ESXi VMDK-mount credential dump
│ ├── mandiant-recovery-denial-2025.json # Recovery denial ransomware
│ ├── # CrowdStrike 2026 Global Threat Report sourced (8 incidents)
│ ├── scattered-spider-unmanaged-vm-2025.json # SCATTERED SPIDER unmanaged VM credential dump
│ ├── pressure-chollima-bybit-2025.json # PRESSURE CHOLLIMA Bybit $1.46B supply chain
│ ├── fancy-bear-lamehug-2025.json # FANCY BEAR LAMEHUG LLM-enabled malware
│ ├── blockade-spider-embargo-2025.json # BLOCKADE SPIDER cross-domain Embargo ransomware
│ ├── cozy-bear-oauth-ngo-2025.json # COZY BEAR multi-day OAuth phishing
│ ├── chatty-spider-lawfirm-2025.json # CHATTY SPIDER 4-minute law firm intrusion
│ ├── punk-spider-smb-encryption-2025.json # PUNK SPIDER remote SMB encryption via IoT
│ ├── famous-chollima-beavertail-2025.json # FAMOUS CHOLLIMA fake recruiter npm + BeaverTail
│ ├── # npm ecosystem sourced (3 incidents)
│ ├── s1ngularity-nx-2025.json # S1ngularity NX npm campaign
│ ├── chalk-debug-phishing-2025.json # chalk-debug npm phishing
│ └── shai-hulud-worm-2025.json # ShaiHulud self-propagating npm worm
└── LICENSE # CC BY 4.0
```
## 入门指南
1. **阅读公理** — 它们是不可协商的基础。如果跳过它们,你会错误分类。
2. **理解领结模型** — 威胁是原因,结果是后果。永远不要将它们混淆。
3. **演练攻击路径** — 拿任何最新的事件报告,并将其分解为 TLCTC 表示法。
4. **使用 JSON Schema** — 针对第 3 层 schema 验证你的攻击路径实例。
5. **探索 ATT&CK 映射** — 参见 [`mappings/mitre-attack-enterprise/`](mappings/mitre-attack-enterprise/) 了解运营技术如何转化为战略集群。
6. **探索 CWE 映射** — 参见 [`mappings/mitre-cwe/`](mappings/mitre-cwe/) 将漏洞发现与威胁集群联系起来。
7. **追踪主动利用** — 参见 [`mappings/cisa-kev/`](mappings/cisa-kev/) 获取 CISA 已知被利用漏洞目录的 TLCTC 集群视图(1,568 个 CVEs,每周可刷新,确定性推导)。
8. **使用词汇表** — 参见 [`glossary/`](glossary/) 获取所有 TLCTC 术语和网络安全词汇的精确、机器可读定义。
9. **学习边界和认知论算子** — [白皮书](https://www.tlctc.net/tlctc-v2.0-whitepaper.html) 涵盖了传输边界、系统内边界、未决步骤算子以及认知状态层级。
10. **阅读扩展提案** — TLCTC+ 有两份配套文档:[`tlctc-plus-ncsc-proposal.md`](documentation/tlctc-plus-ncsc-proposal.md)(v0.1 政策提案——*原因*)和 [`tlctc-plus-specification.md`](documentation/tlctc-plus-specification.md)(v0.3 实现规范——*方法*:语法、一致性、BRE/PATTERN/IMPACT/REPORT 目录、JSON 格式)。有关其他框架扩展,请参见 [`tlctc-cve-extension-proposal.md`](documentation/tlctc-cve-extension-proposal.md)(CVE 扩展)和 [`tlctc-fair-integration-proposal.md`](documentation/tlctc-fair-integration-proposal.md)(FAIR 风险量化)。
## 贡献
我们欢迎社区贡献,特别是:
- 使用 TLCTC 表示法对真实世界事件进行的**攻击路径映射**
- **框架集成示例**(MITRE ATT&CK 映射、NIST CSF 控制矩阵)
- 消耗或产出 TLCTC 的**工具**(参见 [`tools/`](tools/) 获取现有的独立应用程序)
- **词汇表术语** — 为通用网络安全词汇表提出新术语或完善定义
有关准则,请参见 [`attack-paths/CONTRIBUTING.md`](attack-paths/CONTRIBUTING.md)。
## 资源
| 资源 | 描述 |
|---|---|
| [tlctc.net](https://tlctc.net) | 包含文档、视觉材料和工具的官方 TLCTC 网站 |
| [V2.1 白皮书](https://www.tlctc.net/tlctc-v2.0-whitepaper.html) | 规范定义、边界逻辑、认知论算子和完整规范 |
| [barnes.ch](https://barnes.ch) | 作者网站,包含关于网络安全语言问题的基础分析 |
## 许可证
所有 TLCTC 框架定义、表示法、公理和 JSON 架构均在 **[知识共享署名 4.0 国际许可 (CC BY 4.0)](https://creativecommons.org/licenses/by/4.0/)** 下授权。
您可以出于任何目的(包括商业用途)自由分享和改编这些材料,前提是您必须提供适当的署名。
*TLCTC 由 Bernhard Kreinz 创建,旨在解决网络安全根本性的语言问题——因为您无法管理您无法一致命名的事物。*
标签:Bow-Tie模型, CSP, meg, TLCTC, 信息安全, 后端开发, 因果分析, 多模态安全, 威胁分类, 威胁情报, 安全建模, 安全标准, 开发者工具, 攻击者归因, 数据可视化, 漏洞分类, 网络威胁集群, 网络安全, 网络安全语义学, 逆向工具, 通用漏洞, 隐私保护