Inspiration

Malicious domains are used for phishing, malware, and scams every day. I wanted to see how accurately they could be identified using only the domain name itself, without external threat intelligence or DNS lookups.

What it does

Auspex analyzes a domain name and predicts whether it is benign, malware, phishing, or spam. It also provides a risk score and explains why the domain was flagged.

How we built it

I trained multiple machine learning models on over one million labeled domains from the CIC Bell DNS 2021 dataset published by the Canadian Institute for Cybersecurity (CIC). The final system combines lexical feature engineering, character n-grams, a FastAPI backend, and a Next.js frontend.

Challenges we ran into

The biggest challenge was class imbalance. Benign domains heavily outnumbered malicious ones, making it difficult to improve threat detection without increasing false positives.

Accomplishments that we're proud of

I built and deployed a complete end-to-end ML application. The project successfully performs explainable domain-risk analysis and is accessible through a public web interface.

What we learned

I learned that feature engineering often matters more than simply switching models. I also gained experience deploying and evaluating a machine learning system built on real life data.

What's next for Auspex

Auspex was designed as a lexical only proof of concept, using just the domain name itself. Future versions could use additional signals such as DNS records, WHOIS data, domain age, certificates, and reputation services to improve detection performance and provide deeper analysis.

Built With

Share this project:

Updates

Submission history