私はGoogle広告で悪意のあるソフトウェアを宣伝します
概要
- Google Adsアカウント が「悪意のあるソフトウェア」として停止された事例
- RACE というmacOS用ターミナルマルチプレクサの開発・配布
- サイトやアプリの セキュリティ検証 を徹底的に実施
- Google から具体的な説明や根拠が一切提示されない苦悩
- Hacker News 経由でアカウントが復活したが、依然として説明は不明
Google Adsアカウント停止と復活までの経緯
- RACE はRust製のmacOS向けターミナルマルチプレクサ
- ターミナルの自由な配置やリサイズ、色分け、セッションの持続管理などを特徴
- 自分で開発・利用・保守を担当
- 公式サイト はBridgetownで構築、JavaScriptによるインタラクティブ機能のみ実装
- サーバーサイドアプリなし、Cloudflare経由で配信
- Cloudflare R2でダウンロードファイルを管理
- サイトのトラッキングはCloudflare Analyticsのみ、Google Analyticsや広告トラッキングは不使用
- 初めて Google Ads で広告出稿、500ドルを消費後にアカウントが「悪意のあるソフトウェア」で停止
- 理由説明や具体的な問題点の提示なし
- サイトやアプリはAppleの署名・公証済み、攻撃面なし
- 異議申し立て を複数回実施
- 毎回却下され、理由や具体的な指摘は一切提示されず
- EUの救済措置案内のみ
- 最終的には一時的なアカウントブロックも経験
サイト・アプリのセキュリティ検証
- Google Safe Browsing でrace-term.comとdownloads.race-term.comをチェック
- Google Search Console のセキュリティレポートも「問題なし」
- 配布ファイル(DMG) もVirusTotalで完全にクリーンと判定
- JavaScriptソースやバンドルの出力 もレビュー
- Cloudflareログやユーザーエージェントごとのアクセス状況 も確認
アプリの挙動と疑念点
- RACE は設計上、バックグラウンドでターミナルプロセスを管理
- これはターミナルマルチプレクサの本質機能
- dtachなど外部バックエンドにも対応、設定・挙動はドキュメントで明示
- 他アプリへのコード注入、ブラウザ改変、マルウェアインストール等は一切なし
- バックグラウンドプロセスの残留が「悪意のある動作」と誤認された可能性を考慮
- v1.0.39でアンインストール時にプロセスをクリーンアップする仕様を一時的に実装
現状と今後
- Google Ads の「悪意のあるソフトウェア」判定は誤検知の可能性が高いと判断
- 公式・独立のセキュリティチェックで全て「問題なし」
- Catch 22 状態(理由不明のまま対処不能)に陥る苦しみ
- 最終的にはHacker Newsの拡散効果でアカウント復活
- しかし、Googleからの説明や根本原因の開示は一切なし
- 今後は EUでの法的救済 も視野に入れる方針
Radio Erywanのジョークと現実の対比
- 「モスクワの赤の広場で車が配られている」という噂話を訂正する皮肉なジョーク
- 実際は「サンクトペテルブルクの革命広場で自転車が盗まれている」というオチ
- Google Ads の対応も同様に、事実がねじ曲げられ、納得できる説明がない状況を揶揄