Canvas readback stability check
メンテナーはふだん 1 日以内に返信
まだ誰も着手していません。
評価
- 難易度
- 4/5
- 見積もり時間
- 3〜5日
- 初心者へのやさしさ
- 35/100
調査の方向性
Start with the client code that hashes the canvas once, then the detection scoring that consumes client signals, and the bench persona config that defines privacy-extension. Add canvasStable by rendering a fixed scene twice and comparing hashes, then emit a low-weight canvas_unstable detection in all three servers. Done means the flag never moves privacy-extension past allow, the added client cost is measured at a few milliseconds, and the CI false-positive budget stays green.
索引モデルが issue の本文から書いたものです。
説明
Problem
Anti-detect and privacy-hardened browsers add per-read noise to canvas readback, so the same drawing produces a different hash each time. An unmodified browser is deterministic within a page load. The client hashes canvas once, so the noise goes unseen.
Scope
- Render the same fixed scene twice in the client and send whether the hashes matched (
canvasStable). - Emit a low-weight
canvas_unstabledetection that corroborates other evidence rather than blocking on its own. - Implement in all three servers.
Caveat
Brave's default shields, Firefox's privacy.resistFingerprinting and some privacy extensions trigger this for real people. The privacy-extension bench persona is the gate: a flag on its own must never push that persona past allow.
Acceptance
- Stable on stock Chrome, Firefox and Safari.
- Measure the added client cost and keep it to a few milliseconds.
- The bench false-positive budget stays green.
- 主要言語
- 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
-
enhancement
難易度 2/5 1〜3時間 初心者へのやさしさ 67/100
メンテナーはふだん 1 日以内に返信
-
enhancement good first issue
難易度 2/5 1〜3時間 初心者へのやさしさ 76/100
SasanLabs/VulnerableApp#836 ·
メンテナーはふだん 1 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 76/100
keyxmakerx/Chronicle#1469 ·
メンテナーはふだん 1 日以内に返信
-
Connection.prototype.bulkWrite() with ordered: false resolves null when a write fails対応中かも @maxymlyskov が今日担当しました。 オープン
難易度 2/5 1〜3時間 初心者へのやさしさ 78/100
Automattic/mongoose#16601 ·
メンテナーはふだん 2 日以内に返信
-
sandbox-vercel: persistent: false is dropped for live sandboxes created from a template, so every stop writes a snapshot対応中かも @jvg123 が今日担当しました。 オープンfactory-active task-identify-harness-labels-done task-identify-issue-type-done
難易度 2/5 1〜3時間 初心者へのやさしさ 78/100
メンテナーはふだん 1 日以内に返信