Anthropic-Cybersecurity-Skills 实战:构建自动化威胁情报 Feed 集成管线(STIX/TAXII → SIEM)

发布时间:2026/11/9 9:07:48

Anthropic-Cybersecurity-Skills 实战:构建自动化威胁情报 Feed 集成管线(STIX/TAXII → SIEM) Anthropic-Cybersecurity-Skills 实战构建自动化威胁情报 Feed 集成管线STIX/TAXII → SIEM【免费下载链接】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导读本篇指南以 building-threat-intelligence-feed-integration 技能为核心系统讲解如何在 SOC 场景下构建一条多源情报采集 → STIX 2.1 标准化 → 去重评分 → 推送 SIEM/MISP → 健康度监控的自动化威胁情报TIFeed 集成管线。读完本文你将掌握 TAXII 2.1 服务器接入、Abuse.ch / AlienVault OTX / CISA AIS 等开源与商业 Feed 的摄取方法、STIX 2.1 归一化与去重实现以及将 IOC 推送到 Splunk ES 威胁情报框架和 MISP 的完整工程实践。技能定位何时启用、何时禁用该技能位于本仓库soc-operationsSOC 运营子域下YAML frontmatter 中标注了完整的框架映射NIST CSF 2.0 的DE.CM-01持续监控、DE.AE-02不良事件分析、RS.MA-01事件管理、DE.AE-06事件关联分析以及 MITRE ATTCK 的T1071应用层协议、T1105入侵工具传输、T1588.001获取能力恶意软件/工具。适用场景SOC 团队需要将威胁情报 Feed 自动接入 SIEM 平台实现 IOC 与网络/端点遥测的实时匹配告警多个 TI 源需要归一化为统一格式STIX 2.1后再分发需要建立 Feed 质量评估与跨源去重流程。明确不适用该技能不用于单条 IOC 的人工查证——临时查询请使用 VirusTotal、AbuseIPDB 等专用富化工具本技能聚焦的是批量的、自动化的、可运营的情报流水线。前置条件用于聚合的 MISP 实例或威胁情报平台TIPSTIX/TAXII 客户端库Python 包taxii2-client≥2.3与stix2≥3.0以及 HTTP 库requests≥2.28已配置 TI 框架的 SIEM 平台Splunk ES、Elastic Security 或 Microsoft Sentinel商业及开源 Feed 的 API KeyAlienVault OTX、Abuse.ch、CISA AISPython 3.8 用于 Feed 处理自动化。仓库配套脚本 scripts/agent.py 是这条管线的最小可运行实现其顶部导入即对应上述依赖import requests from taxii2client.v21 import Collection from stix2 import Indicator, Bundle, parse依赖版本约束可参考 references/api-reference.mdrequests2.28、taxii2-client2.3、stix23.0。六步工作流Step 1识别并编目情报源按类型、格式与更新频率建立 Feed 台账这是整条管线的选型依据Feed 源格式IOC 类型更新频率成本AlienVault OTXSTIX/JSONIP、域名、Hash、URL实时免费Abuse.ch URLhausCSV/JSONURL、域名每 5 分钟免费Abuse.ch MalwareBazaarJSON API文件 Hash实时免费CISA AISSTIX/TAXII 2.1全部类型每日免费美国政府CrowdStrike IntelSTIX/JSON全部类型 攻击者 TTP实时商业Mandiant AdvantageSTIX 2.1全部类型 报告实时商业编目时需为每个源记录格式决定解析器、IOC 类型决定 STIX pattern 映射、更新频率决定调度窗口与成本/许可决定是否可进入生产。在仓库配套脚本中每个源对应一个独立的摄取函数ingest_taxii_feed()、ingest_urlhaus_feed()、ingest_feodotracker()互不耦合便于后续按需增删源。Step 2摄取 STIX/TAXII FeedTAXII 2.1 是 STIX 数据的标准传输协议REST API。接入 CISA AIS 风格服务器的完整流程如下from taxii2client.v21 import Server, Collection from stix2 import parse # 连接 TAXII 服务器示例CISA AIS server Server( https://taxii.cisa.gov/taxii2/, useryour_username, passwordyour_password ) # 列出可用集合 for api_root in server.api_roots: print(fAPI Root: {api_root.title}) for collection in api_root.collections: print(f Collection: {collection.title} (ID: {collection.id})) # 从集合拉取指标 collection Collection( https://taxii.cisa.gov/taxii2/collections/COLLECTION_ID/, useryour_username, passwordyour_password ) # 获取过去 24 小时新增的指标 from datetime import datetime, timedelta added_after (datetime.utcnow() - timedelta(days1)).strftime(%Y-%m-%dT%H:%M:%S.000Z) response collection.get_objects(added_afteradded_after, type[indicator]) for obj in response.get(objects, []): indicator parse(obj) print(fType: {indicator.type}) print(fPattern: {indicator.pattern}) print(fValid Until: {indicator.valid_until}) print(fConfidence: {indicator.confidence}) print(---)仓库实现ingest_taxii_feed()scripts/agent.py将上述逻辑封装为可复用函数关键点是collection.get_objects(added_after..., type[indicator])仅拉取指定时间窗内新增的indicator类型对象避免重复消费历史数据hours_back参数默认为 24 小时。该函数会把原始 STIX 对象精简为id、pattern、valid_from、source四个字段进入统一内部表示。Step 3摄取开源 FeedAbuse.ch URLhaus 源CSV 格式注意跳过#注释行import requests import csv from io import StringIO # 下载 URLhaus 近期 URL response requests.get(https://urlhaus.abuse.ch/downloads/csv_recent/) reader csv.reader(StringIO(response.text), delimiter,) indicators [] for row in reader: if row[0].startswith(#): continue indicators.append({ id: row[0], dateadded: row[1], url: row[2], url_status: row[3], threat: row[5], tags: row[6] }) print(fIngested {len(indicators)} URLs from URLhaus) # 只保留在线活跃威胁 active [i for i in indicators if i[url_status] online] print(fActive threats: {len(active)})仓库实现ingest_urlhaus_feed()scripts/agent.py改用 URLhaus 官方 JSON APIhttps://urlhaus-api.abuse.ch/v1/urls/recent/limit/100/POST并显式设置timeout30避免网络阻塞拖死整个调度任务。两种方式可根据网络环境选择CSV 全量快照适合一次性回填JSON API 适合增量轮询。AlienVault OTX Pulse 源from OTXv2 import OTXv2, IndicatorTypes otx OTXv2(YOUR_OTX_API_KEY) # 获取最近订阅的 pulses过去 24 小时 pulses otx.getall(modified_since2024-03-14T00:00:00) for pulse in pulses: print(fPulse: {pulse[name]}) print(fTags: {pulse[tags]}) for indicator in pulse[indicators]: print(f IOC: {indicator[indicator]} ({indicator[type]}))Abuse.ch Feodo TrackerC2 IP 列表response requests.get(https://feodotracker.abuse.ch/downloads/ipblocklist_recommended.json) c2_data response.json() for entry in c2_data: print(fIP: {entry[ip_address]}:{entry[port]}) print(fMalware: {entry[malware]}) print(fFirst Seen: {entry[first_seen]}) print(fLast Online: {entry[last_online]})仓库实现ingest_feodotracker()scripts/agent.py对每条 C2 记录提取ip_address、port、malware、first_seen统一标注type: ipv4与source: feodotracker为下一步归一化做好准备。Step 4归一化与去重STIX 2.1不同源的字段命名各异必须统一转换为 STIX 2.1 的Indicator对象。核心是pattern 映射表每种 IOC 类型对应一种标准 STIX 模式语言表达式from stix2 import Indicator, Bundle import hashlib def create_stix_indicator(ioc_value, ioc_type, source, confidence50): 将原始 IOC 转换为 STIX 2.1 indicator pattern_map { ipv4: f[ipv4-addr:value {ioc_value}], domain: f[domain-name:value {ioc_value}], url: f[url:value {ioc_value}], sha256: f[file:hashes.SHA-256 {ioc_value}], md5: f[file:hashes.MD5 {ioc_value}], } return Indicator( namef{ioc_type}: {ioc_value}, patternpattern_map[ioc_type], pattern_typestix, valid_from2024-03-15T00:00:00Z, confidenceconfidence, labels[source], custom_properties{x_source_feed: source} ) # 跨源去重 seen_iocs set() unique_indicators [] for ioc in all_collected_iocs: ioc_hash hashlib.sha256(f{ioc[type]}:{ioc[value]}.encode()).hexdigest() if ioc_hash not in seen_iocs: seen_iocs.add(ioc_hash) unique_indicators.append( create_stix_indicator(ioc[value], ioc[type], ioc[source]) ) bundle Bundle(objectsunique_indicators) print(fUnique indicators: {len(unique_indicators)})仓库实现将这一过程拆为两个独立函数职责单一normalize_to_stix()scripts/agent.py用 lambda 表达式构造pattern_map未知类型回退到url模式保证任何源的数据都不会因类型缺失而中断deduplicate()scripts/agent.py以sha256(type:value)为键做去重日志会明确输出Deduplicated: N - M unique indicators便于观测 Feed 重叠率。去重的语义要点去重仅丢弃重复值但labels与x_source_feed自定义属性保留了多源归因信息这是后续 Feed 质量评分的基础——一个被多个独立源共同标记的 IOC其可信度显著高于单一来源。Step 5推送至 SIEM 威胁情报框架与 MISP推送至 Splunk ES Threat Intelligenceimport requests splunk_url https://splunk.company.com:8089 headers {Authorization: fBearer {splunk_token}} for indicator in unique_indicators: # 从 STIX pattern 中提取 IOC 值 ioc_value indicator.pattern.split()[1] # 上传至 Splunk ES 威胁情报集合 data { ip: ioc_value, description: indicator.name, weight: indicator.confidence // 10, threat_key: indicator.id, source_feed: indicator.get(x_source_feed, unknown) } requests.post( f{splunk_url}/services/data/threat_intel/item/ip_intel, headersheaders, datadata, verifynot os.environ.get(SKIP_TLS_VERIFY, ).lower() true, # 实验室环境自签名证书可设 SKIP_TLS_VERIFYtrue )仓库实现push_to_splunk_ti()scripts/agent.py有两个值得注意的工程细节认证头使用fSplunk {session_key}会话 key 模式与上方示例的 Bearer Token 模式对应不同认证体系请以你部署环境实际支持的鉴权方式为准以 HTTP 201 作为成功判定标准计数pushed未逐条抛错而是汇总日志——生产环境中应改为批量接口或异步队列以提升吞吐。推送至 MISP 集中管理from pymisp import PyMISP, MISPEvent, MISPAttribute misp PyMISP(https://misp.company.com, YOUR_MISP_API_KEY) # 为本次批量导入创建事件 event MISPEvent() event.info fTI Feed Import - {datetime.now().strftime(%Y-%m-%d)} event.threat_level_id 2 # 中危 event.analysis 2 # 已完成分析 # 将指标作为属性添加 for ioc in unique_indicators: attr MISPAttribute() attr.type ip-dst if ipv4 in ioc.pattern else domain attr.value ioc.pattern.split()[1] attr.to_ids True attr.comment fSource: {ioc.get(x_source_feed, mixed)} event.add_attribute(**attr) result misp.add_event(event) print(fMISP Event created: {result[Event][id]})attr.type的判断体现了从 STIX pattern 反推 MISP 属性类型的常见适配技巧pattern 含ipv4-addr则映射为ip-dst否则归为domain。to_ids True标记该属性进入 IDS 告警匹配comment保留来源便于溯源。Step 6监控 Feed 健康度与质量持续运营的核心是匹配率评估——某个 Feed 的 IOC 在 SIEM 中实际命中告警的比例直接决定其取舍。以下 Splunk SPL 查询统计各 Feed 的匹配率indexthreat_intel sourcetypethreat_intel_manager | stats count AS total_iocs, dc(threat_key) AS unique_iocs, dc(source_feed) AS feed_count by source_feed | join source_feed [ search indexnotable sourceThreat Intelligence | stats count AS matches by source_feed ] | eval match_rate round(matches / unique_iocs * 100, 2) | sort - match_rate | table source_feed, unique_iocs, matches, match_rate该查询先用threat_intel索引统计每个 Feed 的唯一 IOC 数再与notable事件即告警按source_feed关联计算命中率并按降序排列——高匹配率 Feed 保持、低匹配率 Feed 需要排查质量或过期问题。核心概念速查术语定义STIX 2.1结构化威胁信息表达Structured Threat Information Expression——共享威胁情报对象的标准 JSON 格式TAXII可信自动化指标信息交换Trusted Automated eXchange of Indicator Information——通过 REST API 共享 STIX 数据的传输协议TIP威胁情报平台——集中聚合、评分与分发威胁情报的系统IOC 评分基于来源可靠性与多方佐证为指标赋予置信度的过程Feed 去重跨源移除重复 IOC同时保留多源归因信息IOC 过期基于 TTL 策略清理过期指标IP30 天域名90 天Hash1 年配套脚本与工具仓库为该技能提供了完整可运行的参考实现 scripts/agent.py 与函数级 API 文档 references/api-reference.md。CLI 用法# 从多个源摄取 python agent.py --urlhaus --feodo --output ti_bundle.json # 从 TAXII Feed 摄取 python agent.py --taxii-url https://taxii.example.com/taxii2/ \ --taxii-collection https://taxii.example.com/taxii2/collections/abc/ \ --taxii-user user --taxii-pass pass脚本的main()scripts/agent.py清晰展示了整条管线的编排顺序分源摄取 → 汇总 →deduplicate()→normalize_to_stix()→export_stix_bundle()导出为 JSON 格式的 STIX Bundle 文件。外部 API 依赖关系汇总如下源自 references/api-reference.mdAPI端点认证用途TAXII 2.1可配置Basic authSTIX 指标摄取URLhaushttps://urlhaus-api.abuse.ch/v1/无恶意 URL FeedFeodo Trackerhttps://feodotracker.abuse.ch/downloads/无C2 IP 黑名单Splunk REST/services/data/threat_intel/item/ip_intelSession keyTI 推送生态中的常用系统还包括MISP开源威胁情报平台聚合/关联/共享、AlienVault OTX免费社区 Pulse Feed、Abuse.chURLhaus、MalwareBazaar、Feodo Tracker、ThreatFox 免费 Feed 套件、OpenCTI原生支持 STIX 2.1 存储的开源威胁情报平台、TAXII2 Client连接 STIX/TAXII 2.1 服务器自动取数的 Python 库。常见场景与运营建议新 Feed 接入先评估质量、将字段映射到 STIX、再配置自动摄取管线对应 Step 1–2多 SIEM 分发以 MISP 为中转将归一化后的 IOC 同时推送至 Splunk、Elastic、Sentinel对应 Step 5误报削减按来源数量与时效对 IOC 打分自动过期陈旧指标Feed 质量审计对比各 Feed 的检测命中率识别最高价值情报源对应 Step 6 的 SPL 查询事件 IOC 共享将调查所得的 IOC 打包为 STIX Bundle通过 TAXII 与 ISAC信息共享与分析中心共享。输出与验收每日情报 Feed 状态报告管道落地后建议以如下格式产出每日运营报告作为 Feed 健康度的验收依据示例数据THREAT INTEL FEED STATUS — Daily Report ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ Date: 2024-03-15 Total IOCs: 45,892 active indicators Feed Health: Feed IOCs Matches Match Rate Status Abuse.ch URLhaus 12,340 47 0.38% HEALTHY AlienVault OTX 18,567 23 0.12% HEALTHY Abuse.ch Feodo 1,203 12 1.00% HEALTHY CISA AIS 8,945 8 0.09% HEALTHY CrowdStrike Intel 4,837 31 0.64% HEALTHY Actions Today: New IOCs ingested: 1,247 IOCs expired: 892 Duplicates removed: 156 SIEM matches: 121 notable events generated False positives: 3 (CDN IPs removed from feed)报告中的Match Rate直接对应 Step 6 的 SPL 计算结果Actions Today则反映管线各环节的增量吞吐。当某个 Feed 长期匹配率为 0 或误报集中在特定类型如 CDN 共享 IP时应触发降权或剔除流程。至此一条可运营、可度量、可审计的威胁情报 Feed 集成管线即告建成——这也是本技能在 NIST CSF 2.0 检测与响应 与 MITRE ATTCK 框架映射下所对应的实战落地形态。【免费下载链接】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),仅供参考
延伸阅读

