Honeyのディーゼルゲート:テスターの検知と欺瞞
(vptdigital.com)- ブラウザ用ショッピングプラグイン Honey が、テスト状況を検知して挙動を変える 「ディーゼルゲート式」操作コード を使っていた形跡が明らかになった
- Honeyは、アカウント作成日、ポイント累積値、ブラックリスト、アフィリエイトネットワークのCookie検知 という4つの基準で、ユーザーがテスターかどうかを判定
- この条件のいずれか1つでも当てはまると規定どおりに「スタンドダウン(stand-down)」を実行するが、一般ユーザーだと判断すると 規定を無視してアフィリエイトリンクを強制挿入
- 分析者は ソースコード、設定ファイル、パケットキャプチャ、テレメトリログ を通じて、Honeyの選択的な規定違反を繰り返し確認
- この行為は Volkswagenのディーゼルゲートに似た隠蔽の試み であり、アフィリエイトネットワーク・マーチャント・プラットフォーム(Google・Apple)すべての信頼を損なう可能性がある問題
Honeyの規定違反の構造
-
Honeyは、アフィリエイトネットワークとマーチャントが定めた 「スタンドダウン」ルール を回避するよう設計されている
- スタンドダウンとは、既存のWebパブリッシャーがすでにアフィリエイトリンクを提供している場合に、別のソフトウェアが追加リンクを表示しないようにするルール
- Honeyは一般ユーザーにはこのルールを無視し、テスターだと疑われる場合にのみ規定を守る形で動作
-
この構造は Volkswagenのディーゼルゲート のように、テスト環境でのみ規定を順守するよう設計された形態
- Honeyは規定を認識していながら回避しようとしていた点で、意図的な隠蔽行為 と評価される
テスター検知メカニズム
-
Honeyは次の4つの基準でユーザーがテスターかどうかを判定
- 新規アカウント: 作成後30日未満なら規定違反行為を停止
- ポイント累積値: 65,000ポイント(約650ドル相当)未満ならテスターと見なす
- サーバーブラックリスト: 苦情履歴や特定のIP・Cookieが登録されている場合は規定違反を停止
- アフィリエイトネットワークCookie: CJ、Rakuten Advertising、Awinなどの提携先ログインCookieがあればテスターと判断
-
このうち1つでも該当するとHoneyは規定を順守するが、すべて通過すると 規定を完全に無視してアフィリエイトリンクを挿入
-
このような設計は テスターによる検知を妨害 し、短期テストや新規アカウントベースの検証を無力化する
技術的証拠
-
ハンズオンテスト: ポイント値を操作してHoneyの反応を比較
- ポイントが少ないときは規定を守ったが、高ポイントに見せかけたときは規定を無視してリンクを表示
- アフィリエイトネットワークCookieを追加すると、Honeyが再び規定を順守する様子を確認
-
設定ファイル分析:
ssd.jsonで選択的スタンドダウンロジックを確認uP:65000(ポイント基準)、gca(Cookie検査)、bl(ブラックリスト)などの項目が存在- 特定のマーチャント(Booking.com、Kayosportsなど)には、より高いポイント基準が設定されている
-
テレメトリログ: Honeyがどの理由でスタンドダウンを実行したかをJSON形式で記録
state:"uP:5001",state:"gca"など、内部判断の根拠が明記されている
-
ソースコード分析: JavaScript関数
P()が各基準値を比較してスタンドダウンの可否を決定- すべての条件を通過すると
"ssd"状態で規定を無視 emailに “test” を含むかどうか、affiliate cookieの有無なども検査
- すべての条件を通過すると
eBayに対する特異な例外処理
- HoneyはeBayに対して 24時間(86,400秒) のスタンドダウンを適用しており、他のマーチャントよりはるかに厳格
- コード上でもeBayドメインに対して 無条件でスタンドダウン するようハードコードされている
- 過去のeBayのアフィリエイト不正事件(2008年)以後の 厳格なアフィリエイト管理 を意識した措置とみられる
設定の変化と時点
- 2022年には大半のネットワークでポイント基準がなく、Rakuten(LinkShare)にだけ 501ポイント(約5ドル) の基準が適用されていた
- 2025年現在は 65,000ポイント へと大幅に引き上げられている
- MegaLagの2024年動画公開後にHoneyが基準を強化したと推定される
- LinkShareの場合はむしろ緩和され、現在は5,001ポイントだけで規定無視が可能
隠蔽行為の文脈
-
Honeyの行為は、過去の Cookie stuffing、ジオフェンシング、IPフィルタリング などのアフィリエイト不正事例と類似している
- 特定のIPやCookieを遮断して テスターが問題を再現できないよう妨害 する
- アフィリエイトネットワークCookieを検知して 業界関係者に対してのみ異なる動作を実行 する
-
このような隠蔽は単なる規定違反より深刻な問題であり、意図的な欺瞞 を裏付ける
- Amazonが過去にHoneyを「セキュリティリスク」と警告した理由が、結果的に正当化された
今後の見通し
- Honeyは Google Chrome Web Store のポリシー(透明性、機能の隠蔽禁止)に違反している可能性がある
- Apple App Store も厳格な審査手続きを適用しているため、制裁の可能性がある
- 進行中の 集団訴訟 では、Honeyの隠蔽行為が追加証拠として活用される見通し
- Honeyの不規則な挙動の原因が明確に解明され、訴訟の構図が単純化される可能性がある
テスト方法の公開
- 分析者は FiddlerScript を利用してHoneyサーバーとの通信を操作し、ポイント値を任意に変更
- これにより高ポイントアカウントのシナリオを再現し、Honeyの反応を検証
- この方式は現在、VPTの 自動化ショッピングプラグイン監視システム にも適用されている
1件のコメント
Hacker Newsのコメント
業界では "revealed preferences" や "enabling personalization" のような用語で飾り立てられがちだが、"selective stand down" のような機能を設計するとき、エンジニアが何を考えていたのか本当に気になる
会社に属しながら契約を回避しようとする製品を作るというのは、それ自体が一つの選択だ
ニューヨーク・タイムズの記事にもあるように、法や契約の回避を当然視する企業文化は存在する
この本は、文脈の力が理性や道徳よりも強いことを示している
第二次世界大戦当時の「悪の凡庸さ」を思い起こさせる。周囲の全員がそう振る舞っていれば、誰でもどんなことでもしてしまう
こうしたシステムを作るエンジニアなら「自分たちは悪役なのか?」と考えそうなものだが、そうではないようだ
彼の個人サイトは benedelman.org/honey-detecting-testers だ
私が使っているスマートフォンにも奴隷労働が一部含まれているのだろうし、結局は私たち全員がその構造の一部だ
試験的にすべてのアフィリエイト手数料の支払いを止めてみたところ、トラフィックは少し減ったが、売上はほとんど変わらなかった
結局、ブランド認知だけでも十分に顧客を獲得できていた
実際の紹介トラフィックではないと分かっているはずなのに、それでも払い続けている
マーケティング企業同士がコミッションを奪い合っているだけで、ユーザーデータをサーバーにアップロードしているわけでもない
すべての検査はクライアント側で行われる
その気になれば、たった一度の措置で Chrome から削除できる
その後クーポンサイトへ転換し、PayPalが40億ドルの現金で買収した
その結果、私のアフィリエイト収益は減った
元サイトの問題なのかアーカイブ側の問題なのか分からない
元記事は vptdigital.com/blog/honey-detecting-testers にある
もし問題があるなら、Ben Edelman に直接連絡してみることを勧める
ここ数日で再び記事になっているのは意外だ
新しい情報によって Honey のイメージはさらに悪化した
Amazon にはこの仕組み自体を止めてほしい
木工や塗装のブログで、実際に使っている製品へのリンクを見る方が、無作為な広告より良いと思う
公式ストアが同じ割引コードを提供すれば、みんなにとって得になるはずだ