CoolFace
Datasetpublic

ahmedBargady/MIAF_DomainDetection_Infrastructure_Datasets

MIAF: Domain Detection Infrastructure Datasets This collection is the standardized evaluation benchmark for MIAF (Modular Infrastructure-Aware Fusion). It provides nine classification datasets derived from four public malicious-domain benchmarks, each paired with a shared 137-feature infrastructure representation. Overview We evaluate MIAF across nine classification datasets derived from four public malicious-domain benchmarks: DomainRadar (Hranický et al.… See the full description on the dataset page: https://huggingface.co/datasets/ahmedBargady/MIAF_DomainDetection_Infrastructure_Datasets.

sourceHugging Facemitupdated 9d agoView on Hugging Face
0likes178downloads
Dataset Card

MIAF: Domain Detection Infrastructure Datasets

<img alt="MIAF infrastructure metadata pipeline" src="https://cdn-uploads.huggingface.co/production/uploads/667889c762292a0dd7b9c561/5T7B3Xp9nj9yc5LEY9T8p.png" width="500" />

This collection is the standardized evaluation benchmark for MIAF (Modular Infrastructure-Aware Fusion). It provides nine classification datasets derived from four public malicious-domain benchmarks, each paired with a shared 137-feature infrastructure representation.

Overview

We evaluate MIAF across nine classification datasets derived from four public malicious-domain benchmarks:

  • [DomainRadar](https://doi.org/10.1016/j.dib.2025.112062) (Hranický et al., 2025)
  • [ThreatFox](https://threatfox.abuse.ch/) (abuse.ch)
  • [DeepURLBench](https://arxiv.org/abs/2501.00356) (Schvartzman et al., 2024)
  • [MACFormer/CURL-IP](https://doi.org/10.1109/TIFS.2026.3709128) (Tian et al., 2026)

These datasets cover malware detection, phishing detection, and long-tailed malware-family attribution. The benchmarks span diverse characteristics in terms of scale, class balance, label granularity, and metadata availability, enabling an evaluation of the efficacy of infrastructure metadata under varied operating conditions.

Quick Start

Install the Datasets library and load one of the nine task-specific configurations:

python
from datasets import load_dataset

dataset = load_dataset(
    "ahmedBargady/MIAF_DomainDetection_Infrastructure_Datasets",
    "threatfox-malware",
)

train = dataset["train"]
validation = dataset["validation"]
test = dataset["test"]

Available configurations: domainradar-malware, domainradar-phishing, domainradar-malware-family, threatfox-malware, threatfox-malware-family, deepurlbench-malware, deepurlbench-phishing, macformer-malware, and macformer-phishing.

Data Splits and Reorganization

To establish a consistent evaluation baseline, we have reorganized each benchmark into task-specific subsets and partitioned them into disjoint training, development, and testing sets using a 60/20/20 ratio. This stratification was applied to every individual class within the datasets to ensure a fair and consistent baseline across all evaluated methods.

All datasets that lacked native infrastructure metadata (ThreatFox, DeepURLBench, and MACFormer) have been enriched using the uniform EDC pipeline.

Infrastructure Metadata

Each row in train.csv, dev.csv, and test.csv pairs a domain name with 137 standardized numerical infrastructure features. DomainRadar (stored under DataInBriefHranicky/) provides native EDC metadata; we collected the same metadata for ThreatFox, DeepURLBench, and MACFormer with the Enrichment Data Collector (EDC), giving all nine task datasets one shared feature schema.

The 137 fields comprise five semantic metadata categories plus two input-validation flags:

GroupFeaturesWhat it captures
Input validation2Whether the input parsed successfully and whether it is a literal IP address.
RDAP/WHOIS37Registration age, lifecycle, privacy, nameserver, status, and entity properties.
DNS29Resolution, record counts, TTLs, DNS providers, mail, DNSSEC, CNAME, and SOA properties.
TLS26Certificate age, validity, issuer, SAN, wildcard, and expiration properties.
IP/Hosting31Resolved-address types, ASN/country/RIR diversity, network age, and hosting-provider properties.
Cross-signal12Consistency and interaction features computed across registration, DNS, TLS, and hosting observations.

Continuous quantities (for example, registration age and TTL) remain numerical. Boolean properties are binary indicators. High-cardinality concepts such as ASNs, nameservers, and hosting networks are represented through security-specific indicators and diversity counts rather than raw identifiers.

Missing infrastructure observations are retained as empty CSV cells. Presence and availability fields preserve observable missingness where available; the MIAF experiments set remaining missing values to zero during data loading. Infrastructure metadata changes over time, so these values describe the collection-time snapshot and may not match the infrastructure present when a domain was originally labeled.

Complete Feature Catalog

<details> <summary><strong>Input validation (2 features)</strong></summary>

FeatureDescription
input_validInput parsed to a valid domain/hostname
input_is_ip_addressInput is a literal IP address, not a domain

</details>

<details> <summary><strong>RDAP/WHOIS (37 features)</strong></summary>

FeatureDescription
rdap_domain_age_daysDays since domain registration (vs scan date)
rdap_registration_period_daysDays between registration and expiration
rdap_days_since_updateDays since the registration record last changed
rdap_days_to_expirationDays until registration expires
rdap_is_new_domain_1_dayRegistered within the last 1 day
rdap_is_new_domain_7_daysRegistered within the last 7 days
rdap_is_new_domain_30_daysRegistered within the last 30 days
rdap_is_new_domain_90_daysRegistered within the last 90 days
rdap_is_new_domain_365_daysRegistered within the last 365 days
rdap_registered_for_one_yearRegistration period ≤ ~1 year
rdap_registered_for_two_years_or_lessRegistration period ≤ ~2 years
rdap_registered_for_five_years_or_moreRegistration period ≥ ~5 years
rdap_expires_soon_7_daysExpires within 7 days
rdap_expires_soon_30_daysExpires within 30 days
rdap_expires_soon_90_daysExpires within 90 days
rdap_recently_updated_7_daysRecord updated within last 7 days
rdap_recently_updated_30_daysRecord updated within last 30 days
rdap_recently_updated_90_daysRecord updated within last 90 days
rdap_privacy_protectedWHOIS/RDAP privacy or redaction terms present
rdap_num_nameserversNumber of nameservers listed
rdap_num_unique_nameserver_domainsNumber of distinct nameserver base domains
rdap_uses_cloudflare_nsUses Cloudflare nameservers
rdap_uses_google_nsUses Google nameservers
rdap_uses_amazon_nsUses Amazon/AWS nameservers
rdap_uses_azure_nsUses Azure/Microsoft nameservers
rdap_uses_digitalocean_nsUses DigitalOcean nameservers
rdap_uses_registrar_default_nsUses registrar default/parking nameservers
rdap_num_status_codesNumber of EPP/RDAP status codes
rdap_has_client_transfer_prohibitedclientTransferProhibited status set
rdap_has_server_transfer_prohibitedserverTransferProhibited status set
rdap_has_client_holdclientHold status set
rdap_has_server_holdserverHold status set
rdap_has_pending_deletependingDelete status set
rdap_has_redemption_periodredemptionPeriod status set
rdap_has_any_hold_statusAny hold status present
rdap_has_any_delete_statusAny delete/redemption status present
rdap_entity_countNumber of related entities (registrar, registrant, ...)

</details>

<details> <summary><strong>DNS (29 features)</strong></summary>

FeatureDescription
dns_resolvesDomain resolves to at least one IP
dns_num_a_recordsNumber of A (IPv4) records
dns_num_aaaa_recordsNumber of AAAA (IPv6) records
dns_num_unique_ipsNumber of distinct resolved IPs
dns_min_ttlMinimum TTL across records
dns_max_ttlMaximum TTL across records
dns_mean_ttlMean TTL across records
dns_has_low_ttl_60Minimum TTL ≤ 60s
dns_has_low_ttl_300Minimum TTL ≤ 300s
dns_num_ns_recordsNumber of NS records
dns_num_unique_ns_domainsNumber of distinct NS base domains
dns_uses_cloudflare_dnsNS hosted by Cloudflare
dns_uses_google_dnsNS hosted by Google
dns_uses_amazon_dnsNS hosted by Amazon/AWS
dns_uses_azure_dnsNS hosted by Azure/Microsoft
dns_uses_godaddy_dnsNS hosted by GoDaddy
dns_uses_namecheap_dnsNS hosted by Namecheap
dns_num_mx_recordsNumber of MX (mail) records
dns_uses_google_mailMX points to Google mail
dns_uses_microsoft_mailMX points to Microsoft/Outlook mail
dns_uses_protonmailMX points to ProtonMail
dns_uses_zoho_mailMX points to Zoho mail
dns_num_txt_recordsNumber of TXT records
dns_has_spf_recordSPF record present (v=spf1)
dns_num_cname_recordsCNAME record present (0/1)
dns_has_soa_recordSOA record present
dns_has_dnssecDNSSEC present (has DNSKEY)
dns_cname_ends_in_free_hosterCNAME target is a free hosting provider
dns_cname_ends_in_cdnCNAME target is a CDN

</details>

<details> <summary><strong>TLS (26 features)</strong></summary>

FeatureDescription
tls_certificate_age_daysDays since certificate validity start
tls_validity_period_daysCertificate validity window length (days)
tls_days_to_expirationDays until certificate expires
tls_certificate_expiredCertificate already expired
tls_certificate_not_yet_validCertificate not yet valid
tls_issuer_is_lets_encryptIssued by Let's Encrypt
tls_issuer_is_googleIssued by Google Trust Services
tls_issuer_is_cloudflareIssued by Cloudflare
tls_issuer_is_digicertIssued by DigiCert
tls_issuer_is_sectigoIssued by Sectigo/Comodo
tls_issuer_is_zerosslIssued by ZeroSSL
tls_issuer_is_amazonIssued by Amazon
tls_num_san_domainsNumber of Subject Alternative Names
tls_has_wildcard_sanAny wildcard (*.) SAN present
tls_has_many_sans_10≥10 SANs
tls_has_many_sans_50≥50 SANs
tls_any_san_matches_hostA SAN matches the queried host
tls_new_cert_1_dayCertificate issued within last 1 day
tls_new_cert_7_daysCertificate issued within last 7 days
tls_new_cert_30_daysCertificate issued within last 30 days
tls_expires_soon_7_daysCertificate expires within 7 days
tls_expires_soon_30_daysCertificate expires within 30 days
tls_expires_soon_90_daysCertificate expires within 90 days
tls_short_validity_90_daysValidity window ≤ 90 days
tls_short_validity_180_daysValidity window ≤ 180 days
tls_long_validity_398_daysValidity window > 398 days

</details>

<details> <summary><strong>IP/Hosting (31 features)</strong></summary>

FeatureDescription
ip_num_resolved_ipsNumber of resolved IP addresses
ip_num_ipv4Number of IPv4 addresses
ip_num_ipv6Number of IPv6 addresses
ip_has_public_ipHas a public/global IP
ip_has_private_ipHas a private IP
ip_has_reserved_ipHas a reserved IP
ip_has_loopback_ipHas a loopback IP
ip_has_multicast_ipHas a multicast IP
ip_has_link_local_ipHas a link-local IP
ip_num_unique_asnsNumber of distinct ASNs
ip_num_unique_countriesNumber of distinct hosting countries
ip_num_unique_registriesNumber of distinct RIRs (ARIN/RIPE/...)
ip_num_unique_networksNumber of distinct network names/orgs
ip_network_registration_age_days_minMin IP-network allocation age (days)
ip_network_registration_age_days_meanMean IP-network allocation age (days)
ip_network_recently_allocated_30dA hosting network allocated within 30 days
ip_network_recently_allocated_90dA hosting network allocated within 90 days
ip_uses_cloud_hostingHosted on a major cloud provider
ip_uses_cdn_or_proxyBehind a CDN or proxy
ip_uses_amazon_hostingHosted on Amazon/AWS
ip_uses_google_hostingHosted on Google
ip_uses_microsoft_hostingHosted on Microsoft/Azure
ip_uses_cloudflare_hostingHosted on/behind Cloudflare
ip_uses_digitalocean_hostingHosted on DigitalOcean
ip_uses_ovh_hostingHosted on OVH
ip_uses_hetzner_hostingHosted on Hetzner
ip_uses_godaddy_hostingHosted on GoDaddy
ip_uses_namecheap_hostingHosted on Namecheap
ip_multi_asn_hostingIPs span more than one ASN
ip_multi_country_hostingIPs span more than one country
ip_multi_registry_hostingIPs span more than one RIR

</details>

<details> <summary><strong>Cross-signal (12 features)</strong></summary>

FeatureDescription
x_age_cert_vs_domain_ratioCert age ÷ (domain age + 1)
x_ttl_to_domain_age_ratioMin TTL ÷ (domain age + 1)
x_domain_and_cert_both_new_7dDomain and cert both ≤7 days old
x_domain_new_but_no_dnsNew domain (≤30d) that doesn't resolve
x_low_ttl_on_old_domainLow TTL on a domain older than 1 year
x_dns_ip_count_vs_hosting_ip_count_diff\DNS unique IPs - resolved hosting IPs\
x_rdap_dns_ns_count_diff\RDAP NS count - DNS NS count\
x_rdap_dns_ns_mismatchRDAP vs DNS NS count differ by ≥2
x_ns_provider_consistency_cloudflareRDAP and DNS agree on Cloudflare NS
x_ns_provider_consistency_googleRDAP and DNS agree on Google NS
x_ns_provider_consistency_amazonRDAP and DNS agree on Amazon NS
x_dnssec_and_old_domainDNSSEC enabled on a domain older than 1 year

</details>

Dataset Characteristics

DatasetTaskConfigurationSamplesClassesMalicious share (each split)Metadata source
DomainRadarMalware (binary)domainradar-malware341,9352 (legit / malicious)19.1%Native
Phishing (binary)domainradar-phishing441,2072 (legit / malicious)37.3%Native
Malware family (multiclass)domainradar-malware-family311,90661 (legit + 60 families)11.3%Native
ThreatFoxMalware (binary)threatfox-malware176,0652 (legit / malicious)43.2%EDC-enriched
Malware family (multiclass)threatfox-malware-family176,06565 (legit + 64 families)43.2%EDC-enriched
DeepURLBenchMalware (binary)deepurlbench-malware375,9172 (benign / malicious)24.1%EDC-enriched
Phishing (binary)deepurlbench-phishing362,3472 (benign / phishing)21.3%EDC-enriched
MACFormerMalware (binary)macformer-malware350,5322 (legit / malicious)32.9%EDC-enriched
Phishing (binary)macformer-phishing266,5002 (legit / malicious)11.8%EDC-enriched

Structure

Inside each task folder:

  • train.csv: Training split (60%) with domain names, labels, and the 137-feature infrastructure vector.
  • dev.csv: Development/validation split (20%) with the same schema.
  • test.csv: Testing split (20%) with the same schema.
  • *_ip.csv: Resolved-IP sidecar records corresponding to each split; sidecar columns vary by source benchmark.

Data Fields

FieldDescription
inputDomain name or hostname.
classTask-specific class; use this as the target for malware-family attribution.
labelCoarse binary label; use this as the target for malware and phishing detection.
label_intInteger label encoding included in DomainRadar-derived files. It is a target field, not an infrastructure feature.
_error, _elapsed_sCollection diagnostics present in some EDC-enriched files. They are not among the 137 MIAF features and should not be used as model inputs when reproducing the benchmark.
137 infrastructure columnsThe input-validation, RDAP/WHOIS, DNS, TLS, IP/hosting, and cross-signal fields cataloged above.

For MIAF-compatible metadata input, exclude input, class, label, label_int, _error, and _elapsed_s when those columns are present. Preserve the feature columns in their CSV order.

Intended Uses

This release supports research and reproducible benchmarking in:

  • infrastructure-aware malicious domain-name and phishing detection;
  • long-tailed malware-family attribution;
  • multimodal fusion of domain-name strings and infrastructure metadata;
  • metadata-category ablation, missing-data robustness, and temporal-drift studies; and
  • interpretable analysis of registration, DNS, TLS, and hosting evidence.

The data is intended for research and evaluation. A model trained on these snapshots should not be used as the sole basis for production blocking or attribution decisions.

Limitations and Responsible Use

  • Infrastructure metadata is time-dependent. The released values describe the collection-time snapshot and may not match the infrastructure present when a domain was first observed or labeled.
  • Missing values are expected because DNS, RDAP/WHOIS, TLS, and IP/hosting sources differ in coverage, availability, latency, and rate limits.
  • Labels inherit the scope, collection procedures, class balance, and possible noise of the four source benchmarks.
  • Domain names and resolved IP records may identify active or formerly active malicious infrastructure. Do not visit or execute content from listed domains without an isolated security-analysis environment.
  • The standardized feature vectors contain no raw WHOIS/RDAP contact names, email addresses, or postal addresses.

Citation and Attribution

If you use this collection, cite the dataset and the relevant source benchmark linked in the Overview:

bibtex
@dataset{bargady_2026_miaf_infrastructure,
  author    = {Ahmed Bargady},
  title     = {MIAF: Domain Detection Infrastructure Datasets},
  year      = {2026},
  publisher = {Hugging Face},
  url       = {https://huggingface.co/datasets/ahmedBargady/MIAF_DomainDetection_Infrastructure_Datasets}
}

License

This standardized release is provided under the MIT license declared in the dataset card metadata. The underlying benchmarks remain attributable to their original creators; review their linked publications and terms when redistributing derived data.