Skip to content

Anti-Detect Automation Detection v2 (Active after 2026 February 14 14:00 UTC)

Overview

ADA Detection v2 focuses on advanced behavioral detection inside NSTBrowser environments. This version introduces hardened detection requirements where static signals are masked and engine-level obfuscation is active.

Browser Hardening Features

  • Dynamic Fingerprinting: Every session generates unique, randomized browser identifiers to prevent static pattern matching.
  • Hardware Simulation: Realistic signals are injected for deviceMemory (8GB), hardwareConcurrency (16), and screen resolution (1280x1024).
  • Engine-Level Stealth: Disables AutomationControlled flags at the browser engine level, eliminating traditional automation leaks.

Scoring has transitioned to a Fail-Fast model, emphasizing accuracy across three critical pillars: Human Detection, Framework Detection (with a Selenium Safety Gate), and Protocol Accuracy.

For general challenge information, environment details, and plagiarism policies, please refer to the AAD README.


Target Frameworks & Protocols

Participants must submit detection scripts for the following frameworks and protocols:

  • Frameworks: nodriver, playwright, patchright, puppeteer, puppeteer_extra, zendriver, selenium_driverless, seleniumbase
  • Protocols: webdriver, websocket

Missing any of these scripts results in an invalid submission.

Selenium Safety Gate

Missing detection for either seleniumbase or selenium_driverless results in an immediate final score of 0.0. These frameworks are the primary automation vectors in v2; failure to detect them indicates a fundamental gap in the detection logic.


Submission Format

Submissions must follow this structure:

{
  "detection_files": [
    { "file_name": "nodriver.js", "content": "/* logic */" },
    { "file_name": "playwright.js", "content": "/* logic */" },
    { "file_name": "patchright.js", "content": "/* logic */" },
    { "file_name": "puppeteer.js", "content": "/* logic */" },
    { "file_name": "puppeteer_extra.js", "content": "/* logic */" },
    { "file_name": "zendriver.js", "content": "/* logic */" },
    { "file_name": "selenium_driverless.js", "content": "/* logic */" },
    { "file_name": "seleniumbase.js", "content": "/* logic */" },
    { "file_name": "webdriver.js", "content": "/* logic */" },
    { "file_name": "websocket.js", "content": "/* logic */" }
  ]
}

Rules

  • File names must match the framework/protocol names exactly.
  • Each file detects only its own framework or protocol.
  • No extra files or outputs are allowed.

Scoring System: The Three Pillars

ADA v2 uses a Fail-Fast scoring model. If a submission fails any of the three critical pillars, the final score is immediately set to 0.0.

1. Human Detection

Miners must distinguish between automated tasks and human-injected sessions.

  • Limit: You are allowed a maximum of 1 mistake. Exceeding this limit results in an immediate score of 0.0.
  • Weight: Perfect detection grants 1.0 point for this pillar. Partial penalties apply for a single miss based on the ratio of human injections.

2. Framework Detection

Points are earned for correctly identifying the specific automation framework.

  • Selenium Gate: Missing seleniumbase or selenium_driverless zeros the entire score.
  • Density: You earn 1.0 point for a framework only if you detect it perfectly in all 3 of its runs.
  • Collision: Reporting more than one framework or an incorrect protocol for a given session results in a collision penalty (earning only 0.1 points instead of 1.0).

3. Protocol Accuracy

Validates the low-level communication patterns of the browser.

  • Webdriver Protocol: Expected to be true for Selenium-based frameworks and false for others (human, playwright, etc.).
  • Websocket Protocol: Expected to be true for non-Selenium frameworks (playwright, puppeteer, etc.) and false for human sessions and Selenium.
  • Threshold: You are allowed a maximum of 1 miss per protocol type. Exceeding this limit results in an immediate score of 0.0.

Final Formula

The final score is normalized between 0.0 and 1.0 using the formula:

Final Score = (Human Score + Framework Score + Protocol Score) / 10

(Where 10 = 8 frameworks + 1 human pillar + 1 protocol pillar)


Incentive Eligibility

To maintain high detection standards, a minimum performance threshold is required for incentives:

  • Minimum Score: 0.6
  • This threshold ensures that miners identify the main automation vectors (Selenium) and maintain high human safety while allowing for minor misses in other categories.

Similarity & Time Decay

  • Similarity check: Submissions are compared against other SDKs; high similarity incurs penalties.
  • Score decay: Scores decay over 15 days to incentivize refreshed heuristics.

Example

Assume:

  • 8 frameworks total
  • Perfect human accuracy → 1.0
  • Perfect protocol accuracy → 1.0
  • 6 frameworks detected perfectly → 6.0 points
Final Score = (1.0 + 1.0 + 6.0) / 10
            = 8.0 / 10
            = 0.8

Any excessive human misclassification, protocol misses, or missing Selenium detection would reduce this to 0.0.


Submission Guide

To build and submit your solution, please follow the Building a Submission Commit guide.

Submission Templates

Templates and building instructions can be found in the ADA Detection repository.