Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 3 additions & 3 deletions .gitmodules
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[submodule "src/challenges/ab_sniffer"]
path = src/challenges/ab_sniffer
url = https://github.com/RedTeamSubnet/ab-sniffer-challenge.git
[submodule "src/challenges/bot_virus"]
path = src/challenges/bot_virus
url = https://github.com/RedTeamSubnet/bot-virus-challenge.git
[submodule "src/challenges/ada_detection"]
path = src/challenges/ada_detection
url = https://github.com/RedTeamSubnet/ada-detection-challenge.git
2 changes: 1 addition & 1 deletion docs/challenges/.nav.yml
Original file line number Diff line number Diff line change
Expand Up @@ -3,10 +3,10 @@ nav:
- Active Challenges:
- ab_sniffer: ./ab_sniffer
- bot_virus: ./bot_virus
- ada_detection: ./ada_detection
- Inactive Challenges:
- flowradar: ./flowradar
- flowprint: ./flowprint
- historical_fingerprinter: ./historical_fingerprinter
- dev_fingerprinter: ./dev_fingerprinter
- ada_detection: ./ada_detection
- humanize_behaviour: ./humanize_behaviour
2 changes: 1 addition & 1 deletion docs/challenges/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -69,5 +69,5 @@ Follow these steps to successfully submit your challenge solution:
- **[FlowRadar v2](flowradar/README.md)** Train and run a two-stage model pipeline for VPN detection from network flow data.
- **[FlowPrint v1](flowprint/README.md) — Inactive** Former OS-classification challenge; submissions are rejected.
- **[Humanize Behaviour](humanize_behaviour/README.md)** Develop bot scripts that mimic natural human interaction with web forms.
- **[Anti-Detect Automation Detection (AAD)](ada_detection/README.md)** Detect browser automation inside anti-detect environments where fingerprints are masked.
- **[Anti-Detect Browser Detection (ADA)](ada_detection/README.md)** Identify which commercial anti-detect browser is driving a session, without firing on human traffic.
- **[Device Fingerprinter](dev_fingerprinter/README.md) Inactive** Create browser SDKs that accurately fingerprint and identify devices.
104 changes: 42 additions & 62 deletions docs/challenges/ada_detection/README.md
Original file line number Diff line number Diff line change
@@ -1,89 +1,69 @@
# Anti-Detect Automation Detection (AAD) Challenge
# Anti-Detect Browser Detection (ADA) Challenge

## Overview

The **Anti-Detect Automation Detection (AAD)** challenge evaluates a participant's ability to reliably detect browser automation frameworks operating inside anti-detect browsers, while preserving human safety.
The **Anti-Detect Browser Detection (ADA)** challenge tests miners' ability to identify which
**commercial anti-detect browser** is driving a session, while leaving genuine human traffic
untouched.

Evaluation runs simulate real-world anti-detect usage where static signals are masked and fingerprints are fresh. Detection must rely on runtime behavior and orchestration patterns.
Each target is a paid desktop application that launches a managed profile and is driven over
its own loopback API. There is no WebDriver or CDP automation flag to key on, so detection
must rely on the product artifacts the anti-detect browser itself leaves behind in the page
environment.

## Anti-Detect Environment
## General Technical Requirements

Each evaluation run involves:
- **Development Language**: JavaScript (ES6+), one self-contained detector per target
- **Environment**: Docker container environment
- **Architecture**: amd64 (ARM64 at your own risk)
- **State**: Stateless execution with no persistence between runs

- A **fresh NST-Browser profile**.
- An **isolated Docker container per framework**.
- Masks for browser fingerprints and no shared state between runs.
## General Guidelines

