marez8505/ThreatIntel
GitHub: marez8505/ThreatIntel
生产级威胁情报聚合与IOC丰富化平台,支持STIX 2.1标准化、多源关联分析与自动化信誉评分。
Stars: 0 | Forks: 0
# ThreatIntel
**威胁情报聚合与 IOC 丰富化平台**
ThreatIntel 是一个生产级的 Python 平台,展示了 **Tier 2–3 SOC 和网络威胁情报 (CTI) 分析师的能力**。它从多个威胁情报源摄取、丰富、关联并导出失陷指标,将发现结果映射到 MITRE ATT&CK 框架并生成可供分析师使用的报告。
## 目录
- [什么是威胁情报?](#what-is-threat-intelligence)
- [关键 CTI 概念](#key-cti-concepts)
- [功能特性](#features)
- [快速开始](#quick-start)
- [CLI 参考](#cli-reference)
- [项目结构](#project-structure)
- [模块概述](#module-overview)
- [IOC 类型与验证](#ioc-types-and-validation)
- [STIX 2.1 处理](#stix-21-processing)
- [信誉评分模型](#reputation-scoring-model)
- [MITRE ATT&CK 映射](#mitre-attck-mapping)
- [示例 Feed](#sample-feeds)
- [运行测试](#running-tests)
- [开发](#development)
## 什么是威胁情报?
**网络威胁情报 (CTI)** 是关于组织当前和潜在威胁的结构化、经过分析的信息。它回答了这个问题:*对手正在做什么,他们是如何做的,以及他们留下了什么痕迹?*
### 情报生命周期
```
Planning → Collection → Processing → Analysis → Dissemination → Feedback
```
1. **规划**:定义情报需求(哪些威胁对我们重要?)
2. **收集**:从 Feed、OSINT、暗网监控、内部遥测数据收集原始数据
3. **处理**:解析、规范化、去重 IOC 数据
4. **分析**:丰富 IOC、聚类攻击活动、映射到 ATT&CK
5. **分发**:生成报告、推送到 SIEM/SOAR、导出 STIX bundle
6. **反馈**:验证情报质量、优化收集策略
### IOC 生命周期
**失陷指标 (IOC)** 是识别恶意活动的取证痕迹:
```
Ingestion → Validation → Enrichment → Scoring → Correlation → Reporting → Expiry
```
IOC 具有**生存时间 (TTL)**:IP 会轮换,域名会被查封,哈希会过期。ThreatIntel 跟踪 `first_seen`、`last_seen`,并应用指数衰减评分来计算基于时效性的相关性。
## 关键 CTI 概念
### STIX 2.1 (Structured Threat Information eXpression)
[STIX 2.1](https://docs.oasis-open.org/cti/stix/v2.1/) 是基于 JSON 的行业标准语言,用于表示威胁情报。ThreatIntel 生成并解析有效的 STIX 2.1 bundle,其中包含:
| STIX Object | 用途 |
|---|---|
| `indicator` | 表示带有检测模式的 IOC |
| `malware` | 描述恶意软件家族或实例 |
| `attack-pattern` | 引用 MITRE ATT&CK 技术 |
| `relationship` | 链接对象(indicator → indicates → malware) |
| `campaign` | 按威胁行为者活动对指标进行分组 |
| `identity` | 工具来源和组织背景 |
| `observed-data` | 原始网络可观测 sightings |
STIX 模式描述了要检测的内容:
```
[ipv4-addr:value = '185.220.101.47']
[domain-name:value = 'darkvipr-update1.xyz']
[file:hashes.'SHA-256' = 'b94f6f...']
```
### TAXII (Trusted Automated eXchange of Intelligence Information)
TAXII 是用于共享 STIX 数据的传输协议。虽然 ThreatIntel 专注于本地 STIX bundle 处理(而非实时 TAXII 客户端),但生成的 bundle 完全兼容 TAXII 2.1 集合。
### 入侵分析钻石模型
[钻石模型](https://www.activeresponse.org/wp-content/uploads/2013/07/diamond.pdf) 沿四个轴描述入侵:
```
Adversary
/ \
Capability Infrastructure
\ /
Victim
```
ThreatIntel 跟踪所有四个轴:
- **对手**:攻击活动名称、威胁行为者归属
- **能力**:文件哈希、TTP(MITRE 技术)
- **基础设施**:IP 地址、域名、C2 URL
- **受害者**:不直接跟踪,但威胁类别暗示了攻击目标
### ATT&CK 框架
[MITRE ATT&CK Enterprise Matrix](https://attack.mitre.org/matrices/enterprise/) 编目了 14 个战术类别和在真实入侵中观察到的数百种技术。ThreatIntel 将 IOC 特征映射到相关技术:
| IOC 类型 | 常见技术 |
|---|---|
| IP 地址 (C2) | T1071.001 (Web Protocols), T1090.003 (Multi-hop Proxy) |
| 域名 (DGA) | T1071.004 (DNS), T1583.001 (Acquire Domains) |
| 钓鱼 URL | T1566.002 (Spearphishing Link), T1204 (User Execution) |
| 文件哈希 | T1059 (Scripting), T1027 (Obfuscated Files) |
| 电子邮件 | T1566.001 (Spearphishing Attachment) |
### IOC Feed 与置信度
威胁情报 Feed 的质量差异巨大。ThreatIntel 为每个 Feed 分配 **1–5 的置信度评级**:
| 评级 | 含义 |
|---|---|
| 5/5 | 内部 IR 团队、经过审查的 ISAC Feed |
| 4/5 | 商业威胁情报提供商 |
| 3/5 | 开源/社区 Feed (OSINT) |
| 2/5 | 低置信度自动 Feed |
| 1/5 | 未经验证的众包数据 |
## 功能特性
- **多格式摄取**:CSV, JSON, STIX 2.1, OpenIOC XML, 纯文本
- **IOC 验证**:IPv4/IPv6(RFC、私有/保留地址)、域名(TLD + DGA 熵)、哈希(MD5/SHA-1/SHA-256)、URL(协议 + 可疑路径)、电子邮件
- **离线丰富化**:地理位置启发式、WHOIS 风格上下文、DGA 评分、Tor 出口节点检测、CDN 识别 —— 无需外部 API 调用
- **信誉评分 (0–100)**:多信号评分,结合 Feed 存在性、置信度、时效衰减、上下文信号、攻击活动关联和 MITRE 覆盖广度
- **MITRE ATT&CK 映射**:根据 IOC 类型和威胁类别自动建议技术
- **跨 Feed 关联**:6 种关联方法(精确重叠、攻击活动聚类、/24 子网邻近度、域名模式、时间共现、MITRE 技术重叠)
- **STIX 2.1 导出**:生成包含 indicator、malware、attack-pattern 和 relationship 的有效 bundle
- **HTML + JSON 报告**:包含 KPI、关联表和 ATT&CK 覆盖率的自包含深色主题 HTML 报告
- **Feed 生命周期**:基于 TTL 的过期、首次/末次发现跟踪、跨 Feed 去重
- **完整 CLI**:`ingest`、`enrich`、`correlate`、`report`、`export`、`demo` 命令
## 快速开始
### 前置条件
需要 Python 3.8+。
```
# 克隆 / 导航到项目
cd ThreatIntel/
# 安装依赖
pip install -r requirements.txt
# 安装为包(可选)
pip install -e .
```
### 运行演示
```
python -m threatintel demo
```
这将在包含的示例 Feed 上运行完整流水线,并在 `demo_output/` 中生成报告:
```
demo_output/
├── threat_report.html ← Open in browser
├── threat_report.json ← Machine-readable report
├── correlations.json ← Correlation clusters
└── export_stix.json ← STIX 2.1 bundle
```
## CLI 参考
### `ingest` — 解析并显示 Feed
```
python -m threatintel ingest --feed feeds/sample_feed_1.csv --type csv --confidence 4
python -m threatintel ingest --feed feeds/sample_feed_2.json --enrich
python -m threatintel ingest --feed feeds/sample_stix_bundle.json --type stix --limit 30
```
| 标志 | 描述 |
|---|---|
| `--feed FILE` | Feed 文件路径(必需) |
| `--type FORMAT` | 强制指定格式:`csv`、`json`、`stix`、`text`、`openioc` |
| `--confidence N` | Feed 置信度 1–5(默认值:3) |
| `--campaign NAME` | 为没有活动名称的 IOC 指定活动名称 |
| `--limit N` | 最多显示的 IOC 数量(默认值:20) |
| `--enrich` | 显示前进行丰富化和评分 |
### `enrich` — 丰富化单个 IOC
```
python -m threatintel enrich --ioc 185.220.101.47 --type ip
python -m threatintel enrich --ioc darkvipr-update1.xyz --type domain
python -m threatintel enrich --ioc "http://evil.com/gate.php" --type url
python -m threatintel enrich --ioc b94f6f125c79e3a5ffaa826f584c10d52ada669e6762ea2a6b684f8f39a73e88 --json
```
| 标志 | 描述 |
|---|---|
| `--ioc VALUE` | 要丰富化的 IOC 值(必需) |
| `--type TYPE` | 覆盖类型:`ip`、`domain`、`url`、`md5`、`sha256`、`email` |
| `--campaign NAME` | 攻击活动上下文 |
| `--feed FEED_ID` | Feed 来源标签(默认值:`cli`) |
| `--json` | 输出为 JSON 而非格式化文本 |
### `correlate` — 跨 Feed 关联分析
```
python -m threatintel correlate --feeds-dir feeds/ --output correlations.json
python -m threatintel correlate --feeds-dir feeds/ --min-cluster-size 3
```
| 标志 | 描述 |
|---|---|
| `--feeds-dir DIR` | Feed 文件目录(必需) |
| `--output FILE` | 输出 JSON 文件(默认值:`correlations.json`) |
| `--confidence N` | 默认 Feed 置信度 |
| `--min-cluster-size N` | 每个集群的最小 IOC 数(默认值:2) |
### `report` — 生成威胁报告
```
python -m threatintel report --feeds-dir feeds/ --format html --output ./report/
python -m threatintel report --feeds-dir feeds/ --format json --output report.json
python -m threatintel report --feeds-dir feeds/ --format both --output ./report/
```
| 标志 | 描述 |
|---|---|
| `--feeds-dir DIR` | Feed 文件目录(必需) |
| `--format FORMAT` | `html`、`json` 或 `both`(默认值:`html`) |
| `--output PATH` | 输出目录(HTML)或文件(JSON) |
| `--title TEXT` | 报告标题 |
### `export` — 导出丰富化后的 IOC
```
python -m threatintel export --feeds-dir feeds/ --format stix --output export.json
python -m threatintel export --feeds-dir feeds/ --format csv --output iocs.csv
python -m threatintel export --feeds-dir feeds/ --format json --output iocs.json --active-only
```
| 标志 | 描述 |
|---|---|
| `--feeds-dir DIR` | Feed 文件目录(必需) |
| `--format FORMAT` | `stix`、`csv` 或 `json`(默认值:`stix`) |
| `--output FILE` | 输出文件路径 |
| `--active-only` | 仅导出未过期的 IOC |
### `demo` — 完整端到端演示
```
python -m threatintel demo
python -m threatintel demo --feeds-dir feeds/ --output-dir demo_output/
```
## 项目结构
```
ThreatIntel/
├── threatintel/
│ ├── __init__.py # Package exports, version
│ ├── __main__.py # python -m threatintel entry point
│ ├── main.py # CLI: argparse dispatch for all commands
│ ├── ioc_types.py # IOC dataclass + type validation functions
│ ├── ioc_parser.py # Multi-format feed parser
│ ├── stix_processor.py # STIX 2.1 bundle generation and parsing
│ ├── enrichment_engine.py # Offline IOC context enrichment
│ ├── reputation_scorer.py # Multi-signal 0-100 reputation scoring
│ ├── correlator.py # Cross-feed IOC correlation (6 methods)
│ ├── mitre_mapper.py # MITRE ATT&CK technique catalog + mapping
│ ├── feed_manager.py # Feed ingestion, deduplication, TTL lifecycle
│ ├── report_generator.py # HTML + JSON report generation (Jinja2)
│ └── utils.py # Terminal output, JSON serialization, pipeline helper
├── feeds/
│ ├── sample_feed_1.csv # DarkViper APT campaign (50 IOCs)
│ ├── sample_feed_2.json # CredStorm phishing campaign (30 IOCs)
│ ├── sample_stix_bundle.json # STIX 2.1 bundle (20 indicators, 3 malware objects)
│ └── README.md
├── tests/
│ ├── __init__.py
│ ├── test_ioc_parser.py # Parser + type validation tests
│ ├── test_stix_processor.py # STIX generation + parsing tests
│ ├── test_reputation_scorer.py # Scoring signal tests
│ └── test_correlator.py # Correlation method tests
├── requirements.txt
├── setup.py
├── LICENSE
└── README.md
```
## 模块概述
### `ioc_types.py`
平台的核心类型系统。
- `IOCType` 枚举:`IPV4`、`IPV6`、`DOMAIN`、`URL`、`MD5`、`SHA1`、`SHA256`、`EMAIL`、`UNKNOWN`
- `IOCStatus` 枚举:`ACTIVE`、`EXPIRED`、`WHITELISTED`、`REVOKED`
- `ThreatCategory` 枚举:`MALWARE_C2`、`PHISHING`、`RANSOMWARE`、`APT`、`BOTNET` 等
- `IOC` 数据类:规范的 IOC 记录,带有 `to_dict()` / `from_dict()` 序列化
- 验证函数:`validate_ipv4()`、`validate_domain()`、`validate_hash()` 等
- `detect_ioc_type(value)`:自动将任何字符串分类为其 IOC 类型
**DGA 检测**:域名生成算法 (DGA) 评分使用香农熵和辅音-元音比率来识别算法生成的域名。
### `ioc_parser.py`
具有自动格式检测的多格式 Feed 解析器。
| 格式 | 检测方式 | 备注 |
|---|---|---|
| 纯文本 | `.txt`, `.lst` | 每行一个 IOC,支持 `#` 注释 |
| CSV | `.csv` | 根据表头优先级自动检测 IOC 列 |
| JSON | `.json` | 处理扁平列表、对象列表、包装对象 |
| STIX 2.1 | 带有 `"type":"bundle"` 的 `.json` | 完整的 STIX 模式提取 |
| OpenIOC | `.ioc`, `.xml` | 解析 `IndicatorItem` 元素 |
### `stix_processor.py`
生成并验证符合 [OASIS STIX 2.1 规范](https://docs.oasis-open.org/cti/stix/v2.1/) 的 STIX 2.1 bundle。
```
processor = STIXProcessor()
bundle = processor.generate_bundle(ioc_list, include_malware=True, include_attack_patterns=True)
is_valid, errors = processor.validate_bundle(bundle)
processor.save_bundle(bundle, "export.json")
```
### `enrichment_engine.py`
完全离线丰富化 —— 无需外部 API 调用。
| IOC 类型 | 丰富化数据 |
|---|---|
| IPv4 | RFC 验证、私有/保留/Tor、地理位置启发式、WHOIS 提示 |
| 域名 | TLD 信誉、DGA 评分(熵 + 辅音比率)、CDN 检测、punycode |
| URL | 协议、主机分析、可疑路径关键词、恶意软件文件扩展名 |
| 哈希 | 空哈希检测(空文件 MD5/SHA)、哈希类型分类 |
| 电子邮件 | 域名分析、一次性提供商检测 |
### `reputation_scorer.py`
从 7 个加权信号计算 **0–100 风险评分**:
| 信号 | 权重 | 描述 |
|---|---|---|
| 基础类型 | ~10 | IOC 类型的固有风险(hash > URL > IP > email) |
| Feed 存在性 | 25 | 每个 Feed 的收益递减(7→5→→3→2 分) |
| Feed 置信度 | 20 | 按 Feed 可靠性加权的平均置信度 |
| 时效性 | 15 | 30 天半衰期的指数衰减 |
| 上下文 | 20 | 丰富化信号:Tor、DGA、CDN、高风险国家 |
| 攻击活动 | 10 | 已知攻击活动关联 + 严重性加成 |
| MITRE 覆盖广度 | 10 | 映射的技术越多 = 操作复杂性越高 |
评分区间:`BENIGN (<20)` | `LOW (20-39)` | `MEDIUM (40-59)` | `HIGH (60-79)` | `CRITICAL (≥80)`
### `correlator.py`
六种关联方法用于识别相关的 IOC:
1. **跨 Feed 精确匹配** — 相同的 IOC 值出现在 2 个或更多 Feed 中(最高置信度)
2. **攻击活动归属** — 共享相同威胁行为者标签的 IOC
3. **子网邻近度** — 共享 /24 子网的 IP(共享托管基础设施)
4. **域名模式** — 共享相同注册域名的子域名
5. **时间共现** — 在相同时间窗口内观察到且具有重叠威胁类别的 IOC
6. **MITRE 技术重叠** — 共享 2 个或更多 ATT&CK 技术 ID 的 IOC(相同的 TTP 配置文件)
### `mitre_mapper.py`
使用包含 14 个战术下 35 多种技术的精选目录,将 IOC 特征映射到 MITRE ATT&CK Enterprise 技术。映射考虑:
- IOC 类型(哪些技术类型通常产生此痕迹)
- 威胁类别
- 丰富化上下文(Tor → T1090.003, DGA → T1071.004, 可疑 URL → T1105)
### `feed_manager.py`
具有生命周期管理的中央 IOC 存储:
```
mgr = FeedManager(default_ttl_days=90)
mgr.ingest("feeds/sample_feed_1.csv", confidence=4)
mgr.ingest("feeds/sample_feed_2.json", confidence=4)
mgr.expire_stale() # Mark old IOCs expired
iocs = mgr.get_active_iocs() # Active only
iocs = mgr.get_high_risk_iocs(min_score=60)
mgr.export_csv("export.csv")
mgr.export_json("export.json")
```
去重键:`(ioc_type, normalized_value)` —— 出现在 3 个 Feed 中的相同 IP 会变成一个 IOC,其 `feed_sources` 中包含所有 3 个 Feed ID。
## IOC 类型与验证
### IPv4/IPv6 验证
```
from threatintel.ioc_types import validate_ipv4
result = validate_ipv4("185.220.101.47")
# {
# "valid": True,
# "is_private": False,
# "is_bogon": False,
# "is_loopback": False,
# "network_class": "B",
# "possible_tor_exit": True ← heuristic from prefix tables
# }
```
RFC 1918 私有地址范围(10.x、172.16-31.x、192.168.x)、链路本地(169.254.x)、环回(127.x)和 IANA 保留范围都会被标记。私有 IP 会自动接受较大的负分调整。
### 域名 DGA 评分
```
from threatintel.ioc_types import validate_domain
validate_domain("xvnqpkrtdmb.top")
# {"dga_score": 0.72, "entropy": 3.81, "consonant_ratio": 4.5, "tld_suspicious": True}
validate_domain("google.com")
# {"dga_score": 0.04, "entropy": 2.25, "consonant_ratio": 1.5, "tld_suspicious": False}
```
DGA 评分 = `entropy_weight(0.45) + consonant_ratio_weight(0.35) + length_weight(0.20)`
### 文件哈希验证
MD5(32 位十六进制)→ SHA-1(40 位十六进制)→ SHA-256(64 位十六进制)通过长度检测。已知空哈希(空文件)会被标记并给予极低的评分。
## STIX 2.1 处理
### 生成 Bundle
```
from threatintel import STIXProcessor, FeedManager, EnrichmentEngine, ReputationScorer
mgr = FeedManager()
mgr.ingest("feeds/sample_feed_1.csv", confidence=4)
iocs = mgr.get_active_iocs()
# 丰富信息与评分
engine = EnrichmentEngine()
engine.enrich_batch(iocs)
scorer = ReputationScorer()
scorer.score_batch(iocs)
# 生成 STIX bundle
processor = STIXProcessor()
bundle = processor.generate_bundle(iocs, include_malware=True, include_attack_patterns=True)
is_valid, errors = processor.validate_bundle(bundle)
processor.save_bundle(bundle, "export.json")
```
### Bundle 内容
```
{
"type": "bundle",
"spec_version": "2.1",
"id": "bundle--",
"objects": [
{"type": "identity", ...},
{"type": "indicator", "pattern": "[ipv4-addr:value = '185.220.101.47']", ...},
{"type": "malware", "name": "DarkViper RAT", ...},
{"type": "attack-pattern", "external_references": [{"external_id": "T1071.001"}], ...},
{"type": "relationship", "relationship_type": "indicates", ...},
...
]
}
```
## 信誉评分模型
```
Score = base_type + feed_presence + feed_confidence + recency + context + campaign + mitre
(0-10) (0-25) (0-20) (0-15) (-15 to +20) (0-10) (0-10)
```
限制在 [0, 100] 范围内。
**负向调整**(上下文信号):
- 私有 IP:−15
- CDN/已知良性域名:−10
- 空哈希:−10
**正向提升**(上下文信号):
- Tor 出口节点:+10
- DGA 候选:+8
- 高风险国家(RU/CN/KP/IR):+7
- 可疑 TLD:+5
- URL 中的恶意软件文件扩展名:+6
- 可疑 URL 路径:+5
## MITRE ATT&CK 映射
```
from threatintel import MitreMapper, IOC, IOCType, ThreatCategory
from datetime import datetime, timezone
ioc = IOC("185.220.101.47", IOCType.IPV4,
threat_categories=[ThreatCategory.MALWARE_C2],
feed_sources=["f1"])
mapper = MitreMapper()
techniques = mapper.map_ioc(ioc)
# [
# {"id": "T1090.003", "name": "Proxy: Multi-hop Proxy", "tactic": "Command and Control", ...},
# {"id": "T1071.001", "name": "Application Layer Protocol: Web Protocols", ...},
# ...
# ]
```
## 示例 Feed
`feeds/` 中包含三个真实的示例 Feed:
| Feed | 格式 | IOC 数量 | 攻击活动 | 备注 |
|---|---|---|---|---|
| `sample_feed_1.csv` | CSV | 50 | DarkViper APT | C2 IP、DGA 域名、哈希、URL |
| `sample_feed_2.json` | JSON | 30 | CredStorm | 钓鱼域名、URL、电子邮件 |
| `sample_stix_bundle.json` | STIX 2.1 | 20 个 indicator + 总共 82 个对象 | 两者 | 带有关系的完整 STIX bundle |
**10–12 个 IOC 在 Feed 之间重叠**,用于演示关联检测。
## 运行测试
```
# 从 ThreatIntel/ 目录
python -m pytest tests/ -v
# 或者使用 unittest
python -m unittest discover tests/ -v
# 单独的测试文件
python -m pytest tests/test_ioc_parser.py -v
python -m pytest tests/test_stix_processor.py -v
python -m pytest tests/test_reputation_scorer.py -v
python -m pytest tests/test_correlator.py -v
```
测试覆盖范围包括:
- 4 个测试文件中的 100 多个断言
- 所有 IOC 类型验证器
- 多格式解析器(text、CSV、JSON、STIX、OpenIOC)
- STIX bundle 生成和验证
- 信誉评分信号(Feed 存在性、置信度、时效性、上下文、攻击活动、MITRE)
- 所有 6 种关联方法
- Feed 重叠矩阵
## 开发
### 添加新的 Feed 格式
1. 在 `ioc_parser.py` 中添加解析器函数(参见 `parse_text()` 作为模板)
2. 在 `parse_feed()` 的 `dispatch` 字典中注册该格式
3. 如有需要,在 `detect_format()` 中添加检测逻辑
4. 在 `tests/test_ioc_parser.py` 中添加测试
### 添加 MITRE 技术
编辑 `mitre_mapper.py` 中的 `MITRE_TECHNIQUE_CATALOG`:
```
"T1234.001": {
"name": "My New Technique",
"tactic": "Command and Control",
"description": "Adversaries...",
"ioc_types": [IOCType.DOMAIN, IOCType.URL],
"categories": [ThreatCategory.MALWARE_C2],
}
```
### 扩展信誉评分器
调整 `reputation_scorer.py` 顶部的权重常量:
```
WEIGHT_FEED_PRESENCE = 25
WEIGHT_FEED_CONFIDENCE = 20
WEIGHT_AGE = 15
# ...
```
通过实现 `_score_new_factor(self, ioc: IOC) -> float` 并将其添加到 `_compute_breakdown()` 中来添加新的评分因子。
## 许可证
MIT License — Copyright (c) 2024 Edward Marez
完整文本请参阅 [LICENSE](LICENSE)。
*ThreatIntel 展示了实用的 CTI 工程技能:STIX 2.1 合规性、多 Feed 聚合、评分模型和可供分析师使用的报告 —— 这是 Tier 2–3 SOC 或 CTI 分析师角色的核心技术能力。*
标签:Cloudflare, DAST, HTTP/HTTPS抓包, IOC富化, MITRE ATT&CK, Python, STIX 2.1, STIX Parser, Threat Intelligence Platform, Tier 2 Analyst, Tier 3 Analyst, TLP, 信誉评分, 入侵指标, 关联分析, 威胁分析, 威胁情报, 安全报告, 安全运营中心, 开发者工具, 态势感知, 恶意软件分析, 情报源, 情报聚合, 文档结构分析, 无后门, 网络安全, 网络映射, 自动化侦查工具, 自动化响应, 逆向工具, 隐私保护