セキュリティ

Meta Pixelの残りを防ぐAIプロンプトと公開前スキャン

ChatGPTやClaudeでHTMLを生成すると、プロンプトの書き方次第でMeta Pixelのトラッキングコードが出力結果に紛れ込む場合があります。特に「既存サイトのコードを参考に」という指示を与えたとき、学習データ由来のPixelコードが混入しやすい傾向があります。本記事では、AIプロンプトの改善と公開前スキャンの両面から混入を防ぐ方法を解説します。

なぜ危ないのか

AIが生成したHTMLに残ったMeta Pixelは、公開後すぐに本番広告アカウントへデータを送信し始めます。意図せず有効になったPixelが収集するデータは、プライバシーポリシーの記載外となるため、GDPRやPIPEDAなどの規制に抵触するリスクがあります。

特定のキャンペーンIDが紐付いた状態でPixelが残っていると、別プロジェクトのコンバージョンデータが混入し、広告の最適化に悪影響を与えます。AIが過去のサンプルコードから「参考」として出力したPixelが実際のIDを含んでいたケースも報告されており、コピーペーストする前にID値まで確認することが重要です。

  • 相手がログインなしで開ける状態か確認する
  • PCとスマホで最低1回ずつ表示を確認する
  • 内部情報・個人情報・不要な外部送信が残っていないか見る
  • レビュー期限と修正時の差し替え方を決めておく

ソースで見る場所

AIが生成したHTMLをローカルに保存したら、ターミナルで`grep -n 'fbq\|facebook.com/tr\|connect.facebook.net' index.html`を実行してください。出力があれば行番号とともに該当箇所が表示されます。複数ファイルを一括チェックする場合は`grep -rn`でディレクトリを再帰検索できます。

コメントアウトされたPixelコードも無効とは限りません。一部のHTMLパーサーやブラウザ拡張はコメント内のURLを評価することがあります。`<!-- fbq`や`<!-- Facebook Pixel`という形式でコメントに残っていないかも必ず確認してください。

  • HTML内の外部script・form action・iframeを確認する
  • APIキーやトークンらしき文字列がないか検索する
  • 画像・CSS・JSのパスが公開後も解決できるか見る
  • noindexと認証を混同せず、必要なら両方設定する

安全に共有する設定

スキャンでクリーンなことを確認したHTMLは、アクセス制限付きのプレビューURLで共有してください。メールやSlackにファイルを直接添付すると、転送や誤送信で意図しない相手に渡るリスクがあります。ギガサイト便では会社ドメイン認証を設定できるため、特定企業の関係者のみアクセスを許可できます。

公開URLを発行したら、プライベートブラウザで自分でアクセスし、ブラウザの開発者ツール(ネットワークタブ)で`facebook.com`へのリクエストが発生していないことを確認してください。これが最終確認として最も確実な方法です。

  • HTML内の外部script・form action・iframeを確認する
  • APIキーやトークンらしき文字列がないか検索する
  • 画像・CSS・JSのパスが公開後も解決できるか見る
  • noindexと認証を混同せず、必要なら両方設定する

再発防止ルール

AIへのプロンプト冒頭に「このHTMLにはMeta Pixel、Google Analytics、その他外部トラッキングスクリプトを含めないこと。`<script>`タグで外部ドメインを読み込む処理を追加しないこと」という制約を必ず入れてください。制約をシステムプロンプトに組み込むと、指示の入れ忘れを防げます。

CIパイプラインにgrepベースの禁止文字列チェックを追加する方法も有効です。GitHub Actionsであれば数行のYAMLでPR時に自動チェックでき、レビュアーの目視確認に頼らず機械的にブロックできます。スキャンスクリプトをチームのテンプレートリポジトリに含めておくと横展開も簡単です。

  • HTML内の外部script・form action・iframeを確認する
  • APIキーやトークンらしき文字列がないか検索する
  • 画像・CSS・JSのパスが公開後も解決できるか見る
  • noindexと認証を混同せず、必要なら両方設定する

よくある質問

AIが出力したPixelコードのIDは実在するIDですか?

AIは学習データに含まれるサンプルIDを出力することがあります。架空のIDであっても`fbq('init', ...)`を呼び出すコードは実際にfacebook.comへリクエストを送るため、ID値に関わらず除去が必要です。

grepスキャンでPixelが見つからなければ100%安全ですか?

grepで主要なキーワードがなければほぼ安全ですが、Base64エンコードやJSの文字列結合で難読化されたPixelは検出できない場合があります。最終確認として開発者ツールのネットワークタブでfacebook.comへのリクエストの有無を実際に確認することを推奨します。

プロンプトで禁止を明示してもAIがPixelを出力することはありますか?

モデルや指示の書き方によっては制約が無視されるケースがあります。プロンプトで禁止するだけでなく、生成後のスキャンをワークフローに必ず組み込む二重チェック体制を取ることが重要です。

関連記事

セキュリティ

APIキー直書きを防ぐAIプロンプトと公開前スキャン

AI生成HTMLへのAPIキー直書きをプロンプト設計で防ぎ、公開前スキャンで二重検出したい開発者・制作担当者向け。具体的なプロンプト文言とgrepコマンドをセットで紹介します。

4分で読める
「セキュリティ」の記事をもっと見る →