N4darae/anti-mage

For detecting anti-detect browsers and spoofed profiles through runtime coherence analysis.

What it solves

Anti-Mage detects "anti-detect" browsers and bot environments by identifying contradictions within the browser's own reported data. Instead of relying on a database of known tools or signatures, it focuses on whether a browser's various surfaces (like screen geometry, font lists, and hardware capabilities) agree with each other and with the platform they claim to be.

How it works

The project uses a browser-side collector to take 34 measurements across 23 independent readings. It looks for discrepancies in areas such as:

  • Platform Consistency: Comparing claimed platforms against installed fonts and hardware decoders.
  • Execution Integrity: Checking if native accessors have been modified or if they behave differently across execution scopes.
  • ** uma Layout and Metrics:** Verifying agreement between CSS and script paths for text metrics and viewport geometry.
  • Hardware and Media: Matching reported graphics interfaces and device names against their actual capabilities and generations.
  • Temporal and Network Data: Checking time zone offsets and ICE gathering states.

Findings are categorized as consistent, contradiction, instrumented, inconclusive, or unverified. These are weighted by class—where deliberate contradictions weigh more than self-declared modifications—to produce a final score (0-90) in steps of ten. A score of 0 indicates no disagreements were found.

Who it’s for

Developers and security researchers who need to verify the coherence of a browser environment to identify bots or spoofed browser profiles without relying on static signature lists.

Highlights

  • Signature-less Detection: Does not use a database of known tools; it detects contradictions in the browser's own reports.
  • High Accuracy: Stock browsers (Chrome, Firefox, Edge) consistently score 0, while anti-detect browsers consistently score 60 or higher.
  • Dynamic Probing: Uses randomly generated font family names and dates to prevent pre-computed answers.
  • Pure Evaluation Logic: The core assessment engine is a pure function with no external dependencies, making it easy to integrate into Go projects.
  • Strict Verification: Reference data is only used for scoring if it has been manually verified against observed systems.

Related

  • Dispatch
  • Project
  • Project
  • Project
  • Dispatch