概要
2015年、フォルクスワーゲン(VW)は排ガス試験時だけ規制をクリアするよう ディーゼルエンジンをプログラムしていたことが発覚し、「ディーゼルゲート」として 世界的なスキャンダルになった。
2025年12月、ショッピングプラグイン「Honey」が同様の手法を使っていたことが VPT Digital(Ben Edelman氏率いる調査会社)によって暴露された。 テスターを検知して、テスト時だけルールを守り、本番では違反する——まさに「ソフトウェア版ディーゼルゲート」だ。
Stand-Downルールとは
アフィリエイトマーケティングには「Stand-Down(スタンドダウン)」というルールがある。 これは、すでに別のアフィリエイトがユーザーをマーチャントに誘導している場合、 後からのショッピングプラグインは自社のアフィリエイトリンクを表示してはいけないという契約上の義務だ。
例えば、ブログ記事のリンクからAmazonに来たユーザーに対して、 Honeyが勝手に自社のアフィリエイトコードを上書きすると、 最初にユーザーを紹介したブロガーのコミッションが横取りされる。 Stand-Downはこれを防ぐためのルールだ。
Honeyの4重検知システム
VPTの調査によると、Honeyは4つの独立した検知メカニズムを実装していた。 これらは「テスターかどうか」を判定するために使われ、 1つでも該当すればStand-Downを遵守し、すべてパスした場合のみルールを無視する。
1. アカウント年齢チェック
アカウント作成から30日未満のユーザーはStand-Downを遵守。 新規アカウントでテストする調査員を検知するための仕組み。
2. ポイント閾値チェック
獲得ポイントが65,000未満(約$650相当)のユーザーはStand-Downを遵守。 2022年時点では501ポイントだったが、検知を逃れるため大幅に引き上げられた。 テスターは実際に$650も使わないだろうという想定。
3. サーバーサイド・ブラックリスト
特定のユーザーID、Cookie、IPアドレス/レンジをブラックリスト化。 過去にテストを行った調査員や、疑わしい活動を示すユーザーを動的に排除。
4. アフィリエイト業界Cookie検知
CJ、Rakuten Advertising、Awin、Swagbucksなどのアフィリエイト管理画面の ログインCookieを検知。これらのCookieがあるユーザーはStand-Downを遵守。 業界関係者やテスターを効率的に識別できる。
コード証拠
VPTは「ssd.json」(Selective Stand-Down設定ファイル)を解析し、以下の設定を発見した:
ソースコード解析により、「affiliates配列に含まれるドメインのコンソールCookieが 存在するかどうか」をチェックする処理が確認された。
VWディーゼルゲートとの比較
| 項目 | VWディーゼルゲート | Honey |
|---|---|---|
| 検知対象 | 排ガス試験装置(ダイナモメーター上かどうか) | アフィリエイト業界関係者、新規アカウント、低ポイントユーザー |
| 検知方法 | ハンドル操作なし、一定速度、試験パターン認識 | 4重の独立した検知システム(年齢、ポイント、ブラックリスト、Cookie) |
| 違反内容 | 排ガス規制違反(実走行時はNOx最大40倍) | Stand-Downルール違反(アフィリエイトコミッション横取り) |
| 目的 | 規制回避によるコスト削減 | より多くのアフィリエイト収益獲得 |
技術的な教訓
テスター検知は「デュアルモード問題」
システムが「監視下では正しく動作し、本番では違反する」ように設計されている場合、 検知は非常に困難になる。VWの場合、実際に車両を購入して詳細な測定を行う 研究者がいなければ発覚しなかった。
Honeyの場合、20年以上アフィリエイト不正を追跡してきたBen Edelman氏が、 複数の偽装テストアカウントと大量のポイント獲得によって検知を突破した。
防止策として考えられること
- クラウドソース検証: 複数の独立した環境からランダムにテストを実行
- 長期モニタリング: 閾値(30日、65,000ポイント)を超えた環境での継続監視
- 行動パターン分析: テスターと実ユーザーの行動差異を機械学習で検知
- 透明性要求: 設定ファイルや判定ロジックの第三者監査
倫理的考察
技術的には興味深い実装だが、倫理的には明らかに問題がある。 「テスターにだけルールを守る」というシステムは、本質的に「不正を意図的に隠蔽する」ことを意味する。
VWは$300億以上の罰金・和解金を支払い、複数の幹部が有罪判決を受けた。 Honeyの場合も、FTCや各国規制当局の調査対象になる可能性がある。
ソフトウェアエンジニアとして、このような「デュアルモード」実装を求められた場合、 それが倫理的に許容されるかどうかを慎重に検討すべきだ。 「技術的に可能」と「やるべき」は別の問題である。