
Anthropic-Cybersecurity-Skills 中的活动归因分析工作流从情报循环到持续监控的完整方法论【免费下载链接】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-campaign-attribution-evidence技能包系统讲解网络攻击活动归因Campaign Attribution中的两条核心工作流——“采集与分析”情报循环工作流和“持续监控”工作流并结合该技能包中的参考标准、API 方法与参考实现脚本说明每条工作流背后的证据分类、置信度加权与竞争假设分析ACH机制读完后可直接将该方法论落地到事件调查与威胁情报平台的日常运营中。1. 技能包定位与适用场景analyzing-campaign-attribution-evidence是 Anthropic-Cybersecurity-Skills817 个结构化网络安全技能、遵循 agentskills.io 开放标准中面向威胁情报threat-intelligence子域的一个技能包。其 SKILL.md 的 frontmatter 声明了该技能的用途与框架映射domain/subdomaincybersecurity / threat-intelligenceNIST CSF 2.0 映射ID.RA-01、ID.RA-05资产与风险管理、DE.CM-01、DE.AE-02检测能力与告警分析MITRE ATTCK 映射T1587.001开发恶意软件、T1583.001购买域名、T1588.002获取工具、T1071.001应用层协议 C2——这些恰好是归因分析中最常被交叉比对的“资源开发/基础设施”类技术前置条件Python 3.9 及attackcti、stix2、networkx库MISP / OpenCTI 平台访问权限以及对 Diamond Model 与 MITRE ATTCK 威胁组织画像的熟悉。技能包目录结构如下工作流文档本文主体与标准参考、API 参考、报告模板和两个参考脚本相互配套文件作用SKILL.md技能入口概览、证据分类、ACH 原理与四步实现references/workflows.md两条核心工作流的步骤化定义本文核心references/standards.mdSTIX/TAXII/ATTCK/Diamond Model/TLP 等适用标准references/api-reference.mdACH 矩阵格式、Diamond 四维模型、查询与置信度分级 APIassets/template.md归因分析报告模板TLP:AMBER 元数据头 IOC 表scripts/agent.pyDiamond ACH 五类证据加权打分的参考实现scripts/process.pyACH 引擎 CLI证据/假设 JSON 输入输出归因报告技能定义明确了四类使用场景需要判定活动归属的安全事件调查、为相关领域构建检测规则或威胁狩猎查询、为 SOC 分析师提供结构化分析流程、以及验证安全监控对相应攻击技术的覆盖度。2. Workflow 1采集与分析Collection and Analysis工作流文档定义的第一条工作流是一条标准的情报循环流水线[Intelligence Sources] -- [Data Collection] -- [Analysis] -- [Reporting] | | | | v v v v OSINT/HUMINT/SIGINT Normalize/Enrich Assess/Correlate Disseminate这条流水线的四个主节点与文档中给出的七步流程一一对应Planning规划定义情报需求PIR与采集优先级——先明确“要归因哪个活动、候选行为者有哪些”再决定从哪些源采集Collection采集从相关情报源获取数据文档明确覆盖 OSINT开源、HUMINT人力、SIGINT信号三类来源Processing处理归一化数据格式、过滤噪声——对应流水线中的 Normalize/Enrich 环节例如把不同厂商的 IOC 统一为 STIX 对象Analysis分析套用分析框架并关联发现——对应 SKILL.md 中给出的 Diamond Model 与 ACHProduction生产生成情报产品与报告——可套用 assets/template.md 的报告模板含 Report ID、TLP 分级、关键发现、IOC 表与分阶段建议Dissemination分发通过合适渠道与相关方共享——standards.md 指出应遵循 Traffic Light ProtocolTLP: CLEAR/GREEN/AMBER/RED控制分发范围报告模板的默认分级即为TLP:AMBERFeedback反馈收集消费方反馈以改进后续采集——这是让循环“闭环”的一步反馈结论应回写到 Planning 阶段的情报需求中。从工作流的输入/输出结构看它把归因分析组织成一条可审计的流水线每个阶段都有明确的产物需求清单 → 原始数据 → 归一化数据 → 分析结论 → 情报产品 → 分发记录 → 反馈这与 standards.md 中列出的行业框架目标一致——NIST CSF 2.0 的 Identify 职能、ISO 27001:2022 的 A.5.7威胁情报以及 FIRST 标准TLP、CSIRT、漏洞协调。3. 分析环节的理论框架Diamond Model 与 ACH工作流第 4 步“Analysis: Apply analytical frameworks”所引用的两个框架在本技能包中有完整的落地定义。3.1 Diamond Model 的四个特征维api-reference.md 将 Diamond Model of Intrusion Analysis 归纳为四个核心特征并标注了各自的归因价值特征说明归因价值Adversary对手威胁行为者身份直接归因Capability能力恶意软件、漏洞利用、工具间接——共享工具链Infrastructure基础设施C2、域名、IP强——运营层面的重叠Victim受害者目标、行业、地域上下文——目标选择模式同时给出了“枢轴分析”Pivot Analysis思路四个顶点两两可互相佐证并各有外部数据源支撑——Adversary ←→ Capability ←→ Infrastructure ←→ Victim ↕ ↕ ↕ ↕ (HUMINT) (Malware DB) (WHOIS/DNS) (Victimology)scripts/agent.py 中的diamond_model_analysis()函数将该模型结构化为字典四个维度分别记录“是否已识别/详情”并从数据中自动推导枢轴机会——若已有 C2 基础设施则提示“Pivot from C2 infrastructure to related campaigns”从 C2 基础设施枢轴到相关活动若已有恶意软件样本则提示“Pivot from malware samples to shared infrastructure”从样本枢轴到共享基础设施。这实际上是把“从已知一角撬动整个菱形”的人工经验固化成了检查项。3.2 ACH 矩阵格式、符号与权重api-reference.md 给出了一份标准的 ACHAnalysis of Competing Hypotheses竞争假设分析矩阵示例Evidence \ Hypothesis | APT28 | APT29 | Lazarus | Unknown ----------------------------------------------------------------- Infrastructure overlap | | - | - | N TTP consistency | | | - | N Malware similarity | | - | - | N Timing (UTC3) | | | - | N Language (Russian) | | | - | N计分符号体系符号含义权重强烈一致2一致1N中性0-不一致-1--强烈不一致-2ACH 的核心思想SKILL.md 中的表述是把每一条证据分别对照多个竞争假设置分一致/不一致/中性不一致证据最少的假设胜出。这样做的好处是天然抑制确认偏误——分析者不能只挑支持自己结论的证据而必须显式处理每个假设下的“反证”。4. 六类归因证据与置信度分级工作流中“Assess/Correlate”环节比对了什么SKILL.md 定义了六大证据类别Infrastructure Overlap基础设施重叠共享 C2 服务器、域名、IP 段、托管商TTP ConsistencyTTP 一致性跨活动匹配的 ATTCK 技术与子技术Malware Code Similarity恶意软件代码相似度共享代码库、编译器、PDB 路径、加密例程Operational Patterns运营模式时间特征工作时间、时区、目标选择模式、运营节奏Language Artifacts语言特征内嵌字符串、变量名、报错信息中的特定语言痕迹Victimology受害者画像目标行业、地域与组织画像的一致性。与之配套的置信度分级SKILL.md 与 api-reference.md 两种口径文字分级High Confidence 多个独立证据类别收敛于同一行为者Moderate 多个类别匹配但仍有模糊性Low 证据有限存在假旗false flag或共享工具的可能数值分级api-reference.md级别分数区间判定标准HIGH0.8–1.0多种独立证据类型收敛MEDIUM0.5–0.8有显著证据但存在缺口LOW0.2–0.5证据有限替代假设仍成立NEGLIGIBLE0.0–0.2证据不足以支撑归因scripts/agent.py 中则用CONFIDENCE_LEVELS字典把 0–1 的连续分数直接映射为带操作建议的标签如0.5-0.8: MEDIUM - Moderate attribution, further analysis recommended供报告自动生成时引用。5. 证据加权评分把五类证据量化为单一置信分工作流文档负责定义“做什么”scripts/agent.py 展示了“怎么算”。它把六大证据类别中可量化的五类赋予如下权重合计恰为 1.0EVIDENCE_WEIGHTS { infrastructure_overlap: 0.25, ttp_consistency: 0.30, malware_code_similarity: 0.25, timing_pattern: 0.10, language_artifact: 0.10, }可以看到 TTP 一致性0.30与基础设施重叠、代码相似度各 0.25被赋予了更高权重而时间模式与语言特征作为辅助证据各占 0.10。compute_attribution_score()将五类单项得分加权求和后落入上述置信度区间得出最终结论def compute_attribution_score(scores): total 0.0 for evidence_type, weight in EVIDENCE_WEIGHTS.items(): score scores.get(evidence_type, 0.0) total score * weight ... for (low, high), label in CONFIDENCE_LEVELS.items(): if low total high: confidence label break return round(total, 4), confidencegenerate_attribution_report()把整条链路串起来依次调用evaluate_infrastructure_overlap()、evaluate_ttp_consistency()、evaluate_malware_similarity()、evaluate_timing_pattern()、evaluate_language_artifacts()五类单项评估汇入compute_attribution_score()最终输出包含attribution_score、confidence_level、evidence_scores、evidence_details的结构化报告。该脚本自带一个demo_evidence演示用例“Operation DarkShadow” vs APT29含共享 C2、UTC3 时间戳、俄语字符串等直接运行python3 scripts/agent.py即可看到完整的打分与报告输出。5.1 各类证据的具体打分逻辑基础设施重叠evaluate_infrastructure_overlap(campaign_infra, known_actor_infra)取两个指标集合的交集得分为len(overlap) / max(len(campaign_set), len(known_set))——用分母取最大值使分数对“候选行为者历史基础设施清单规模”保持稳健TTP 一致性evaluate_ttp_consistency()使用Jaccard 相似度|A∩B| / |A∪B|基于 MITRE ATTCK 技术 ID如T1566.001做集合运算保证比对精度到子技术层代码相似度evaluate_malware_similarity()对样本特征如 XOR 密钥、互斥量名、UA 字符串与已知行为者特征做匹配得分 匹配数 / 最大特征数时间模式evaluate_timing_pattern()将活动时间戳按候选行为者的时区偏移tz_offset换算后统计落在 8–18 点“工作时段”内的比例work_hour_ratio作为得分并输出average_hour_utc辅助判断语言特征evaluate_language_artifacts()用正则检测俄语西里尔字母 /codepage 1251、中文codepage 936/GB2312、韩语EUC-KR、波斯语codepage 1256、英语等指标按命中次数占比输出各语言得分取最高者作为该维度分数。5.2 SKILL.md 中的另一套重叠打分面向双活动比对SKILL.md 的 Step 2 给出了一个面向“两个活动之间基础设施比对”的函数与 agent.py 的“活动 vs 已知行为者”口径互补——它按四个子维度逐项加分overlap_score 0 if overlap[shared_ips]: overlap_score 30 if overlap[shared_domains]: overlap_score 25 if overlap[shared_asns]: overlap_score 15 if overlap[shared_registrars]: overlap_score 10权重设计体现了归因经验共享 IP 最重30 分其次是共享域名25 分、ASN15 分、注册商10 分——注册商相同只能说明用了同一家注册服务归因价值最低。最终按总分定级 40为 STRONG、 20为 MODERATE、否则 WEAK。注意该函数要求输入按ips/domains/asns/registrars四个键组织两个活动的基础设施字典集合交集运算在类型不一致如字符串 vs 整数 IP时不会报错但可能漏判实际使用时建议先做格式归一化——这正好呼应工作流第 3 步“Processing: Normalize data formats”的要求。5.3 TTP 比对的 Jaccard 与覆盖率TTP 比对在技能包中有两处等价实现SKILL.md 的compare_campaign_ttps()与 scripts/process.py 的compare_ttp_similarity()。两者都输出三个关键量jaccard_similarity|交集| / |并集|衡量两个技术集合的整体重合度overlap_percentage/campaign_coverage|交集| / |活动技术集| × 100回答“该活动观测到的技术中有多大比例能被候选行为者画像解释”common_techniques/unique_to_campaign/unique_to_actor交集与双向差集用于人工复核“活动独有”的技术可能是行为者的新 TTP 或归因错误信号。process.py 还实现了与attackcti库联动的在线查询路径python process.py --compare-ttps --campaign campaign_techs.json --actor APT29从源码逻辑看它会通过attack_client()拉取 ATTCK 组织画像按名称模糊匹配目标 group取其external_id即G开头的组织 ID查询get_techniques_used_by_group再把技术 ID 与本地campaign_techs.json比对。若环境未安装attackcti脚本要求pip install attackcti stix2 requests则打印[-] attackcti not installed降级退出。api-reference.md 还给出了等价的 STIX 关系查询写法from stix2 import Filter relationships src.query([ Filter(type, , relationship), Filter(source_ref, , group_id), Filter(relationship_type, , uses), ])即通过uses关系从组织对象intrusion-set/group出发拉取其使用的技术对象——这是把组织画像接入 MISP/OpenCTI 等 STIX 平台时的标准做法也对应 SKILL.md 前置条件中的平台依赖。6. ACH 的两种可编程实现工作流“Analysis”环节落地的核心是 ACH 矩阵的机器化。本技能包提供了两套互相印证但细节不同的实现。6.1 process.py归一评估符号 不对称扣分scripts/process.py 的AttributionEngine采用单字母评估C/I/N核心在evaluate()weight self.evidence[evidence_id][confidence] ... if assessment C: self.hypotheses[actor_name][score] weight elif assessment I: self.hypotheses[actor_name][score] - weight * 2设计要点反证的扣分权重是一致性证据的两倍——这与 ACH 方法论“剔除反证比收集正证更能区分假设”的精神一致也使排名更稳健地倾向于“最少不一致证据”的行为者。rank()方法进一步规定置信度规则score 80且零条不一致证据才判 HIGHscore 40判 MODERATE其余 LOW。generate_ach_matrix()则输出完整的证据 × 假设评估矩阵含 consistent/inconsistent/neutral 计数与总分可直接作为报告附件。命令行用法来自脚本头部 docstringpython process.py --evidence evidence.json --hypotheses actors.json --output report.json输入约定evidence.json是证据数组每条含category/description/value/confidenceactors.json是假设数组每个假设含name、info与evaluations证据 ID →C/I/N的映射。6.2 SKILL.md一致/不一致/中性三桶 阈值映射SKILL.md Step 1 的AttributionAnalyzer类是同一思想的另一种表达evaluate_evidence()维护三个证据桶consistent_evidence/inconsistent_evidence/neutral_evidence加分同样是 confidence / -confidence×2rank_hypotheses()按分数排序后输出每个假设的一致/不一致计数与由_score_to_confidence()映射的 HIGH≥80/MODERATE≥40/LOW 等级。6.3 agent.py归一化连续分数scripts/agent.py 的ach_analysis()则把 ACH 转成一个 -1 ~ 1 的归一化分数matrix[hyp_name][score] round((c - i) / (c i 0.01), 4)其中 c/i 为一致/不一致证据的权重和每条证据可带weight默认 1。0.01防止除零。这个形式适合直接写入情报平台的数值字段或与第 5 节的加权评分做联合决策。6.4 用 STIX 固化归因结论工作流 Production 阶段的产物在 STIX 2.1 中的规范表达见 api-reference.md——活动用campaign对象描述first_seen/last_seen/objective归因结论用attributed-to关系对象承载并把置信度作为数值字段写入{ type: relationship, relationship_type: attributed-to, source_ref: campaign--abc123, target_ref: intrusion-set--def456, confidence: 75 }这样工作流 1 的 ACH 分数就可以直接变成平台可查询、可订阅的数据资产而不是停留在报告文本里。7. Workflow 2持续监控Continuous Monitoring工作流文档定义的第二条工作流面向归因结论的持续运营[Watchlist] -- [Automated Monitoring] -- [Change Detection] -- [Alert/Update]六个步骤及其落地要点Define Watchlist定义观察列表确定要监控的指标IOC、行为者与话题。观察列表应直接复用 Workflow 1 的产出——例如把attributed-to置信度达到 MEDIUM 以上行为者的基础设施清单与 TTP 签名纳入Configure Monitoring配置监控搭建针对相关情报源的自动化采集。api-reference.md 给出了两类典型的自动化查询接口PassiveTotal 的 WHOIS 历史与被动 DNS、VirusTotal 的域名关联文件关系可作为监控探针的 API 原型Change Detection变化检测识别新增或变化的情报——新域名解析、C2 IP 更换 ASN、恶意软件版本迭代、行为者 TTP 漂移等Assessment评估评估变化的意义——是同一活动的新阶段、工具升级还是与既有归因结论矛盾的信号后者需要触发一次迷你 ACH 复审Alerting告警向相关方通报重大情报更新分发时按 TLP 分级Archive归档将情报存档用于历史分析与趋势研判——这也是 Workflow 1 第 7 步“Feedback”的数据基础。从两条工作流的关系看Workflow 1 是事件驱动的一起事件调查一次完整跑通七步循环Workflow 2 是常态运行的把已归因/待观察对象放在监控带中持续巡检。前者产出观察列表与归因结论后者用变化检测反哺前者的 Planning 阶段——二者共同构成“分析—监控—再分析”的归因运营闭环。8. 从工作流到可执行检查项SKILL.md 的 Validation Criteria 给出了完成两条工作流后的验收标准可直接用作自查清单证据采集覆盖全部六个归因类别ACH 矩阵完整地把证据对照到每个竞争假设含 Unknown 假设基础设施重叠分析识别出了共享指标IP/域名/ASN/注册商TTP 比对使用 ATTCK 技术 ID 保证精度归因置信度级别有明确论证对应第 4 节数值区间或第 6 节矩阵计分报告包含替代假设与假旗false flag考量。报告成稿可套用 assets/template.md元数据表Report IDCTI-YYYY-NNNN、日期、TLP:AMBER默认分级、分析师、置信度、执行摘要、关键发现每条附证据、置信度、ATTCK 技术 ID 与影响评估、IOC 表类型/值/上下文/置信度四列、分阶段建议Immediate / Short-term / Long-term与参考来源。9. 小结工作流文档在整个技能包中的位置workflows.md 虽然篇幅精炼但它是该技能包的“流程主干”Workflow 1 定义了情报循环七步规划→采集→处理→分析→生产→分发→反馈Workflow 2 定义了观察列表驱动的持续监控六步定义→配置→检测→评估→告警→归档。两条工作流中的分析环节由同包文档提供弹药——standards.md 规定 STIX 2.1 / TAXII 2.1 / ATTCK / Diamond Model / TLP 五类标准与 NIST CSF 2.0、ISO 27001 A.5.7、FIRST 框架的对齐关系api-reference.md 提供 ACH 矩阵格式、Diamond 四维枢轴、ATTCK 组织查询与置信度分级SKILL.md 与 scripts/ 下的agent.py、process.py则把证据加权、重叠打分、Jaccard 相似度、时区/语言检测与 ACH 矩阵全部实现为可运行代码。对使用者而言正确的落地路径是以 workflows.md 的两条流程为 SOP 骨架用 scripts 中的脚本完成量化打分以 STIX 关系对象与报告模板固化结论最后把结论回填观察列表进入持续监控——这正是该技能包在事件归因与威胁情报运营中的完整闭环。【免费下载链接】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),仅供参考