ARTICLE DETAIL

资讯详情

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

Anthropic-Cybersecurity-Skills 实战:基于 PyMISP API 的威胁态势分析参考指南

Anthropic-Cybersecurity-Skills 实战:基于 PyMISP API 的威胁态势分析参考指南 Anthropic-Cybersecurity-Skills 实战基于 PyMISP API 的威胁态势分析参考指南【免费下载链接】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本指南以 skills/analyzing-threat-landscape-with-misp/references/api-reference.md 为骨架完整讲解如何通过 PyMISP 客户端连接 MISPMalware Information Sharing Platform实例、检索事件与 IOC、解析事件对象字段与 Galaxy 标签并借助统计 API 计算威胁分布。结合仓库内同技能目录的 SKILL.md 与可运行的 agent.py 实现读者将掌握从 MISP 拉取数据到生成带时间趋势的威胁态势报告CTI landscape report的完整链路。MISP 威胁态势分析与本 API 参考的定位在 MISP 生态中威胁态势分析Threat Landscape Analysis指对一段时间内共享的事件Event、指标Indicator / Attribute与标签Tag做聚合统计回答三类问题当前威胁等级分布多少事件被标记为 High / Medium / Low主流 IOC 类型攻击指标集中在 IP、域名、哈希还是 URL威胁主体画像哪些 MITRE ATTCK 技术、威胁组织threat actor与恶意软件家族malware family最活跃。本仓库的技能analyzing-threat-landscape-with-misp正是为这类任务设计的标准化技能其 SKILL.md 定义的适用场景包括安全事件调查中需要 MISP 威胁态势数据、为某领域构建检测规则或威胁狩猎查询、SOC 分析人员需要结构化的分析流程以及验证安全监控覆盖是否覆盖相关攻击技术。前置条件为熟悉威胁情报概念、拥有测试或实验环境授权、Python 3.8 并安装依赖pip install pymisp。而 api-reference.md 是这一技能的数据访问契约——它定义了 PyMISP 连接方式、事件搜索参数、事件对象字段、属性类型、Galaxy 标签前缀与统计 API是后续所有统计分析代码的底层依据。PyMISP 连接建立与 MISP 实例的会话所有查询的第一步是实例化 PyMISP 客户端。api-reference 给出的标准连接方式为from pymisp import PyMISP misp PyMISP(url, api_key, sslTrue)三个关键入参参数含义说明urlMISP 实例地址例如https://misp.local通常为生产实例域名或实验室地址api_keyAPI 认证密钥在 MISP Web 界面「My Profile → Auth Keys」中生成具备对应权限ssl是否校验 TLS 证书默认True仅在受控测试环境对自签名证书使用False仓库中的 agent.py 将该步骤封装为connect_misp()函数并通过命令行参数暴露配置项def connect_misp(url, api_key, sslTrue): Connect to MISP instance. misp PyMISP(url, api_key, sslssl) logger.info(Connected to MISP: %s, url) return misp对应的 CLI 入口参数为--misp-url、--api-key与--no-ssl当指定--no-ssl时传入sslFalse完整调用方式见 SKILL.mdpython scripts/agent.py --misp-url https://misp.local --api-key YOUR_KEY --days 90 --output landscape_report.json事件搜索按时间、标签与威胁等级过滤连接建立后通过search方法拉取事件。api-reference 中最常见的用法是按起始日期搜索并返回 Python 对象events misp.search(date_from2025-01-01, pythonifyTrue)搜索参数的含义与取值如下表参数描述取值说明date_from起始日期YYYY-MM-DD格式例如2025-01-01date_to结束日期YYYY-MM-DD格式tags按标签过滤传标签名或 Galaxy 标签可做排除!tag与逻辑组合threat_level_id威胁等级过滤1High2Medium3Low4Undefinedpublished发布状态True/Falsepythonify返回类型True时返回MISPEvent对象便于面向对象访问字段在 agent.py 的fetch_events()中时间过滤被实现为最近 N 天动态窗口用datetime.utcnow() - timedelta(daysdays)计算date_from从而支持--days 90这类分析周期参数def fetch_events(misp, days90): Fetch events from the last N days. date_from (datetime.utcnow() - timedelta(daysdays)).strftime(%Y-%m-%d) events misp.search(date_fromdate_from, pythonifyTrue) logger.info(Fetched %d events from last %d days, len(events), days) return events事件对象字段理解 MISPEvent 结构当pythonifyTrue时每个事件为MISPEvent对象其核心字段见 api-reference 表格是后续统计分析的取数来源字段描述统计用途id事件 ID去重与关联date事件日期时间趋势分析按周分桶threat_level_id威胁等级 1-4威胁等级分布统计analysis分析状态0Initial1Ongoing2Completed事件成熟度评估info事件描述语义分析与人工复核AttributeIOC 属性列表属性类型分布、IOC 统计Tag标签列表MITRE 技术、威胁组织、恶意软件提取Orgc贡献组织Contributing Organization数据来源分布agent.py 中定义了与 api-reference 一致的枚举映射THREAT_LEVELS {1: High, 2: Medium, 3: Low, 4: Undefined} ANALYSIS_LEVELS {0: Initial, 1: Ongoing, 2: Completed}事件读取时采用防御式访问getattr(event, threat_level_id, 4)缺失时按Undefined兜底保证字段不全的历史事件不会导致脚本崩溃def analyze_threat_levels(events): Break down events by threat level. counter Counter() for event in events: level getattr(event, threat_level_id, 4) counter[THREAT_LEVELS.get(int(level), Undefined)] 1 total sum(counter.values()) or 1 return {level: {count: count, percent: round(count / total * 100, 1)} for level, count in counter.most_common()}属性类型IOC 类型分布统计事件内嵌的Attribute列表是 IOC 的具体载体其type字段决定了指标类别。api-reference 给出了威胁态势分析中最常用的属性类型类型示例含义ip-dst目的 IP 地址ip-src源 IP 地址domain域名hostnameFQDNurl完整 URLmd5/sha1/sha256文件哈希email-src发件人邮箱filename恶意文件名mutex互斥体名regkey注册表键agent.py 的analyze_attribute_types()遍历全部事件的属性并按attr.type计数输出 Top 20 类型及其占比直接生成报告中的attribute_type_distributiondef analyze_attribute_types(events): Analyze distribution of attribute types across events. counter Counter() for event in events: for attr in getattr(event, Attribute, []): counter[attr.type] 1 total sum(counter.values()) or 1 return { atype: {count: count, percent: round(count / total * 100, 1)} for atype, count in counter.most_common(20) }同时compute_ioc_stats()对属性做更深一层的去重与分类统计 IOC 总数、唯一值数量attr.value去重与属性类别分布attr.category如 Network activity、Artifacts dropped 等对应报告中的ioc_statisticsdef compute_ioc_stats(events): Compute IOC statistics: total count, unique values, categories. ioc_values set() category_counter Counter() for event in events: for attr in getattr(event, Attribute, []): ioc_values.add(attr.value) category_counter[attr.category] 1 return { total_attributes: sum(category_counter.values()), unique_values: len(ioc_values), categories: dict(category_counter.most_common(15)), }Galaxy 标签前缀从标签解析威胁主体MISP 通过misp-galaxy前缀标签将事件关联到威胁情报知识库Galaxy Cluster。api-reference 归纳了威胁态势分析中最有价值的四类前缀另有sector、country可补充目标画像前缀内容misp-galaxy:mitre-attack-patternMITRE ATTCK 技术misp-galaxy:threat-actor威胁组织misp-galaxy:malpedia恶意软件家族misp-galaxy:sector目标行业misp-galaxy:country目标国家/地区agent.py 将其实现为三个常量并在extract_tags()中按前缀做分流统计同时去掉 Galaxy 标签值外侧可能存在的引号MITRE_TAG_PREFIX misp-galaxy:mitre-attack-pattern THREAT_ACTOR_PREFIX misp-galaxy:threat-actor MALWARE_PREFIX misp-galaxy:malpediafor tag in getattr(event, Tag, []): tag_name tag.name all_tags[tag_name] 1 if tag_name.startswith(MITRE_TAG_PREFIX): technique tag_name[len(MITRE_TAG_PREFIX):].strip().strip() mitre_techniques[technique] 1 elif tag_name.startswith(THREAT_ACTOR_PREFIX): actor tag_name[len(THREAT_ACTOR_PREFIX):].strip().strip() threat_actors[actor] 1 elif tag_name.startswith(MALWARE_PREFIX): malware tag_name[len(MALWARE_PREFIX):].strip().strip() malware_families[malware] 1该函数最终输出四个计数结果Top 20 MITRE 技术、Top 20 威胁组织、Top 20 恶意软件家族以及 Top 30 全部标签分别映射到报告的mitre_attack_techniques、top_threat_actors、top_malware_families。统计 API聚合运算的快捷入口除遍历对象外api-reference 还提供了 PyMISP 内置的统计接口适合在报告生成前快速获取全局概览misp.get_community_id() # 获取社区 ID misp.user_statistics() # 用户活跃度统计 misp.attributes_statistics(contexttype) # 按属性类型统计 misp.attributes_statistics(contextcategory) # 按属性类别统计 misp.tags_statistics() # 标签使用频率统计其中attributes_statistics(contexttype)与 api-reference 属性类型表形成对应关系前者给出全局的类型计数分布后者定义了类型的语义两者配合可校验脚本自算的attribute_type_distribution是否与服务器端统计一致。报告生成API 调用链的端到端集成将上述 API 要素组合起来即可复现 agent.py 中完整的分析管线。main()的调用链清晰展示了每个 api-reference 要素的落地位置misp connect_misp(args.misp_url, args.api_key, sslnot args.no_ssl) events fetch_events(misp, args.days) threat_levels analyze_threat_levels(events) # 事件对象字段threat_level_id attr_types analyze_attribute_types(events) # 属性类型Attribute[].type tags extract_tags(events) # Galaxy 标签前缀解析 trends analyze_temporal_trends(events, args.days) # 事件对象字段date orgs analyze_organizations(events) # 事件对象字段Orgc.name ioc_stats compute_ioc_stats(events) # 属性去重与分类 report generate_report(events, threat_levels, attr_types, tags, trends, orgs, ioc_stats, args.days) with open(args.output, w) as f: json.dump(report, f, indent2)其中时间趋势分析analyze_temporal_trends()将事件按周一开始分桶week_start event_date - timedelta(daysevent_date.weekday())生成按周递增的 IOC 提交趋势序列analyze_organizations()则统计贡献组织Orgc.name的分布。generate_report()将全部结果聚合成结构化 JSON并打印一行人类可读摘要print(fTHREAT LANDSCAPE: {len(events)} events, {high_pct}% high severity, top technique: {top_technique}, top actor: {top_actor})最终生成的landscape_report.json包含字段timestamp、period_days、total_events、threat_level_distribution、attribute_type_distribution、ioc_statistics、mitre_attack_techniques、top_threat_actors、top_malware_families、temporal_trends、contributing_organizations。输出解读示例参照 SKILL.md 给出的输出样例一次 90 天窗口的威胁态势摘要形如Period: Last 90 days Events analyzed: 1,247 Top threat level: High (43%) Top attribute type: ip-dst (31%), domain (22%), sha256 (18%) Top MITRE technique: T1566 Phishing (89 events) Top threat actor: APT28 (34 events)此类摘要可直接用于 SOC 周报、检测规则优先级排序与红蓝对抗前的情报简报。技能声明中与本分析相关的 ATTCK 技术与框架映射见 SKILL.md 的 YAML front-matter包括T1566网络钓鱼、T1071.001Web 协议、T1568动态解析、T1583.001域名获取、T1102Web 服务上的 C2并映射到 NIST CSF 的 ID.RA-01、ID.RA-05、DE.CM-01、DE.AE-02 以及 D3FEND 的 File Metadata Consistency Validation、Identifier Analysis 等防御技术——这为基于统计结果反推检测覆盖缺口提供了标准化的参考坐标。【免费下载链接】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),仅供参考
返回列表