更多相关文章

2026/10/23 1:13:38

Comsol超声波探测与回波信号仿真实践指南

1. Comsol超声波探测与回波信号仿真概述 超声波探测技术在工业无损检测、医学成像等领域应用广泛,而Comsol Multiphysics作为一款强大的多物理场仿真软件,能够精确模拟超声波在不同介质中的传播特性。我在过去五年中完成了二十多个超声波相关仿真项目&am…

2026/11/3 20:43:05

Agent记忆系统设计:从数据库存储到语义涟漪激活

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/11/9 9:04:20

高压电工证考多少题全国通用吗怎么转过来

高压电工证考多少题全国通用吗怎么转过来 之前考的证在外省能不能转过来?别急,你不是一个人。高压电工证全国通用,但跨省转证需要走流程,今天就帮你把这事说清楚。 ### 高压电工证考多少题?考试内容全解析…

2026/11/9 9:04:20

高空电工作业高清电子证书怎么复审延期最省事

高空电工作业高清电子证书怎么复审延期最省事 证书过期了不知道怎么复审延期,你不是一个人。很多从事高空电工作业的朋友都遇到过这种情况,尤其是拿着【高空电工作业高清】电子证书的同行,复审流程一拖再拖,不仅影响工作,还可能面临被暂停作业的风险。本…

