We will be undergoing planned maintenance on January 16th, 2026 at 1:00pm UTC. Please make sure to save your work.

🛡️ GuardianLink – Browser Security Extension

Inspiration

Phishing and malicious websites are still one of the most common ways users get hacked. Even today, many dangerous links look completely normal. During regular browsing, we noticed that most browser extensions either block sites instantly without explanation or rely on a single source of data.

That motivated us to build GuardianLink — a browser extension that checks a website from multiple trusted sources before giving a final verdict, even if that takes a little time.

Instead of claiming instant protection, we focused on accuracy and transparency.


What It Does

GuardianLink analyzes a website before the user fully trusts it and shows whether it is safe, suspicious, or dangerous.

Current Features (Implemented)

  • URL Reputation Checking using:
    • VirusTotal
    • AbuseIPDB
    • Google Safe Browsing
  • WHOIS Lookup
    • Domain age
    • Registration details
  • Risk-Based Decision
    • Uses results from all sources to decide whether a site should be allowed, warned, or blocked
  • User Notification
    • Shows clear status instead of silently blocking
  • Realistic Scan Time
    • Full analysis takes around 20 seconds, depending on API responses

Scan Flow (Actual Behavior)

  • 0–5 seconds → Basic checks & cached results
  • 5–15 seconds → API calls (VirusTotal, Google Safe Browsing, AbuseIPDB)
  • 15–20 seconds → WHOIS lookup & final decision

This delay is intentional to ensure better accuracy instead of guesswork.


How We Built It

GuardianLink is built as a browser extension with a simple backend logic to coordinate API calls.

Tech Stack

  • Browser Extension (JavaScript)
  • External APIs
    • VirusTotal
    • AbuseIPDB
    • Google Safe Browsing
    • WHOIS services

Core Logic (Simplified)

async function scanURL(url) {
  const vt = await checkVirusTotal(url);
  const abuse = await checkAbuseIPDB(url);
  const gsb = await checkGoogleSafeBrowsing(url);
  const whois = await checkWhois(url);

  return calculateRisk(vt, abuse, gsb, whois);
}

Risk Calculation (Conceptual)

Each service contributes to a final risk score:

$$ Risk = VT + AbuseIPDB + GoogleSafeBrowsing + WHOIS $$

Based on the final score:

  • High risk → Block
  • Medium risk → Warn
  • Low risk → Allow

Challenges We Ran Into

1. API Rate Limits

Most security APIs have strict limits. This required:

  • Request queuing
  • Avoiding unnecessary re-scans

2. Scan Time vs Accuracy

  • Instant results were possible, but unreliable
  • We accepted a ~20 second scan time to ensure correctness

3. False Positives

  • Some new or less popular websites look suspicious
  • WHOIS data helped reduce incorrect blocking

Accomplishments We’re Proud Of

  • Integrated multiple trusted security sources
  • Clear and honest security results
  • No fake claims about “instant” or “AI-magic” detection
  • Transparent behavior that users can understand

What We Learned

  • Security tools must be honest about their limitations
  • Combining multiple sources is better than relying on one
  • Users prefer a short wait if the reason is clearly explained

What’s Next (Realistic & Possible)

Only features that can realistically be added next:

  • Result caching to reduce repeated scans
  • UI improvements for better progress visibility
  • Faster parallel API calls where possible
  • Manual re-scan button

No claims of advanced AI, ML, or prediction models unless implemented.


Conclusion

GuardianLink is a practical browser security extension that focuses on real data, trusted sources, and transparency. It does not promise instant results — it promises better decisions.

Good security may take a few seconds, but a wrong decision can cost much more.

Built With

Share this project:

Updates