ARTICLE DETAIL

资讯详情

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

Anthropic-Cybersecurity-Skills 实战:构建自动化恶意软件提交分析流水线(sandbox + VirusTotal + SIEM)

Anthropic-Cybersecurity-Skills 实战:构建自动化恶意软件提交分析流水线(sandbox + VirusTotal + SIEM) Anthropic-Cybersecurity-Skills 实战构建自动化恶意软件提交分析流水线sandbox VirusTotal 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导读当 SOC 团队面对每天成百上千的疑似恶意文件告警时靠人工逐个提交沙箱分析必然成为警报分级alert triage的瓶颈。本指南基于 Anthropic-Cybersecurity-Skills 仓库中的building-automated-malware-submission-pipeline技能完整讲解如何构建一条文件收集 → 哈希预筛 → 沙箱动态分析 → 判决生成 → SIEM 下发阻断的全自动恶意软件分析流水线。读完本文你将掌握可复制的流水线骨架代码、VirusTotal/MalwareBazaar/Cuckoo/Splunk HEC 的对接方式以及如何用仓库自带的 agent.py 脚本一键跑通全流程。技能定位与适用场景该技能位于skills/building-automated-malware-submission-pipeline/SKILL.md属于soc-operations子域在 index.json 中被标记为 SOC 运营能力之一。它的核心目标是把手动提交沙箱升级为自动化的提交与分析管线让 SOC 团队能规模化处理高吞吐的告警分流。适用场景SOC 团队面临大量疑似文件告警需要沙箱分析支持手动沙箱提交成为告警分级流程的瓶颈端点安全EDR与邮件安全网关隔离出文件需要自动判定结果应急响应IR需要快速识别恶意软件家族并提取 IOC。明确不适用绝不用于在生产环境分析活体恶意样本——必须使用隔离的沙箱基础设施这是本技能反复强调的安全红线SKILL.md 中明确给出 Do not use 警告。前置条件在动手之前请确认以下资源就绪沙箱环境Cuckoo Sandbox、Joe Sandbox、Any.Run 或 VMRay 任选其一VirusTotal API KeyEnterprise 版支持提交样本免费版仅支持哈希查询本技能默认按查询为主、必要时提交设计MalwareBazaar API 访问用于已知恶意样本哈希查询无需 API Key匿名即可查询文件收集机制EDR 隔离区 API、邮件网关导出、网络抓包Python 3.8安装requests、vt-py、pefile库隔离分析网络与生产环境无任何连通性。整体工作流架构SKILL.md 将整个流水线拆解为 6 个步骤形成一条清晰的决策链文件收集 (EDR/邮件网关) → 哈希预筛 (VirusTotal MalwareBazaar) → 未知样本提交沙箱 (Cuckoo/Joe) → IOC 提取与判决生成 → 结果推送 SIEM (Splunk HEC) → 恶意 IOC 下发阻断 (防火墙/DNS)下面按步骤深入讲解每个步骤都结合仓库源码中的可运行实现。Step 1构建文件收集流水线流水线第一环是从多个数据源拉取可疑文件。SKILL.md 中的MalwareCollector类实现两个核心收集器EDR 隔离区收集以 CrowdStrike Falcon 为例通过quarantine/queries/quarantined-files/v1查询隔离事件拿到文件 ID 列表再调用quarantine/entities/quarantined-files/v1下载文件内容按 SHA256 命名落盘到/opt/malware_quarantine避免重复收集。邮件网关附件收集遍历网关隔离目录下的.eml文件用 Python 标准库email模块解析附件msg.iter_attachments()提取原文文件名、发件人From与主题Subject作为关联元数据同样按哈希落盘。收集器还提供compute_hashes()统一计算 MD5、SHA1、SHA256 与文件大小为后续预筛做准备。仓库中的 agent.py 实现了等价的compute_hashes()逻辑完全一致读取文件字节后计算三种哈希与 size。Step 2用哈希预筛避免重复沙箱分析核心思想能查库就不要跑沙箱。大量样本是已知恶意软件哈希查询几秒就能出结果没必要占用沙箱资源。MalwarePreScreener提供两个查询器VirusTotal 查询使用官方vt-py客户端vt.Client(vt_api_key)按/files/{sha256}拉取last_analysis_stats统计malicious/suspicious/undetected/total并尝试读取popular_threat_classification.suggested_threat_label作为威胁标签如 Emotet.DownloaderMalwareBazaar 查询POSThttps://mb-api.abuse.ch/api/v1/data{query: get_info, hash: sha256}命中时返回 signature家族签名、tags、file_type、first_seen。pre_screen()汇总两者并输出三态判决VirusTotal malicious 检出数 10 →KNOWN_MALICIOUSmalicious 为 0 →LIKELY_CLEAN其余情况 →UNKNOWN此时needs_sandboxTrue进入下一步。对照 agent.py其check_virustotal()/check_malwarebazaar()用纯requests实现了相同逻辑且为 HTTP 调用显式设置了timeout30。可见该技能既提供 OOP 教学版本也提供可直接运行的函数式版本。Step 3提交沙箱进行动态分析预筛判定为 UNKNOWN 的样本才进入沙箱。SKILL.md 提供 Cuckoo 与 Joe Sandbox 两种提交器Cuckoo Sandbox 提交默认地址http://cuckoo.internal:8090resp requests.post( f{cuckoo_url}/tasks/create/file, files{file: f}, data{ timeout: timeout, # 分析超时秒 options: procmemdumpyes,routenone, # 进程内存转储、禁网 priority: 2, # 任务优先级 machine: win10_x64 # 目标虚拟机 } ) task_id resp.json()[task_id]提交后通过wait_for_analysis()轮询/tasks/view/{task_id}直到任务状态变为reported成功或failed_analysis失败默认轮询间隔 30 秒、最大等待 600 秒超时返回错误。随后get_report()从/tasks/report/{task_id}提取结构化结果评分score、签名列表signature/severity/description、网络行为DNS 请求、HTTP 请求、连接主机、释放文件dropped、进程行为进程名/PID/命令行以及写入的注册表键regkey_written。Joe Sandbox Cloud 提交POST/v2/submission/new携带 Bearer 认证参数systemsw10_64、internet-accessFalse、report-cacheTrue返回webid用于后续查询。Cuckoo REST API 的核心端点可以查阅 api-reference.md其中整理了完整的端点表POST /tasks/create/file提交、GET /tasks/view/{id}查状态、GET /tasks/report/{id}取报告、GET /tasks/list列出任务。Step 4提取 IOC 并生成判决VerdictGenerator负责把预筛与沙箱结果融合成最终判决。IOC 提取覆盖六类指标IP、域名、URL、哈希、注册表键、释放文件。加权评分模型SKILL.md 给出的核心公式combined_score (VT恶意检出数 × 2) (沙箱评分 × 10) (命中签名数 × 5) 100→MALICIOUS置信度 HIGH 50→SUSPICIOUS置信度 MEDIUM 20→POTENTIALLY_UNWANTED置信度 LOW其余 →CLEAN置信度 HIGH。注意这里的默认malicious_threshold 7是 Cuckoo 评分阈值定义最终判决使用上面的加权公式。仓库的 agent.py 实现了完全一致的评分函数generate_verdict()可作为独立模块直接复用。Step 5推送结果到 SIEM 并下发阻断判决结果通过Splunk HTTP Event Collector (HEC)进入 SIEMresp requests.post( f{splunk_url}/services/collector/event, headers{ Authorization: fSplunk {splunk_token}, Content-Type: application/json }, json{ sourcetype: malware_analysis, source: malware_pipeline, event: { ...判定结果与 IOC... } }, verifynot os.environ.get(SKIP_TLS_VERIFY, ).lower() true, )其中SKIP_TLS_VERIFYtrue仅用于实验室自签名证书环境生产环境必须保持默认的 TLS 校验agent.py 第 141 行同样内联了这条注释SKILL.md 中一致。同时push_iocs_to_blocklist()把恶意 IOC 推送到阻断基础设施IP 走block动作域名走sinkhole动作来源标记为malware_pipeline方便后续审计追溯。Step 6编排整条流水线SKILL.md 提供run_malware_pipeline()作为总编排器将上述组件串成完整链路计算哈希预筛VirusTotal MalwareBazaar仅当needs_sandbox时提交 Cuckoo 并等待报告生成判决补齐sha256与threat_label推送 Splunk HEC若判决为MALICIOUS则推送 IOC 到防火墙/DNS 阻断关闭 VirusTotal 客户端返回判决。这条编排逻辑与 agent.py 的main()一一对应后者以 CLI 形式暴露了全部参数python skills/building-automated-malware-submission-pipeline/scripts/agent.py \ --sample /path/to/sample.exe \ --vt-key $VT_API_KEY \ --cuckoo-url http://localhost:8090 \ --splunk-url $SPLUNK_HEC_URL \ --splunk-token $SPLUNK_HEC_TOKEN \ --output malware_report.json参数说明可从 agent.py 的 argparse 定义确认--sample必填待分析样本路径--vt-key默认取环境变量VT_API_KEY--cuckoo-url默认http://localhost:8090可用环境变量CUCKOO_URL覆盖--splunk-url/--splunk-token对应SPLUNK_HEC_URL/SPLUNK_HEC_TOKEN--outputJSON 报告输出路径默认malware_report.json--skip-sandbox跳过沙箱提交仅做预筛与判定的快速模式。agent.py 中还有一个细节沙箱提交的触发条件是not vt_result.get(found) or vt_result.get(malicious, 0) 5第 173 行即 VirusTotal 未命中或检出数低于 5 时提交沙箱与 SKILL.md 的needs_sandbox决策思路一致但阈值参数化便于按团队策略调整。关键概念速查术语定义动态分析在沙箱中执行恶意软件观察运行时行为进程创建、网络、文件系统变化静态分析不执行样本进行分析哈希查询、字符串分析、PE 头检查沙箱逃逸恶意软件检测沙箱环境并改变行为以逃避分析的技术IOC 提取从沙箱报告中自动识别网络指标、文件工件与注册表变化多引擎扫描将样本提交到多个反病毒引擎VirusTotal获得共识检测判决 (Verdict)样本的最终分类Malicious / Suspicious / Potentially Unwanted / Clean工具与系统选型SKILL.md 推荐的沙箱与分析服务各有侧重Cuckoo Sandbox开源自动化恶意软件分析平台具备行为分析与网络抓包能力本流水线的主沙箱Joe Sandbox商业沙箱深度行为分析、YARA 匹配与 MITRE ATTCK 映射Any.Run交互式沙箱可在分析过程中实时干预适合调试逃逸型恶意软件VirusTotal多引擎扫描服务提供 70 反病毒引擎结果与行为分析报告CAPE Sandbox社区维护的 Cuckoo 分支增强了 Payload 提取与配置导出能力。常见应用场景邮件附件分级自动提交网关隔离的邮件附件5 分钟内生成判决EDR 隔离区批量处理批量分析端点安全隔离的文件输出详细分析结论事件调查IR 期间提交可疑二进制快速识别恶意软件家族并提取 IOC威胁情报增强分析威胁情报源样本提取 C2 基础设施并更新阻断规则零日检测沙箱行为分析可捕获基于特征库的 AV 漏掉的未知恶意软件。标准输出格式SKILL.md 定义了流水线的标准报告模板MALWARE ANALYSIS REPORT包含样本信息、预筛结果、沙箱分析摘要、提取的 IOC 与最终判决及已执行动作。仓库的 agent.py 以 JSON 格式落盘等价的报告结构sha256、hashes、virustotal、malwarebazaar、verdict、confidence、combined_score、iocs、analyzed_at并同步打印摘要到终端方便接入 SIEM 或票务系统。安全性与合规要点隔离是底线沙箱必须部署在隔离分析网络与生产环境零连通环境开关明确SKIP_TLS_VERIFY仅限实验室生产强制 TLS 校验授权前提本项目整体遵循 Apache-2.0 许可技能库定位为授权的安全研究、防御与教育用途详见 README.md 与 SECURITY.md流水线中收集与分析的样本必须来自你有权处置的系统。深入阅读技能主文档SKILL.mdAPI 参考VirusTotal v3、MalwareBazaar、Cuckoo REST、Splunk HECapi-reference.md可运行 CLI 实现agent.py技能元数据校验规则frontmatter 必填字段、subdomain 白名单validate-skill.py【免费下载链接】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),仅供参考
返回列表