2026/11/9 9:04:20

电工作业证是否取消 电子证书还能用吗

电工作业证是否取消 电子证书还能用吗 工地太忙根本没时间复习考试,这几乎是每个电工师傅的共识。尤其是现在的项目周期短、任务重,很多人连基本的考试时间都挤不出来,更别说系统复习了。而如今网上流传的“电工作业证是否取消”也让不少人心生疑虑,担心…

2026/11/9 9:04:20

电工证去哪里考东莞的通过率揭秘:证书过期了不知道怎么复审延期

电工证去哪里考东莞的通过率揭秘:证书过期了不知道怎么复审延期 证书过期了不知道怎么复审延期,很多人在面临这个问题时,手忙脚乱,甚至错失了继续工作的机会。尤其是对于从事建筑、维修、安装等工作的朋友们来说,电工证不仅是入职的门槛,更是职业发展的…

2026/11/9 0:37:55

电工证丢失还能补吗?千万别踩坑,丢了证等于失业

电工证丢失还能补吗?千万别踩坑,丢了证等于失业 你正在找工作,但手里的电工证突然丢了,这下怎么办?别急,先别慌, 电工证丢失还能补吗 ?答案是肯定的,但 千万别踩坑 ,补办流程如果不了解,可能会耽误你上岗、甚至影响到你的收入。…

