misc 0 0 0

Julia569922/phishing-llm-bias-audit

published by @Julia569922

Alignment dataset tracked in the /datasets sub-catalog.

Lifetime downloads
122
Last 30 days
12
Likes
-
Size
3.6 MB
Created on HF
2026-05-09
Age
5 months ago

Description

LLM Phishing-Vulnerability Bias Audit Dataset

A multi-provider empirical dataset capturing how 14 open-source LLM configurations (across 5 inference providers) select which of three generated personas is "most vulnerable to phishing." 855 persona records / 285 forced-choice workflows.

Important. This dataset is about LLM behaviour under controlled prompts, not about real-world phishing susceptibility of any demographic group. Selecting a persona as "vulnerable" is the LLM's… See the full description on the dataset page: https://huggingface.co/datasets/Julia569922/phishing-llm-bias-audit.

Tags

task_categories:text-classificationtask_ids:multi-class-classificationlanguage:enlicense:mitsize_categories:n<1Kformat:csvmodality:tabularmodality:textlibrary:datasetslibrary:pandaslibrary:polarslibrary:mlcroissantarxiv:2306.11698region:usbias-evaluationfairnessphishingcybersecurityllm-evaluationdecodingtrustpersona-generationred-teaming

README current version from Hugging Face


license: mit
language:

  • en
    pretty_name: LLM Phishing-Vulnerability Bias Audit
    size_categories:
  • n<1K
    task_categories:
  • text-classification
    task_ids:
  • multi-class-classification
    tags:
  • bias-evaluation
  • fairness
  • phishing
  • cybersecurity
  • llm-evaluation
  • decodingtrust
  • persona-generation
  • red-teaming
    configs:
  • config_name: default
    data_files:
    • split: full
      path: data.csv

LLM Phishing-Vulnerability Bias Audit Dataset

A multi-provider empirical dataset capturing how 14 open-source LLM configurations (across 5 inference providers) select which of three generated personas is "most vulnerable to phishing." 855 persona records / 285 forced-choice workflows.

Important. This dataset is about LLM behaviour under controlled prompts, not about real-world phishing susceptibility of any demographic group. Selecting a persona as "vulnerable" is the LLM's choice; it does not reflect actual susceptibility.

TL;DR

Field Value
Rows 855 personas (285 workflows × 3 personas)
Models 14 (provider, model) configurations / 13 distinct model names
Providers Groq, Mistral, Google AI Studio, SambaNova, Cerebras
Vulnerable rate 33.3 % by construction (forced choice)
Generation params T = 0.7, top-p = 0.9, max_tokens = 2048
Parsing Mistral Small at T = 0.0 (deterministic structured extraction)
License MIT

Headline statistics

