Hacktoberfest 2026: le issue che i maintainer hanno segnato per ottobre, aperte e adatte ai principianti. Sfoglia le issue Hacktoberfest

Stealth Playwright evades detection with human level score (0.14)

Aperta
#87 2 commenti 1 reazione 1 assegnatario Vedi su GitHub

I maintainer di solito rispondono entro 1 giorno

@cport1 ci sta già lavorando.

Dal 24/9/2026.

Valutazione

Questa issue non è ancora stata valutata.

Descrizione

Summary

A Playwright script using playwright-extra + puppeteer-extra-plugin-stealth achieves a score of 0.14, indistinguishable from real human users (0.11-0.14 in my testing) with relatively simple behavioral tuning. The default block threshold of 0.5 passes it comfortably.

Environment

  • FCaptcha: v1.39.0 (Node.js server)
  • Playwright: tested via playwright-extra + puppeteer-extra-plugin-stealth
  • Mode tested: invisible (form scoring)
  • Browser: Chrome 127 (headed, real install, not headless)

Steps to reproduce

  1. Run FCaptcha server locally with verdict logging on
  2. Serve a form with invisible mode
  3. Run the following script: https://gist.github.com/obamaruntz/4825cb60701d0278beea5c27e068906a

Scores observed

Baseline run:
Image
Tuned run:
Image

What the attacker fixed vs. the baseline run

  • Typing speed 49ms/key -> bot 0.70 (conf 0.70)
    Fix: gaussian-distributed ~155ms/key with std 35ms
    Result: gone

  • Abnormal keydown/keyup ratio -> bot 0.40 (conf 0.50)
    Fix: added realistic key hold time ~75ms with variance
    Result: gone

  • No local WebRTC IPs -> headless 0.40
    Fix: injected fake RTCPeerConnection candidate
    Result: gone

Impact

With ~80 lines of behavioral tuning code, stealth Playwright achieves a score identical to a real human at the default threshold. Detection rate against this class of agent is effectively 0% out of the box.

Lingua principale
JavaScript
Stelle
221
Fork
23
Merge medio
18h 50m
PR unite (30g)
42

Preparare l'ambiente

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Altre issue di WebDecoy/FCaptcha

Tutte le issue di WebDecoy/FCaptcha

Issue simili

Altre issue su JavaScript

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.