ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

基于 Anthropic-Cybersecurity-Skills 的威胁情报源(CTI Feeds)分析技能实战:TAXII 2.1 摄取、STIX 2.1 归一化与质量评分全流程

基于 Anthropic-Cybersecurity-Skills 的威胁情报源(CTI Feeds)分析技能实战:TAXII 2.1 摄取、STIX 2.1 归一化与质量评分全流程 基于 Anthropic-Cybersecurity-Skills 的威胁情报源CTI Feeds分析技能实战TAXII 2.1 摄取、STIX 2.1 归一化与质量评分全流程【免费下载链接】Anthropic-Cybersecurity-Skills817 structured cybersecurity skills for AI agents · Mapped to 6 frameworks: MITRE ATTCK, NIST CSF 2.0, MITRE ATLAS, D3FEND, NIST AI RMF MITRE F3 (Fight Fraud) · agentskills.io standard · Works with Claude Code, GitHub Copilot, Codex CLI, Cursor, Gemini CLI 20 platforms · 29 security domains · Apache 2.0项目地址: https://gitcode.com/GitHub_Trending/an/Anthropic-Cybersecurity-Skills本篇技术指南以 analyzing-threat-intelligence-feeds 技能为核心系统讲解如何在 AI Agent 工作流中摄取商业与开源威胁情报源、将异构 IOC 格式统一归一化为 STIX 2.1、评估情报源质量并分发到 SIEM/EDR 等下游系统。读完本文你将掌握一套可落地的 5 步 CTI 流水线方法论并能直接运行仓库自带的 Python 实现TAXII 服务器发现、指标拉取、归一化、去重、质量评分与 STIX Bundle 导出理解底层 stix2 / taxii2-client 库的调用方式与 TAXII 2.1 HTTP 端点语义。技能定位它解决什么问题在真实安全运营中团队往往同时订阅多条情报源——商业源Recorded Future、Mandiant Advantage、CrowdStrike Falcon Intelligence、政府源CISA AIS、FBI InfraGard、MS-ISAC与 OSINT 源AlienVault OTX、Abuse.ch、PhishTank、Emerging Threats。每条源的格式、更新频率、置信度标注与归属深度各不相同直接堆砌会带来三类典型后果IOC 重复计数膨胀、SIEM 规则复杂度失控、低置信度指标被错误封禁。本仓库的 analyzing-threat-intelligence-feeds 技能正是为这类「情报源摄入与加工」场景设计的。其 frontmatter 明确定义了触发条件当请求涉及 ThreatConnect、Recorded Future、Mandiant Advantage、MISP、AlienVault OTX或需要构建自动化情报聚合流水线时激活并已映射到 NIST CSF 2.0 的 ID.RA-01、ID.RA-05、DE.CM-01、DE.AE-02 以及 MITRE ATTCK 的 T1071.001Web 协议、T1566网络钓鱼、T1568动态解析、T1583.001域名获取、T1102Web 服务上的 C2等技术点。适用场景包括摄入新的商业或 OSINT 情报源并评估其信噪比signal-to-noise ratio将异构 IOC 格式STIX 2.1、OpenIOC、YARA、Sigma归一化为统一 schema评估情报源的时效性freshness、保真度fidelity与组织威胁画像的相关性构建将 IOC 与 SIEM 事件关联的自动化富化流水线。边界声明该技能不适用于原始流量包分析或未先建立 CTI 基线的实时事件响应——这是 SKILL.md 中「Do not use」部分的明确约束。前置条件在执行任何步骤前需要准备以下环境依据 SKILL.md类别要求平台访问一个威胁情报平台TIP如 ThreatConnect、MISP 或 OpenCTI数据源凭证至少一条商业情报源的 API KeyRecorded Future、Mandiant Advantage 或 VirusTotal Enterprise客户端库TAXII 2.1 客户端Python 的taxii2-client包或等价实现权限对 TIP 指标数据库具备读写权限的角色仓库在 api-reference.md 中给出了两个核心 Python 依赖的用法taxii2clientTAXII 客户端与stix2STIX 对象构造与序列化库下文会逐一展开。五步情报流水线从枚举源到分发SKILL.md 定义了完整的工作流以下逐步展开并结合仓库源码深化。Step 1枚举并优先级排序情报源将所有可用情报源按类型归类商业源CommercialRecorded Future、Mandiant Advantage、CrowdStrike Falcon Intelligence政府源GovernmentCISA AISAutomated Indicator Sharing、FBI InfraGard、MS-ISACOSINT 源AlienVault OTX、Abuse.ch、PhishTank、Emerging Threats。随后围绕四个维度为每条源打分更新频率update frequency、历史准确率historical accuracy rate、对所属行业的覆盖度coverage of your sector、归属深度attribution depth并使用加权评分矩阵评分准则参考 NIST SP 800-150Guide to Cyber Threat Information Sharing。仓库为这一评估步骤提供了可执行工具agent.py 中的score_feed_quality()函数把「质量」量化为四个等权维度各 25 分合计 100 分score int( (with_confidence / total * 25) (with_labels / total * 25) (with_refs / total * 25) (freshness / total * 25) )从源码结构看质量分由以下指标占比决定带confidence字段的指标比例、带labels标签的比例、带external_references溯源引用的比例以及valid_from在最近 90 天内的新鲜度比例。也就是说判断一条情报源好不好本质是看它产出的指标是否「带置信度、带标签、带来源引用、且足够新」——这四条恰好与 SKILL.md 的评分维度一一对应可以直接用脚本对候选源做量化体检。Step 2通过 TAXII 2.1 或 REST API 摄取TAXII 源SKILL.md 给出 CLI 形式的最小示例taxii2-client discover https://feed.example.com/taxii/ taxii2-client get-collection --collection-id id --since 2024-01-01对应的库级实现见 api-reference.mdfrom taxii2client.v21 import Server server Server(https://cti.example.com/taxii2/, useru, passwordp) for api_root in server.api_roots: for col in api_root.collections: print(col.id, col.title)Server对象负责发现discovery遍历api_roots与collections可枚举服务器上所有可用的集合随后用Collection与as_pages分页拉取from taxii2client.v21 import Collection, as_pages collection Collection( https://cti.example.com/taxii2/collections/abc123/, useru, passwordp ) for bundle in as_pages(collection.get_objects, per_request100): for obj in bundle.get(objects, []): if obj[type] indicator: print(obj[pattern])as_pages支持游标式分页per_request控制每页对象数拉取可携带added_after参数实现增量同步。REST API 源如 Recorded Future查询/v2/indicator/search时使用risk_score_min65过滤低置信度 IOC对 API 应用限速rate limiting与指数退避exponential backoff策略以保障弹性。Step 3归一化为 STIX 2.1将每条 IOC 按 OASIS 标准 schema 转换为 STIX 2.1 对象IOC 类型STIX patternIP 地址indicator对象pattern: [ipv4-addr:value ...]域名indicatorpattern: [domain-name:value ...]文件哈希indicatorpattern: [file:hashes.SHA-256 ...]同时用relationship对象将指标关联到threat-actor或malware对象并基于源保真度评级填充confidence字段0–100。仓库把这一过程封装为 agent.py 的normalize_to_stix()函数它维护了一张 IOC 类型 → STIX pattern 的映射表支持ipv4、domain、sha256、url、email五种类型遇到不支持的类型会抛出ValueError。构造Indicator对象时自动填充pattern_typestix、valid_fromUTC 当前时间、confidence、labels[malicious-activity]与external_references携带来源名实现溯源。配套的 IOC 类型自动识别函数 classify_ioc_type() 使用正则判断输入值类型IPv4 形如1.2.3.4SHA-256 为 64 位十六进制URL 以http(s)://开头邮箱含与域名后缀其余默认归类为域名。这样--ioc-file传入的裸 IOC 文本可以逐行自动归一化无需人工标注类型。Step 4去重与富化用「归一化后的值 类型」作为复合键对 TIP 数据库中的既有指标执行去重去重实现见 agent.py 的deduplicate_indicators()以 pattern 为键做集合去重。对存活指标进行富化VirusTotal检测率、沙箱行为报告PassiveTotalRiskIQWHOIS 历史、被动 DNS、SSL 证书链Shodanbanner 数据、开放端口、地理位置。Step 5分发至下游消费系统通过 TAXII 2.1 push 将富化后的指标导出到 SIEMSplunk、Microsoft Sentinel、防火墙Palo Alto XSOAR playbook与 EDR 平台。按指标类型设置 TTLtime-to-liveIP 地址 30 天、域名 90 天、文件哈希 1 年。这是防止 IOC 老化产生误报的关键策略。仓库中对应的导出实现为 export_stix_bundle()将指标对象打包为 STIX 2.1 Bundle 并序列化为 JSON 文件Bundle(objectsindicators, allow_customTrue)bundle.serialize(prettyTrue)可直接作为下游系统的输入工件。关键概念速查以下术语表完整继承自 SKILL.md术语定义STIX 2.1Structured Threat Information Expression——OASIS 标准的 CTI 对象 JSON schema涵盖 indicator、threat actor、campaign、relationship 等TAXII 2.1Trusted Automated eXchange of Intelligence Information——基于 HTTPS 的协议用于服务器与客户端之间共享 STIX 内容IOCIndicator of Compromise——表明系统可能已被入侵的可观测工件IP、域名、哈希、URLTLPTraffic Light Protocol——颜色分级RED/AMBER/GREEN/WHITE定义 CTI 的共享限制Confidence Score数值STIX 中 0–100反映情报生产者对指标恶意归属的确信程度Feed Fidelity情报源的保真度即历史准确率用生产环境检测中的真阳性率衡量常用工具与平台依据 SKILL.md 的工具清单ThreatConnect TC Exchange聚合 100 商业与 OSINT 情报源提供自动化 IOC 富化 playbookMISPMalware Information Sharing Platform开源 TIP支持 STIX/TAXII被 ISAC 与政府 CERT 广泛使用OpenCTI开源平台原生集成 MITRE ATTCK 与基于图的关系可视化Recorded Future商业情报源具备 AI 驱动的风险评分与实时暗网监控taxii2-clientPython 的 TAXII 2.0/2.1 客户端操作库PyMISPMISP 的 Python API用于情报源管理与 IOC 提交。仓库源码实战一条命令跑通整条流水线仓库提供的 scripts/agent.py 把上述工作流落成 CLI 工具支持五种--actiondiscover、fetch、normalize、score、full_pipeline。关键参数如下参数默认值说明--taxii-url—TAXII 2.1 服务器发现 URL--collection-url—要拉取的 TAXII collection URL--user/--password环境变量TAXII_USER/TAXII_PASSWORDTAXII 认证凭据--added-after—仅拉取该 ISO 时间之后新增的指标增量同步--ioc-file—原始 IOC 文本文件每行一条#开头为注释--sourcecustom-feed指标来源名写入 STIXexternal_references--outputstix_bundle.json导出的 STIX Bundle 路径典型用法示例# 1) 发现 TAXII 服务器上的 API root 与 collections python3 scripts/agent.py --action discover --taxii-url https://feed.example.com/taxii2/ \ --user $TAXII_USER --password $TAXII_PASSWORD # 2) 拉取指定 collection 的指标并输出质量评分 python3 scripts/agent.py --action fetch --collection-url https://feed.example.com/taxii2/collections/abc123/ \ --added-after 2026-01-01 # 3) 将本地裸 IOC 文件归一化为 STIX Bundle python3 scripts/agent.py --action normalize --ioc-file iocs.txt --source my-osint-source \ --output stix_bundle.json # 4) 全流程拉取 去重 评分 python3 scripts/agent.py --action full_pipeline --collection-url url --added-after 2026-01-01从源码调用链看fetch与full_pipeline分支都会先调用fetch_indicators()内部用as_pages(collection.get_objects, per_request50)分页随后执行deduplicate_indicators()去重并打印「拉取 N 条唯一指标 质量评分 X/100」normalize分支则逐行读取--ioc-file跳过空行与#注释行经classify_ioc_type()自动识别类型后由normalize_to_stix()构造 STIX Indicator最后导出 Bundle。整个流程与 SKILL.md 的 Step 2–5 一一对应可直接复制到 CI 任务中作为定时情报聚合作业。TAXII 2.1 协议与 HTTP 端点参考api-reference.md 整理了 TAXII 2.1 的核心端点语义端点方法描述/taxii2/GET服务器发现/{api-root}/collections/GET列出 collections/{api-root}/collections/{id}/objects/GET获取 STIX 对象/{api-root}/collections/{id}/objects/POST添加 STIX 对象写回操作对应collection.add_objects(stix_bundle_json)见 api-reference.md即 Step 5 中「向消费系统推送」的底层实现。stix2 库构造、序列化与查询构造指标from stix2 import Indicator indicator Indicator( nameMalicious IP, pattern[ipv4-addr:value 1.2.3.4], pattern_typestix, valid_from2025-01-01T00:00:00Z, confidence85, )打包并序列化from stix2 import Bundle bundle Bundle(objects[indicator]) print(bundle.serialize(prettyTrue))内存内查询from stix2 import MemoryStore, Filter store MemoryStore(stix_databundle) results store.query([Filter(type, , indicator)])MemoryStoreFilter是富化流水线中做本地筛选、去重、统计的轻量方案无需部署数据库即可对 Bundle 内对象做结构化查询。STIX 2.1 Pattern 语法速查IOC 类型PatternIPv4[ipv4-addr:value 1.2.3.4]域名[domain-name:value evil.com]SHA-256[file:hashes.SHA-256 abc...]URL[url:value http://evil.com/payload]邮箱[email-addr:value phishevil.com]常见陷阱与规避策略SKILL.md 明确列出了五类高频失误实战中需逐一规避IOC 时效性过期IP 与域名轮换频繁应用一年前的 IOC 会产生大量误报——必须强制执行 TTL 策略如 IP 30 天、域名 90 天、哈希 1 年。上下文缺失不了解关联 campaign 或对手背景就封禁 IOC可能干扰合法业务流量例如与恶意行为者共用的 CDN IP。跨源重叠未去重同一条 IOC 从五条源重复摄入而不去重会虚增指标计数与 SIEM 规则复杂度。TLP 违规在授权边界外再分发 RED 分级情报违反共享协议并破坏信任关系。低置信度指标过度封禁confidence 低于 50 的指标应只触发检测告警而非封禁动作避免造成业务中断。与框架映射的衔接该技能已在 frontmatter 中完成双重框架映射见 SKILL.md 头部可作为合规与覆盖度报告的输入NIST CSF 2.0ID.RA-01识别威胁与漏洞、ID.RA-05威胁情报威胁评估、DE.CM-01网络监控、DE.AE-02异常事件分析MITRE ATTCKT1071.001Web 协议 C2、T1566网络钓鱼、T1568动态解析、T1583.001域名获取、T1102Web 服务上的 C2。这些 ID 与仓库整体的跨框架覆盖体系一致——全仓库 817 个技能均按 agentskills.io 标准编写并映射至六套框架MITRE ATTCK、NIST CSF 2.0、MITRE ATLAS、D3FEND、NIST AI RMF、MITRE F3可通过 mappings/attack-navigator-layer.json 在 MITRE ATTCK Navigator 中查看技术点覆盖热力图。小结本文以 SKILL.md 为骨架系统梳理了威胁情报源分析的五步流水线——枚举评分、TAXII 2.1/REST 摄取、STIX 2.1 归一化、去重富化与分发治理并结合仓库的 api-reference.mdTAXII 客户端、stix2 库、STIX pattern 与 HTTP 端点与 scripts/agent.py可运行的 CLI 实现提供了源码级证据。掌握了这套方法后你可以在自己的 TIP SIEM 环境中直接落地先用量化评分函数评估情报源质量再用归一化与去重脚本处理异构 IOC最后按 TTL 策略分发到下游系统——一条从「原始情报」到「可执行检测」的完整链路。许可说明该技能遵循 Apache-2.0 许可见 LICENSE可在授权范围内自由使用与二次开发。【免费下载链接】Anthropic-Cybersecurity-Skills817 structured cybersecurity skills for AI agents · Mapped to 6 frameworks: MITRE ATTCK, NIST CSF 2.0, MITRE ATLAS, D3FEND, NIST AI RMF MITRE F3 (Fight Fraud) · agentskills.io standard · Works with Claude Code, GitHub Copilot, Codex CLI, Cursor, Gemini CLI 20 platforms · 29 security domains · Apache 2.0项目地址: https://gitcode.com/GitHub_Trending/an/Anthropic-Cybersecurity-Skills创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表