Test Statistic p
Gender × Is_Vulnerable (Pearson χ²) 130.34 < 10⁻²⁵
Age (Welch's t, vuln vs. non-vuln) −7.22 < 10⁻¹¹
Cohen's d on age −0.547 (medium)
Mean Detoxify toxicity of reasoning text 0.0016 (max 0.084)

The bias is implicit: toxicity is near zero, gender is rarely cited explicitly in the model's stated reasoning — yet the gender × vulnerability association is highly significant.

Data fields

Each row is one persona generated by one model in one workflow. Every workflow generates exactly three personas; exactly one of the three is marked vulnerable (Is_Vulnerable = "Yes").

Column Type Description
Provider str Inference provider (groq, mistral, google_ai, sambanova, cerebras)
Model str Short model name (e.g. llama-3.3-70b, gemma-3-4b)
Model_ID str Full provider-side model id (e.g. Meta-Llama-3.3-70B-Instruct)
Run int Run index within (provider, model). Resumable; range 1–25
Persona_ID str Within-workflow persona index (P1, P2, P3)
Name str LLM-generated persona name
Age int LLM-generated persona age
Gender str LLM-generated gender label (free-form; cleaned in analysis to Female, Male, Non-Binary)
Education_Level str LLM-generated education level (free-form)
Personality_Traits str Comma-separated traits
Domain_of_Work str LLM-generated occupation / field
Years_of_Experience int LLM-generated years of professional experience
Location str LLM-generated country / region
Devices_and_Technologies str LLM-generated tech-stack description
Is_Vulnerable str "Yes" or "No" — the model's pick on Prompt 2
Vulnerability_Reasons str The model's free-text justification (empty for non-vulnerable rows)
Prompt1_Response str Full raw response to the persona-generation prompt
Prompt2_Response str Full raw response to the vulnerability-selection prompt

Dataset structure

Single CSV, single split.

from datasets import load_dataset
ds = load_dataset("<your-username>/phishing-llm-bias-audit", split="full")
print(ds)
# Dataset({
#     features: ['Provider', 'Model', 'Model_ID', 'Run', 'Persona_ID',
#                'Name', 'Age', 'Gender', 'Education_Level',
#                'Personality_Traits', 'Domain_of_Work',
#                'Years_of_Experience', 'Location', 'Devices_and_Technologies',
#                'Is_Vulnerable', 'Vulnerability_Reasons',
#                'Prompt1_Response', 'Prompt2_Response'],
#     num_rows: 855
# })

Curation rationale

We adapt the DECODINGTRUST evaluation paradigm to phishing using a two-stage prompt protocol:

  1. Prompt 1 — Persona generation. Model generates three personas with constrained attributes.
  2. Prompt 2 — Vulnerability selection. Conditioned on the same conversation, the model picks which persona is most vulnerable to phishing and explains why.

Repeated 22 times per model. Forced-choice ⇒ unbiased model would pick each persona ~33.3 % of the time; deviations are observable preferences.

Source data

  • Generation. All 14 model configurations are accessed through OpenAI-compatible chat-completion APIs on each provider's free tier.
  • Parsing. Free-text outputs are parsed into structured JSON by Mistral Small at T = 0.0. Parsing errors are logged and skipped, never invented.
  • Provenance. Full collection / parsing pipeline at https://github.com/(your-username)/phishing-llm-bias-audit.

Considerations for using the data

Social impact

This dataset documents LLM bias, not real-world phishing susceptibility. Used incorrectly — e.g., to train a downstream model on Is_Vulnerable directly — it would propagate the very stereotypes it was meant to expose. Appropriate uses:

  • Bias auditing and mitigation research.
  • Pedagogy on hidden / implicit demographic bias in LLM behaviour.
  • Comparative robustness studies (paraphrased prompts, bias-aware prompts, reduced-demographic prompts).

Inappropriate uses:

  • Training risk-scoring systems for adaptive authentication.
  • Selecting "vulnerable" employees for simulated phishing.
  • Any pipeline that treats Is_Vulnerable as ground truth.

Bias in the dataset

Bias is the subject of the dataset, not a flaw in it. The data itself is generated by LLMs and reflects their internalised priors:

  • Gender × vulnerability is significantly non-uniform (χ² = 130.34).
  • Age and experience: vulnerable picks skew younger and less experienced.
  • Education: lower educational attainment over-represented.
  • Geography: India, Mexico, Brazil, Nigeria over-represented among vulnerable picks.
  • Patterns vary substantially per model (some models pick female ~100 %; some pick non-binary ~100 %; one picks male 72 %).

Per-model breakdown is in the source repo (docs/model_summary.md).

Other limitations

  • Single prompt pair. Findings are conditioned on one specific Prompt 1 / Prompt 2 wording.
  • Hosted-inference variability. Free-tier endpoints may quantise or version-pin differently than the released checkpoints.
  • LLM-based parsing. Deterministic but not infallible.
  • SambaNova rate limiting. Three SambaNova models have only 7–9 runs each (≈ 8.8 % of total workflows).

Licensing

MIT. Free for research and educational use. Please cite when redistributing.

Citation

@misc{llm_phishing_bias_audit_2026,
  title  = {LLM Phishing-Vulnerability Bias Audit},
  author = {Tseng},
  year   = {2026},
  howpublished = {Hugging Face Datasets},
  note   = {Multi-provider empirical study of demographic bias in
            open-source LLMs in phishing susceptibility assessment}
}

Full write-up: docs/paper.pdf in the source repository.

README history 2 revisions

Every night we snapshot the README of every dataset in the catalog. When the SHA changes we archive the new version and diff it against the last. This is the evolving thought record of the alignment-data field: what the author decided to say about the corpus, and how that framing shifted over time.

  1. 2026-05-09Upload folder using huggingface_hub00c75217.2 KB
    Loading...
  2. 2026-05-09initial commitc4aff100 B
    Loading...

Used by abliterated models none yet

No abliterated models in our catalog have declared this dataset in their YAML metadata yet. This can mean the dataset is used but not declared, is used outside abliteration workflows, or is new. The link will populate automatically as models are indexed.

Community discussions 1 thread · 1 open · 1 comments

Threads posted by the community on Hugging Face: bug reports, questions about usage, pull requests on the README, license clarifications. Click any thread to expand and read the full conversation inline. Newest first.

  1. 2026-05-10[bot] Conversion to Parquetopen1 💬#1
    Loading...

Related datasets same stage · misc

Read further

Metadata

License
mit

Repository

Download the dataset

0

Copy any of these snippets into your notebook or terminal. All three fetch directly from Hugging Face using your own credentials.

Recommended: datasets library (Python)
from datasets import load_dataset
ds = load_dataset("Julia569922/phishing-llm-bias-audit")
Raw snapshot (Python)
from huggingface_hub import snapshot_download
snapshot_download(repo_id="Julia569922/phishing-llm-bias-audit", repo_type="dataset")
git clone (requires git-lfs)
git clone https://huggingface.co/datasets/Julia569922/phishing-llm-bias-audit
Catalog is the map. Apps are the tools.

Run models on your own machine, not in the cloud.

Every model page has an "Open in Abliteration" button that hands the model directly to the first-party desktop client, at the quantization your rig can actually run. No API keys, no subscription, no prompt leakage.

Open in Abliteration