processing-stix-taxii-feeds
处理通过 TAXII 2.1 服务器分发的 STIX 2.1 威胁情报包,将对象规范化为平台原生模式并路由到相应消费系统。适用于接入新的 TAXII 集合端点、自动化与 ISAC 的双向情报共享,或为格式错误的 STIX 包构建管道验证。当涉及 OASIS STIX、TAXII 服务器配置、MISP TAXII 或 Cortex XSOAR 情报源集成时激活。
Best use case
processing-stix-taxii-feeds is best used when you need a repeatable AI agent workflow instead of a one-off prompt.
处理通过 TAXII 2.1 服务器分发的 STIX 2.1 威胁情报包,将对象规范化为平台原生模式并路由到相应消费系统。适用于接入新的 TAXII 集合端点、自动化与 ISAC 的双向情报共享,或为格式错误的 STIX 包构建管道验证。当涉及 OASIS STIX、TAXII 服务器配置、MISP TAXII 或 Cortex XSOAR 情报源集成时激活。
Teams using processing-stix-taxii-feeds 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
Manual Installation
- Download SKILL.md from GitHub
- Place it in
.claude/skills/processing-stix-taxii-feeds/SKILL.mdinside your project - Restart your AI agent — it will auto-discover the skill
How processing-stix-taxii-feeds Compares
| Feature / Agent | processing-stix-taxii-feeds | Standard Approach |
|---|---|---|
| Platform Support | Not specified | Limited / Varies |
| Context Awareness | High | Baseline |
| Installation Complexity | Unknown | N/A |
Frequently Asked Questions
What does this skill do?
处理通过 TAXII 2.1 服务器分发的 STIX 2.1 威胁情报包,将对象规范化为平台原生模式并路由到相应消费系统。适用于接入新的 TAXII 集合端点、自动化与 ISAC 的双向情报共享,或为格式错误的 STIX 包构建管道验证。当涉及 OASIS STIX、TAXII 服务器配置、MISP TAXII 或 Cortex XSOAR 情报源集成时激活。
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
# 处理 STIX/TAXII 情报源
## 使用场景
在以下情况使用本技能:
- 从政府情报源(CISA AIS、FS-ISAC)或商业提供商接入新的 TAXII 2.1 集合
- 在导入前验证摄入的 STIX 包是否符合 OASIS STIX 2.1 规范
- 构建解析 STIX 关系对象以重建活动上下文的自动化管道
**不适用**于 Recorded Future JSON、CrowdStrike IOC 列表等专有厂商情报格式(需要厂商专属解析器而非 STIX 处理)。
## 前置条件
- Python 3.9+,安装 `stix2` 库(pip install stix2)和 `taxii2-client` 库
- 可访问 TAXII 2.1 服务器端点,具备有效凭证
- 目标 TIP 或 SIEM 具备导入 API(MISP、OpenCTI 或 Splunk ES)
## 工作流
### 步骤 1:发现 TAXII 服务器集合
```python
from taxii2client.v21 import Server, as_pages
server = Server("https://cti.example.com/taxii/",
user="apiuser", password="apikey")
api_root = server.api_roots[0]
for collection in api_root.collections:
print(collection.id, collection.title, collection.can_read)
```
选择与您威胁画像相关的集合。CISA AIS 提供按行业分段的集合(金融、能源、医疗)。
### 步骤 2:分页获取 STIX 包
```python
from taxii2client.v21 import Collection
from datetime import datetime, timedelta, timezone
collection = Collection(
"https://cti.example.com/taxii/api1/collections/<id>/objects/",
user="apiuser", password="apikey")
# 仅获取过去 24 小时内新增的对象
added_after = datetime.now(timezone.utc) - timedelta(hours=24)
for bundle_page in as_pages(collection.get_objects,
added_after=added_after, per_request=100):
process_bundle(bundle_page)
```
### 步骤 3:解析和验证 STIX 对象
```python
import stix2
def process_bundle(bundle_dict):
bundle = stix2.parse(bundle_dict, allow_custom=True)
for obj in bundle.objects:
if obj.type == "indicator":
validate_indicator(obj)
elif obj.type == "threat-actor":
upsert_threat_actor(obj)
elif obj.type == "relationship":
link_objects(obj)
def validate_indicator(indicator):
required = ["id", "type", "spec_version", "created",
"modified", "pattern", "pattern_type", "valid_from"]
for field in required:
if not hasattr(indicator, field):
raise ValueError(f"缺少必填字段: {field}")
# 检查置信度范围
if hasattr(indicator, "confidence"):
assert 0 <= indicator.confidence <= 100
```
### 步骤 4:将对象路由到消费平台
将 STIX 对象类型映射到目标系统:
- `indicator` 对象 → SIEM 查询表和防火墙封锁列表
- `malware` 对象 → EDR 威胁情报库
- `threat-actor` / `campaign` 对象 → TIP 用于分析师上下文
- `course-of-action` 对象 → 安全团队 Wiki 或 SOAR 剧本触发器
使用 TLP 标记定义(Marking Definition)强制执行共享限制:
```python
for marking in obj.get("object_marking_refs", []):
if "tlp-red" in marking:
route_to_restricted_platform_only(obj)
```
### 步骤 5:回发至 TAXII(双向共享)
```python
# 将经验证的本地情报添加回共享集合
new_indicator = stix2.Indicator(
name="恶意 C2 域名",
pattern="[domain-name:value = 'evil-c2.example.com']",
pattern_type="stix",
valid_from="2025-01-15T00:00:00Z",
confidence=80,
labels=["malicious-activity"],
object_marking_refs=["marking-definition--34098fce-860f-479c-ae..."] # TLP:GREEN
)
collection.add_objects(stix2.Bundle(new_indicator))
```
## 核心概念
| 术语 | 定义 |
|------|-----------|
| **STIX Bundle** | 顶层 STIX 容器对象(类型: "bundle"),包含任意数量的 STIX 域对象(SDO)和 STIX 关系对象(SRO) |
| **SDO** | STIX 域对象(STIX Domain Object)——核心情报类型:indicator、threat-actor、malware、campaign、attack-pattern、course-of-action |
| **SRO** | STIX 关系对象(STIX Relationship Object)——用带标签的关系(如 "uses"、"attributed-to"、"indicates")连接两个 SDO |
| **模式语言** | 指标条件的 STIX 模式语法:`[network-traffic:dst_port = 443 AND ipv4-addr:value = '10.0.0.1']` |
| **标记定义** | 编码 TLP 或声明共享限制的 STIX 对象 |
| **added_after** | TAXII 2.1 过滤参数(RFC 3339 时间戳),用于增量轮询新对象 |
## 工具与系统
- **stix2(Python)**:用于创建、解析和验证 STIX 2.0/2.1 对象的官方 OASIS Python 库
- **taxii2-client(Python)**:用于 TAXII 2.0/2.1 服务器发现、集合枚举和对象检索的客户端库
- **MISP**:具有原生 TAXII 2.1 服务端和客户端的开源 TIP;MISP-TAXII-Server 插件用于发布 MISP 事件
- **OpenCTI**:内置 TAXII 2.1 连接器的 CTI 平台;原生支持 STIX 2.1 导入/导出
- **Cabby**:用于仍使用 TAXII 1.1 的旧版政府情报源的遗留 Python TAXII 1.x 客户端
## 常见陷阱
- **忽略 `spec_version` 字段**:STIX 2.0 和 2.1 具有不兼容的模式(2.1 新增了 `confidence`、包级别的 `object_marking_refs`)。解析前务必检查 `spec_version`。
- **未处理分页**:TAXII 服务器每次请求上限为 100-1000 个对象。遗漏分页(通过 `next` 链接头)会导致数据静默丢失。
- **`added_after` 时钟偏差**:服务端和客户端时间不一致会导致在间隔边界处遗漏对象。统一使用 UTC 并添加 5 分钟重叠窗口。
- **原始 STIX 块未建立索引即存储**:将包作为不透明 JSON 存储会阻止按指标类型或活动查询。应解析为关系型或图形数据库。
- **无意共享 TLP:RED 内容**:自动化管道在路由到任何具有广泛分析师访问权限的共享平台或 SIEM 前,必须过滤标记定义。Related Skills
implementing-taxii-server-with-opentaxii
部署和配置 OpenTAXII 服务器,使用 TAXII 2.1 协议共享和消费 STIX 格式的网络威胁情报,实现组织间的自动化指标交换。
implementing-stix-taxii-feed-integration
STIX(结构化威胁信息表达式)和 TAXII(可信自动化情报信息交换)是 OASIS 开放标准,用于表示和传输网络威胁情报。
implementing-security-information-sharing-with-stix2
使用 stix2 Python 库创建、验证和共享 STIX 2.1 威胁情报对象。涵盖指标、恶意软件、活动、关系、Bundle 和 TAXII 2.1 发布。
analyzing-threat-intelligence-feeds
分析结构化和非结构化威胁情报(CTI)推送,提取可操作的指标、对手战术和攻击活动上下文。适用于导入商业或开源 CTI 情报、评估情报质量、将数据规范化为 STIX 2.1 格式,或使用攻击活动溯源归因富化现有 IOC 时使用。
triaging-vulnerabilities-with-ssvc-framework
使用 CISA 的利益相关方特定漏洞分类(SSVC)决策树框架对漏洞进行分类和优先排序,产出可操作的修复优先级:Track、Track*、Attend 或 Act。
triaging-security-incident
使用 NIST SP 800-61r3 和 SANS PICERL 框架对安全事件进行初始分类,确定严重性、范围和所需响应行动。 按类型对事件分类,根据业务影响分配优先级,并路由到相应的响应团队。适用于事件分类、 安全告警分类、严重性评估、事件优先级排序或初始事件分析等请求场景。
triaging-security-incident-with-ir-playbook
使用结构化 IR Playbook 对安全事件进行分类和优先排序,确定严重性、分配响应团队并启动适当的响应程序。
triaging-security-alerts-in-splunk
在 Splunk Enterprise Security 中对安全告警进行分类,通过 SPL 查询和事件审查(Incident Review) 仪表板对重要事件进行严重性分类、调查、关联相关遥测并做出升级或关闭决策。 适用于 SOC 分析师需要处理关联搜索产生的告警队列、确定调查优先级, 或需要为交接给二/三级分析师记录分类决策时。
tracking-threat-actor-infrastructure
威胁行为者基础设施追踪涉及使用被动 DNS、证书透明度日志、Shodan/Censys 扫描、WHOIS 分析和网络指纹技术,对对手控制的 C2 服务器、钓鱼域名和暂存服务器等资产进行监控、映射和持续追踪
testing-websocket-api-security
测试 WebSocket API 实现中的安全漏洞,包括 WebSocket 升级时缺少身份认证、跨站 WebSocket 劫持(Cross-Site WebSocket Hijacking,CSWSH)、通过 WebSocket 消息进行的注入攻击、输入校验不足、通过消息泛洪实施拒绝服务,以及通过 WebSocket 帧造成的信息泄露。测试人员使用 Burp Suite 拦截 WebSocket 握手和消息,构造恶意 payload,并测试 WebSocket 通道上的授权绕过。适用于 WebSocket 安全测试、WS 渗透测试、CSWSH 攻击或实时 API 安全评估相关请求。
testing-oauth2-implementation-flaws
测试 OAuth 2.0 和 OpenID Connect 实现中的安全缺陷,包括授权码拦截、重定向 URI 操控、OAuth 流程中的 CSRF、令牌泄露、权限范围(scope)提升以及 PKCE 绕过。测试人员对授权服务器、客户端应用及令牌处理进行评估,发现可导致账户接管或未授权访问的常见错误配置。适用于 OAuth 安全测试、OIDC 漏洞评估、OAuth2 重定向绕过或授权码流程测试相关请求。
testing-mobile-api-authentication
测试移动应用 API 的认证与授权机制,识别认证失效、不安全的令牌管理、会话固定、 权限提升和 IDOR 漏洞。适用于对移动应用后端进行 API 安全评估、测试 JWT 实现、 评估 OAuth 流程或评估会话管理的场景。适合涉及移动 API 认证测试、令牌安全评估、 OAuth 移动端流程测试或 API 授权绕过的相关请求。