Stealth Playwright evades detection with human level score (0.14)
メンテナーはふだん 1 日以内に返信
@cport1 がすでに取り組んでいます。
2026年9月24日 から。
評価
この issue はまだ評価されていません。
説明
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
- Run FCaptcha server locally with verdict logging on
- Serve a form with invisible mode
- Run the following script: https://gist.github.com/obamaruntz/4825cb60701d0278beea5c27e068906a
Scores observed
Baseline run:
Tuned run:
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.
- 主要言語
- JavaScript
- スター
- 221
- フォーク
- 23
- 平均マージ
- 18時間 50分
- マージ済み PR(30日)
- 42
環境構築
- Dockerfile・Docker Compose ファイルなし
- プルリクエストのテンプレートあり
- コントリビューションガイドを読む
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
WebDecoy/FCaptcha のほかの issue
-
enhancement good first issue
難易度 2/5 1〜3時間 初心者へのやさしさ 70/100
メンテナーはふだん 1 日以内に返信
-
enhancement good first issue
難易度 1/5 1〜3時間 初心者へのやさしさ 62/100
メンテナーはふだん 1 日以内に返信
-
enhancement good first issue
難易度 2/5 1〜3時間 初心者へのやさしさ 65/100
メンテナーはふだん 1 日以内に返信
-
enhancement help wanted javascript
難易度 3/5 1〜2日 初心者へのやさしさ 52/100
メンテナーはふだん 1 日以内に返信
-
documentation help wanted
難易度 2/5 半日 初心者へのやさしさ 55/100
メンテナーはふだん 1 日以内に返信
WebDecoy/FCaptcha の issue をすべて見る
似ている issue
-
BUG
難易度 2/5 1〜3時間 初心者へのやさしさ 74/100
メンテナーはふだん 1 日以内に返信
-
type/bug
難易度 1/5 1時間未満 初心者へのやさしさ 75/100
flarum/framework#5231 · コメント 1 件 ·
メンテナーはふだん 1 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 82/100
apache/rocketmq-dashboard#6896 ·
メンテナーはふだん 3 日以内に返信
-
bug good first issue
難易度 2/5 1〜3時間 初心者へのやさしさ 84/100
メンテナーはふだん 1 日以内に返信
-
[workshop-sync] workshop/side-quest-17-06-output-injection.md: stale add_comment.cjs line referencesオープンdocumentation
難易度 2/5 1〜3時間 初心者へのやさしさ 78/100
githubnext/gh-aw-workshop#4679 ·
メンテナーはふだん 1 日以内に返信