Skip to content

Conversation

@Zacgoose
Copy link
Contributor

Introduces domain squatting detection to protect against typosquatting, homoglyph, and combosquatting attacks.

Updates schema, detection rules, and documentation; adds new protected domains; enhances the options UI with collapsible config sections and domain squatting controls; and integrates the detector module into the background script.

We have also tuned the re-scan amount and triggers to be more aggressive since the performance of the page scanning is much better now

Introduces domain squatting detection to protect against typosquatting, homoglyph, and combosquatting attacks. Updates schema, detection rules, and documentation; adds new protected domains; enhances the options UI with collapsible config sections and domain squatting controls; and integrates the detector module into the background script. We have also tuned the re-scan amount and triggers to be more aggressive since the performance of the page scanning is much better now
Copilot AI review requested due to automatic review settings December 20, 2025 14:38
Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR introduces comprehensive domain squatting detection to protect users from typosquatting, homoglyph substitution, and combosquatting attacks. The feature uses four detection algorithms (Levenshtein distance, homoglyph detection, typosquatting patterns, and combosquatting) to identify suspicious domains that closely resemble legitimate sites.

Key Changes:

  • Adds a new DomainSquattingDetector module with multiple detection algorithms
  • Integrates domain squatting checks into the content script's protection flow, running before phishing detection
  • Updates scan timing parameters to be more aggressive (MAX_SCANS increased from 5 to 8, SCAN_COOLDOWN reduced from 1200ms to 800ms)

Reviewed changes

Copilot reviewed 14 out of 14 changed files in this pull request and generated 11 comments.

Show a summary per file
File Description
scripts/modules/domain-squatting-detector.js New module implementing domain squatting detection with Levenshtein, homoglyph, typosquat, and combosquat algorithms
scripts/content.js Integrates domain squatting detection, adjusts scan timing/frequency, adds domain squatting warning banners
scripts/background.js Initializes domain squatting detector, handles check_domain_squatting messages
scripts/blocked.js Adds domain squatting-specific display logic and technical details
options/options.js Implements collapsible config sections UI, adds domain squatting webhook configuration
options/options.html Adds webhook checkbox for domain squatting events, moves inline scripts to options.js
options/options.css Adds styles for collapsible sections and expandable lists
rules/detection-rules.json Defines domain squatting configuration with 30+ protected domains
config/managed_schema.json Adds schema for domain squatting policy management
docs/features/domain-squatting-detection.md New comprehensive documentation for the feature
docs/settings/detection-rules.md Updates to explain dual protection of URL allowlist
docs/SUMMARY.md Adds Features section with domain squatting documentation

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Zacgoose and others added 5 commits December 20, 2025 23:01
Co-authored-by: Copilot <[email protected]>
Signed-off-by: Zacgoose <[email protected]>
Co-authored-by: Copilot <[email protected]>
Signed-off-by: Zacgoose <[email protected]>
Co-authored-by: Copilot <[email protected]>
Signed-off-by: Zacgoose <[email protected]>
Co-authored-by: Copilot <[email protected]>
Signed-off-by: Zacgoose <[email protected]>
Co-authored-by: Copilot <[email protected]>
Signed-off-by: Zacgoose <[email protected]>
@Zacgoose Zacgoose closed this Dec 20, 2025
@Zacgoose Zacgoose reopened this Dec 21, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant