N4darae/anti-mage

For detecting anti-detect browsers and spoofed profiles through runtime coherence analysis.

何を解決するか

Anti-Mage は、ブラウザ自身が報告するデータ内の矛盾を特定することで、「アンチ検出」ブラウザやボット環境を検出します。既知のツールやシグネチャのデータベースに依存せず、ブラウザのさまざまな表面(スクリーンの幾何学、フォントリスト、ハードウェア能力など)が互いに一致しているか、またそのプラットフォームが主張するものと一致しているかを検証します。

動作方法

このプロジェクトは、ブラウザ側の収集ツールを使用して、23の独立した読み取りから34の測定値を取得します。以下のような領域での不一致を検出します:

  • プラットフォームの一貫性: 主張されたプラットフォームとインストールされたフォント、ハードウェアデコーダーとの比較。
  • 実行の整合性: ネイティブアクセサが変更されていないか、実行スコープ間で挙動が異なるかの確認。
  • uma レイアウトとメトリクス: CSS とスクリプト経路におけるテキストメトリクスおよびビューポート幾何学の一致を検証。
  • ハードウェアとメディア: 記録されたグラフィックスインターフェースやデバイス名が、実際の能力や世代と一致しているか。
  • 時間的およびネットワークデータ: タイムゾーンオフセットや ICE ギャザリング状態の確認。

結果は consistentcontradictioninstrumentedinconclusiveunverified のいずれかに分類されます。これらのカテゴリは、意図的な矛盾が自発的な変更よりも重みが大きいように重み付けされ、最終スコア(0–90、10刻み)が算出されます。スコアが0は、矛盾が一切検出されなかったことを意味します。

対象ユーザー

静的シグネチャリストに頼らず、ボットや偽装ブラウザプロファイルを識別するために、ブラウザ環境の整合性を検証する必要がある開発者やセキュリティ研究者向けです。

特徴

  • シグネチャなし検出: 既知のツールのデータベースを使用せず、ブラウザ自身の報告に含まれる矛盾を検出します。
  • 高い正確性: ストックブラウザ(Chrome、Firefox、Edge)は常にスコア0を示し、アンチ検出ブラウザは常に60以上を示します。
  • 動的プロービング: 事前に計算された答えを防ぐために、ランダムに生成されたフォントファミリ名と日付を使用します。
  • 純粋な評価ロジック: コア評価エンジンは外部依存なしの純粋関数であり、Goプロジェクトへの統合が容易です。
  • 厳格な検証: 参照データは、観測されたシステムと手動で検証された場合にのみスコアリングに使用されます。

関連

  • Dispatch
  • プロジェクト
  • プロジェクト
  • プロジェクト
  • Dispatch