2026/11/9 0:03:09

建设厅的特种工有哪些含金量高?别交完钱考不过

建设厅的特种工有哪些含金量高?别交完钱考不过 怕考不过白交培训费?别急,先搞清楚建设厅的特种工有哪些含金量高的证,再决定是不是值得投入时间和金钱。 建设厅的特种工证是建筑行业里最基础、也最实用的证书之一,涉及多个作业类别,每种证的 含金量…

2026/11/9 0:03:09

荆门市电工证报名怎么考才靠谱 全国通用证别交冤枉钱

荆门市电工证报名怎么考才靠谱 全国通用证别交冤枉钱 怕考不过白交培训费?荆门市电工证报名前必须知道这些避坑指南。别看网上一堆培训机构广告,真要报个电工证,很多人被坑得一塌糊涂。特别是那些打着“包过”旗号的,最后不是考试不过,就是证不是全国通…

2026/11/9 0:03:09

高空电工作业过程通过率揭秘:怎么选靠谱机构不被坑

高空电工作业过程通过率揭秘:怎么选靠谱机构不被坑 不知道去哪报名怕被中介坑?你不是一个人。现在特种作业证报名渠道五花八门,从线下培训机构到线上代理,真假难辨。尤其是像高空电工作业这类高风险、高门槛的作业类型,证书含金量和考试通过率直接影响你…

2026/11/9 6:30:27

面向复杂光照与角度的宠物面部识别鲁棒性增强策略

在智慧养宠时代,基于视觉的宠物身份识别技术正逐步从实验室走向家庭应用。然而,与配合度高的人类不同,宠物是典型的“非合作生物识别对象”——它们不会主动配合摄像头调整姿态,更无法控制光照环境。实际应用中,我们常…

2026/11/7 14:50:12

SSM电子书店源码全解析:结构、原理、部署与排错实战

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

还想了解更多?直接咨询顾问

免费诊断 + 免费方案 + 透明报价。

全国咨询热线400-8866-253
免费获取方案
☎咨询二维码 ☎ ↑