CoolFace
Datasetpublic

gpm123/phishing-website-screenshots

Phishing Website Screenshots A dataset of 8,370 full-page website screenshots labelled as legitimate or phishing, intended for training and evaluating visual phishing-detection models. Contents Label label Images legitimate 0 7,924 phishing 1 446 Total 8,370 Screenshots were captured at a desktop viewport (1920×1080) as PNG images. Structure legitimate/<brand>/<page>.png phishing/<source>/<page>.png metadata.csv metadata.csv… See the full description on the dataset page: https://huggingface.co/datasets/gpm123/phishing-website-screenshots.

sourceHugging Faceotherupdated 26d agoView on Hugging Face
0likes76downloads
Dataset Card

Phishing Website Screenshots

A dataset of 8,370 full-page website screenshots labelled as legitimate or phishing, intended for training and evaluating visual phishing-detection models.

Contents

Label`label`Images
legitimate07,924
phishing1446
Total8,370

Screenshots were captured at a desktop viewport (1920×1080) as PNG images.

Structure

legitimate/<brand>/<page>.png
phishing/<source>/<page>.png
metadata.csv

metadata.csv has one row per image. Key columns:

  • file_name — path to the image (relative to the repo root)
  • label0 = legitimate, 1 = phishing
  • label_namelegitimate / phishing
  • url, final_url — captured URL and post-redirect URL
  • brand, brand_normalized, page_type
  • image_width, image_height, file_size_bytes, image_hash
  • is_blank, is_captcha, is_error_page, status_code, timestamp
Note: 7,465 images have full metadata; the remaining 905 have label/label_name/file_name populated with other fields left blank.

Usage

python
from datasets import load_dataset

ds = load_dataset("shresthsamyak/phishing-website-screenshots")  # replace with your repo id
print(ds["train"][0])          # image + metadata columns

Or load the metadata directly:

python
import pandas as pd
from huggingface_hub import hf_hub_download

csv_path = hf_hub_download(
    "shresthsamyak/phishing-website-screenshots", "metadata.csv", repo_type="dataset"
)
df = pd.read_csv(csv_path)

Intended use & disclaimer

This dataset is provided for defensive security research and education (e.g. building phishing-detection classifiers). Screenshots are images of publicly reachable web pages captured at collection time; brand names, logos, and page content remain the property of their respective owners. The phishing samples depict malicious impersonation pages — do not reproduce or host them. Review applicable laws and third-party rights before redistribution or commercial use.

Class imbalance

The dataset is imbalanced (~18:1 legitimate:phishing). Consider class weighting, resampling, or metrics robust to imbalance (PR-AUC, F1) when training.