遇见数据集

YuiIroha/McNdroid

收藏
Hugging Face2026-05-20 更新2026-05-31 收录
官方服务:

资源简介:

--- license: cc-by-4.0 task_categories: - tabular-classification language: - en tags: - malware-detection - android - multimodal - concept-drift - cybersecurity - benchmark - longitudinal - graph-neural-network - static-analysis - Croissant pretty_name: "McNdroid" size_categories: - 100K<n<1M --- # McNdroid: A Longitudinal Multimodal Benchmark for Robust Drift Detection in Android Malware ## Dataset Description McNdroid is a large-scale, longitudinal, multimodal Android malware detection dataset designed to benchmark concept drift robustness. It spans samples collected from 2013 to 2025 and provides three complementary modalities: static feature vectors, API call graphs (GML), and JSON-based behavioral representations. The dataset also includes a rich metadata CSV and per-vendor family-level verdicts, supporting fine-grained label analysis and multi-label learning. ### Dataset Summary - **Modalities:** Static features (NPZ), API call graphs (GML), JSON behavioral features - **Time span:** 2013–2025 - **Total size:** ~10.9 GB - **Splits:** Train/test per year with temporal evaluation protocols - **Labels:** Binary (malware/benign) and multi-vendor family-level verdicts ### Supported Tasks - Android malware detection (binary classification) - Concept drift detection and temporal robustness evaluation - Multi-modal learning for malware analysis - Graph-based malware classification ## Dataset Structure ### Repository Layout ``` McNdroid/ ├── README.md ├── metadata.csv # Sample-level metadata (~87 MB) ├── vendor_family_wide_verdict.csv # Multi-vendor family verdicts (~770 MB) ├── data_feature/ # Static feature modality │ └── processed_data/ │ └── init_2013/ │ ├── 2013/ │ │ ├── train_X.npz # Training feature matrix (sparse) │ │ ├── test_X.npz # Test feature matrix (sparse) │ │ ├── train_meta.npz # Training labels and metadata │ │ ├── test_meta.npz # Test labels and metadata │ │ ├── vocab.json # Feature vocabulary │ │ ├── selector_meta.json # Feature selector metadata │ │ └── split_meta.json # Split statistics │ ├── 2014/ │ ├── ... │ └── 2025/ ├── gml_feature/ # API call graph modality (GML files) │ └── processed_data/ │ └── ... ├── json_feature/ # JSON behavioral feature modality │ └── processed_data/ │ └── ... ``` ### Data Fields #### metadata.csv Contains per-sample metadata including SHA256 hashes, collection timestamps, labels, and source information. #### vendor_family_wide_verdict.csv Contains malware family labels from multiple antivirus vendors, enabling multi-label and label-noise research. #### Static Features (data_feature/) Each year folder contains: - `train_X.npz` / `test_X.npz`: Sparse feature matrices in NumPy compressed format - `train_meta.npz` / `test_meta.npz`: Associated labels and sample metadata - `vocab.json`: Feature name vocabulary mapping - `selector_meta.json`: Feature selection metadata - `split_meta.json`: Train/test split statistics #### Graph Features (gml_feature/) API call graphs stored in GML format, organized by year. Each graph represents inter-procedural API call relationships extracted via static analysis. #### JSON Features (json_feature/) Behavioral feature representations stored as JSON files, organized by year. ## Dataset Creation ### Source Data Samples were collected from public malware repositories and benign application stores spanning 2013–2025. Each sample was processed through a static analysis pipeline to extract permissions, API calls, intents, and other manifest and bytecode-level features. ### Annotations Labels are derived from VirusTotal multi-scanner verdicts. The `vendor_family_wide_verdict.csv` file preserves per-vendor family attributions to support research on label noise and disagreement. ## Considerations for Using the Data ### Social Impact This dataset is intended for defensive cybersecurity research. It should not be used to develop offensive malware capabilities. ### Licensing This dataset is released under the [Creative Commons Attribution 4.0 International License (CC-BY-4.0)](https://creativecommons.org/licenses/by/4.0/). ## Usage ### Loading Static Features ```python import numpy as np import json # Load a specific year's training data train_X = np.load("data_feature/processed_data/init_2013/2013/train_X.npz", allow_pickle=True) train_meta = np.load("data_feature/processed_data/init_2013/2013/train_meta.npz", allow_pickle=True) with open("data_feature/processed_data/init_2013/2013/vocab.json") as f: vocab = json.load(f) ``` ### Loading Metadata ```python import pandas as pd metadata = pd.read_csv("metadata.csv") verdicts = pd.read_csv("vendor_family_wide_verdict.csv") ``` ## Citation If you use this dataset, please cite: ```bibtex [More Information Needed] ``` ## Contact For questions or issues, please open a discussion on the [Community tab](https://huggingface.co/datasets/IQSeC-Lab/McNdroid/discussions).

McNdroid is a large-scale, longitudinal, multi-modal Android malware detection dataset designed to benchmark concept drift robustness. It covers samples collected from 2013 to 2025, and provides three complementary modalities: static feature vectors, API call graphs (GML), and JSON-based behavioral representations. The dataset also includes rich metadata in CSV format and vendor family-level annotations, supporting fine-grained label analysis and multi-label learning. Dataset Summary: The modalities include static features (NPZ), API call graphs (GML), and JSON behavioral features; the time span ranges from 2013 to 2025; the total size is approximately 10.9 GB; the training/test splits are stratified by year, adopting a temporal evaluation protocol; the labels include binary (malware/benign) and multi-vendor family-level annotations.