!!! Info "NST-Browser Dependency"
Participants need an API key from the [NSTBrowser](https://www.nstbrowser.io/en/pricing) dashboard (Professional plan recommended) for local testing.
- **Detection Method**: Analyze product-specific artifacts, patched APIs, injected objects,
and behavioral patterns.
- **Execution Modes**: Detectors are tested in both headed and headless modes.
- **Human Safety**: A normal headed browser must not trigger a browser or headless detector.
Any false positive on a human task drives the score to zero.
- **Prohibited Method**: Browser fingerprinting is not allowed.

## Features of ADA Detection v2
## Plagiarism Check

- **Hardened NSTBrowser Environment**: Advanced obfuscation including dynamic fingerprinting and hardware simulation (8GB RAM, 16 Cores).
- **Engine-Level Stealth**: `AutomationControlled` flags are disabled at the browser engine level to eliminate static detection signals.
- **Fail-Fast Scoring**: High-stakes evaluation where missing critical targets (Selenium) or exceeding miss limits results in an immediate 0.0 score.
- **Protocol-Level Verification**: Mandatory detection of low-level communication patterns (Webdriver and WebSocket).
- **Selenium Safety Gate**: Mandatory detection of `seleniumbase` and `selenium_driverless` is required for incentive eligibility.
- **Similarity/time decay**: Similarity penalties apply to lookalike submissions; scores decay over 15 days to encourage refreshed heuristics.

## Evaluation Flow
We maintain strict originality standards:

1. **Submission Received**: Detection scripts are submitted via the `/score` endpoint.
2. **Task Generation**: A randomized sequence of multiple automation framework runs and human interactions is generated.
3. **NST-Browser Launch**: A clean instance is started for each task.
4. **Execution**: Automation frameworks connect via WebSocket or WebDriver, while humans interact manually.
5. **Detection Phase**: Scripts may emit detection payloads to `/_payload`.
6. **Scoring**: Results are aggregated and normalized using the Fail-Fast pillars.
- All submissions are compared against other miners' detectors.
- 100% similarity = zero score.
- Similarity above 60% will result in rejection of the submission.

## Technical Constraints
## Submission Path

- **Language**: JavaScript (ES6+)
- **Environment**: NST-Browser only
- **Architecture**: Docker (amd64 recommended)
- **State**: Stateless execution with no persistence between runs.
**Dedicated Path:** [`examples/miner_commit/src/commit/`](https://github.com/RedTeamSubnet/ada-detection-challenge/tree/main/examples/miner_commit/src/commit/)

## Plagiarism Policy
Place your detection module files in this directory before building your commit:

We maintain strict originality standards:
- `ads_power.js`
- `dolphin_anty.js`
- `gologin.js`
- `headless.js`
- `multilogin.js`
- `octo.js`

- All submissions are compared against other participants' SDKs.
- 100% similarity = zero score.
- Similarity above 60% results in proportional score penalties based on the **detected similarity percentage**.
## Challenge Versions

## Submission Path
**Current:**

**Dedicated Path:** [templates/commit/src/detections/](https://github.com/RedTeamSubnet/ada-detection-challenge/tree/main/templates/commit/src/detections/)

Submit your detection scripts as a JSON payload with the following structure:

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

Each file must be named exactly as shown and contain self-contained JavaScript (ES6+) detection logic.
- [**v3**](./v3.md) - Commercial anti-detect browser identification, independent headless
classification, and human verification

## Challenge Versions
**Deprecated:**

- [**v2** (Active after Feb 14, 2026 14:00 UTC)](depricated/v2.md) - Hardened detection with Fail-Fast scoring
- [**v1** (Deprecated)](./depricated/v1.md)
- [v2](./depricated/v2.md) - NSTBrowser-hardened automation detection with fail-fast scoring
- [v1](./depricated/v1.md)

## Resources & Guides

- [Building a Submission Commit](../../miner/workflow/3.build-and-publish.md) - General submission instructions
- [NSTBrowser Official](https://www.nstbrowser.io/en/pricing) - Professional plan required for local testing
- [ADA-3 Testing Manual](./testing_manuals.md) - Local validation and environment guidance
- [Challenge Repository](https://github.com/RedTeamSubnet/ada-detection-challenge/)
- [Miner Repository](https://github.com/RedTeamSubnet/miner/)

Expand Down
4 changes: 2 additions & 2 deletions docs/challenges/ada_detection/depricated/v1.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ title: Anti-Detect Automation Detection

**ADA Detection v1** focuses on behavioral detection inside NST-Browser where traditional static signals are masked. This version uses a payload-based flow with strict human safety requirements.

For general challenge information, environment details, and plagiarism policies, please refer to the [AAD README](../README.md).
For general challenge information, environment details, and plagiarism policies, please refer to the [ADA README](../README.md).

---

Expand Down Expand Up @@ -58,7 +58,7 @@ Submissions must follow this structure:

## Scoring System

AAD scoring is continuous, normalized, and strict, combining three main components before being normalized into a final score.
ADA scoring is continuous, normalized, and strict, combining three main components before being normalized into a final score.

* **Human Accuracy:** This is the most critical component. Your submission must not flag real human users as bots or automation. You are allowed a maximum of 2 mistakes; exceeding this limit results in an immediate **final score of 0.0** (human safety kill switch). For scoring, you start with 1.0 point, and each mistake reduces this component by 0.1.

Expand Down
2 changes: 1 addition & 1 deletion docs/challenges/ada_detection/depricated/v2.md
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ title: Anti-Detect Automation Detection v2

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](../README.md).
For general challenge information, environment details, and plagiarism policies, please refer to the [ADA README](../README.md).

---

Expand Down
Loading