CoolFace
Datasetpublic

JLB-JLB/android-ransomware-fcg-baseline

Android Ransomware FCG Dataset (Baseline) Binary graph-classification dataset for Android ransomware detection based on function call graphs (FCGs) extracted with Androguard. Dataset Summary Property Value Total graphs 715 Benign (label 0) 502 Malware (label 1) 213 Class ratio 2.36 : 1 (benign : malware) Feature dimension 5 Malware Families Family Samples simplelocker 64 wipelocker 70 wannalocker 51… See the full description on the dataset page: https://huggingface.co/datasets/JLB-JLB/android-ransomware-fcg-baseline.

sourceHugging Facemitupdated 7mo agoView on Hugging Face
0likes11downloads
Dataset Card

Android Ransomware FCG Dataset (Baseline)

Binary graph-classification dataset for Android ransomware detection based on function call graphs (FCGs) extracted with Androguard.

Dataset Summary

PropertyValue
Total graphs715
Benign (label 0)502
Malware (label 1)213
Class ratio2.36 : 1 (benign : malware)
Feature dimension5

Malware Families

FamilySamples
simplelocker64
wipelocker70
wannalocker51
blackroselucy17
pletor6
filecoder5

Dataset Variants

internal_only/ — Author-Written Methods Only

Only methods defined in the APK's own code are kept as nodes. External/API calls are encoded as node features on the calling method.

Node features (dim=5): [is_entrypoint, log_in_degree, log_out_degree, log_api_calls, log_other_ext_calls]

StatisticMinMedianMeanMax
Nodes1525,35638,401398,727
Edges231,22751,400989,585

full_fcg/ — Complete Function Call Graph

All methods (internal + external/API) are retained as graph nodes.

Node features (dim=5): [is_external, is_android_api, is_entrypoint, log_in_degree, log_out_degree]

StatisticMinMedianMeanMax
Nodes4232,00745,243428,203
Edges4265,90998,2201,388,042

Data Format

Each .pt file is a Python list of `torch_geometric.data.Data` objects, loadable with torch.load().

Each Data object contains:

  • —x — node feature matrix [num_nodes, 5]
  • —edge_index — COO edge list [2, num_edges]
  • —y — graph label (0 = benign, 1 = malware)
  • —family — string label ("benign", "simplelocker", etc.)
  • —apk_name — source APK filename

Usage

python
from huggingface_hub import hf_hub_download
import torch

# Download the internal_only variant
path = hf_hub_download(
    repo_id="JLB-JLB/android-ransomware-fcg-baseline",
    filename="internal_only/fcg_dataset.pt",
    repo_type="dataset",
)
dataset = torch.load(path, weights_only=False)

print(f"Loaded {len(dataset)} graphs")
print(f"First graph: {dataset[0].x.shape[0]} nodes, {dataset[0].edge_index.shape[1]} edges")

Citation

If you use this dataset, please cite the associated thesis work.