提供机构:
YuiIroha
搜集汇总
数据集介绍
YuiIroha/McNdroid 数据集图片
构建方式
在Android生态持续演化与恶意软件概念漂移问题日益突出的背景下,McNdroid的构建围绕跨年度、多模态与可复现基准展开。其样本取自2013至2025年间的公共恶意软件仓库及良性应用商店,经统一静态分析管道解析权限、API调用、Intent以及清单与字节码层级信息。由此形成三类互补表征:稀疏静态特征向量、以GML存储的API调用图,以及JSON行为表示。标签依据VirusTotal多引擎裁决生成,并保留多厂商家族级判定,以支持标签噪声研究。数据按年份组织训练与测试划分,辅以样本级元数据文件,为时序评估奠定基础。
使用方法
面向时间外推评估与多模态建模需求,McNdroid提供按年份组织的目录结构与加载接口。研习者可借助NumPy加载各年度train_X.npz、test_X.npz及train_meta.npz、test_meta.npz,并通过vocab.json获取特征词表;使用pandas读取metadata.csv与vendor_family_wide_verdict.csv,以获取样本元数据和厂商家族裁决。API调用图与JSON行为特征分别存放于gml_feature和json_feature对应年度路径,可按需解析。推荐依据年度训练与测试划分实施时序验证,比较单模态与多模态模型在概念漂移下的稳健性,同时避免跨时间泄漏。
背景与挑战
背景概述
面对Android恶意软件在时间维度上持续演化所引发的分布漂移难题,McNdroid作为由IQSeC-Lab构建并维护的大规模纵向多模态基准,其样本时间跨度覆盖2013年至2025年,旨在为概念漂移鲁棒性评估提供系统化实验平台。该数据集聚焦Android恶意软件检测这一核心问题,融合静态特征向量、API调用图与JSON行为表示三种模态,并附有元数据及多供应商家族级判决,以支撑二分类、多标签学习与标签噪声研究。其价值在于将时间泛化、多模态融合和图结构分析纳入统一基准,为网络安全防御研究提供可复现的纵向评价方案。
当前挑战
Android恶意软件检测领域长期受困于概念漂移,即恶意软件家族与行为模式随时间迁移,导致基于历史数据训练的模型在后续年度性能衰减。McNdroid所应对的挑战涵盖时间泛化评估、多模态异质信息融合、API调用图的图神经网络建模,以及VirusTotal多引擎判决引发的标签噪声与供应商分歧。构建过程中,跨2013至2025年的样本采集与清洗、静态分析流水线对权限、API、意图等特征的稳定抽取、GML图与JSON行为表示的同步生成、年度训练测试切分与多供应商家族标签对齐,均面临可扩展性、数据完整性和版本一致性等难题。
常用场景
经典使用场景
在安卓恶意软件持续演化且检测模型亟需时序验证的背景下,McNdroid的经典用法是依托2013至2025年的逐年划分协议,构建跨年度训练与测试流程。研究者可加载NPZ静态特征、GML API调用图与JSON行为表示,分别训练传统分类器、图神经网络及多模态融合模型,并在二分类恶意与良性判定以及多厂商家族级多标签任务上比较性能。该用法能够系统评估模型面对概念漂移、样本分布迁移与家族演化时的稳健性,亦可开展模态消融、特征重要性与时间泛化分析。
解决学术问题
面向移动安全研究中长期存在的概念漂移、时间偏差与标签噪声难题,McNdroid提供了可复现的纵向多模态评测基座。其多厂商家族判定保留了标注分歧,使标签噪声、多标签学习与共识建模得以实证检验;逐年时序切分缓解随机划分造成的信息泄漏,支撑真实场景下的泛化评估。数据集将静态特征、调用图与行为语义并置,推动多模态表示学习与图结构分类研究。其意义在于建立统一基准,提升Android恶意软件检测在演化环境中的可靠性、可比较性与学术透明度。
实际应用
在真实网络安全防护体系中,McNdroid可服务于移动终端防护、应用商店审核、威胁情报分析与恶意软件家族归因等任务。安全厂商可借助其静态、图与行为多模态数据训练检测引擎,并利用跨年度测试监控模型性能衰减,制定再训练与漂移适应策略。多厂商家族判定可用于聚合多引擎结论、识别标注冲突并提升归因置信度。研究机构亦可基于该基准开展防御性实验,评估检测器在长周期威胁演化下的部署风险。整体而言,该数据集为Android恶意软件防御提供了贴近实际时间演化的规模化验证资源。
数据集最近研究
最新研究方向
伴随 Android 恶意软件家族持续演化、规避技术迭代与样本分布跨年度迁移,McNdroid 所承载的纵向多模态基准正将研究焦点引向概念漂移下的鲁棒检测与时间泛化评估。其前沿方向涵盖静态特征、API 调用图与 JSON 行为表示的多模态融合,基于图神经网络的恶意软件分类,以及面向 2013—2025 年时序切分的持续学习与领域适应。多厂商家族裁决数据进一步支持标签噪声、标注分歧与多标签学习研究,为真实部署场景中的模型可靠性、可解释性和跨年度稳定性提供统一评测基础,对构建长期有效的 Android 防御体系具有基准意义。
以上内容由遇见数据集搜集并总结生成
二维码
社区交流群
二维码
科研交流群
商业服务