VERDICT

VERDICT flagging a sample phishing message as a malicious threat
VERDICT scanner input form

Project Information

  • Category: Machine Learning / Security
  • Name: VERDICT
  • Project URL: Live demo (click “Try a sample scam message”)
  • Project Github Repository: Github

The Problem

Scam texts and phishing emails rely on people not looking closely. VERDICT does the close look for you: paste a message and get a verdict, a confidence score and the evidence behind it.

How It Works

  • ML model: TF-IDF plus Multinomial Naive Bayes, trained on the 5,574-message SMS Spam Collection
  • Link forensics: expands shortened URLs hop by hop, geolocates the host, flags raw-IP links
  • Homoglyphs: detects look-alike Cyrillic and Greek letters hidden in words and domains
  • Sender checks: free-mail providers, invalid numbers, VoIP/burner carriers
  • Stack: Python, Flask, scikit-learn, pandas, phonenumbers, on Vercel

Security Engineering

Because the server fetches links that users paste, URL expansion validates every redirect hop and refuses private, loopback and link-local addresses (SSRF protection). All user-derived text is HTML-escaped before rendering, and uploads are size-capped and never stored. Built with Tate Nyoni as a CS 455 final project.

Tutu