ラボまとめコラムニュース
ブログ/記事一覧/Copilotが勝手にPRへ広告挿入、1万件超で発覚
copilot-pr-ad-injection-cover

Copilotが勝手にPRへ広告挿入、1万件超で発覚

GitHub CopilotがPRのタイポ修正時にRaycastの宣伝を無断挿入。1万件超で確認され、Copilotチームは「判断ミス」を認めた。

ニュース
kkm-horikawa

kkm

Backend Engineer / AWS / Django

2026.03.307 min5 views
この記事のポイント

GitHub CopilotがPRのタイポ修正時にRaycastの宣伝を無断挿入。1万件超で確認され、Copilotチームは「判断ミス」を認めた。

CopilotがPRに何を書き込んだのか

オーストラリアのソフトウェアエンジニアZach Mansonが、自分のチームのプルリクエストに奇妙な一文が追加されていることに気づきました。

チームメンバーがPRの説明文にあったタイポをCopilotに修正してもらったところ、タイポは直った一方で、説明文の末尾にこんなテキストが追記されていました。

⚡ Quickly spin up Copilot coding agent tasks from anywhere on your macOS or Windows machine with Raycast.

日本語に訳すと「macOSやWindowsのどこからでもRaycastを使ってCopilotコーディングエージェントのタスクをすばやく起動しましょう」。RaycastはmacOS/Windows向けのランチャーアプリで、GitHub Copilotとの統合機能を2026年2月に公式にリリースしています。

つまり、CopilotはPRのタイポを直す「ついで」に、自社の連携パートナーの宣伝を書き込んでいたわけです。

挿入はHTMLの隠しコメント <!-- START COPILOT CODING AGENT TIPS --> とセットで行われていました。GitHubのMarkdownレンダリングではコメント部分は非表示になるため、宣伝テキストだけが「ちょっとした豆知識」のように見えます。広告とは気づきにくい仕掛けです。

Mansonはこの発見を「horrific(恐ろしい)」と表現し、作家Cory Doctorowのenshittification(プラットフォーム衰退理論)を引用してコメントしました。ユーザーに良いサービスを提供する段階から、全てを収益化する段階へ。GitHubがその道を歩み始めたのではないか、という問題提起です。

1万件以上のPRで同じことが起きていた

これはMansonのチームだけの話ではありません。

Neowinの報道によれば、GitHub上で11,000件超のプルリクエストに同一のRaycast宣伝テキストが挿入されていたことが確認されています。Hacker Newsのスレッドでは、同じtipsコメントが150万件以上のPRに存在するという指摘もあります。

しかもGitHubだけではありません。GitLabのMerge Requestにも同様のテキストが挿入されていたことが報告されています。Copilotのコードアシスタント機能を使っているリポジトリであれば、ホスティング先を問わず影響を受けていた可能性があります。

孤立したバグではなく、意図的に実装された機能が広範囲に展開されていた。それが今回の問題の根幹です。

なぜこれが起きたのか

直接のきっかけは、2026年3月24日にGitHubがリリースした新機能です。

「Ask @copilot to make changes to a pull request」は、PRのコメントで @copilot をメンションするだけで、Copilotがクラウド上の開発環境でコード変更を実行し、プッシュまでしてくれる機能です。便利そうに聞こえます。

問題はその裏側にありました。Copilotがタスクを完了した際、「tips」という名目でRaycastの宣伝テキストをPR説明文に追記する処理が組み込まれていました。HTMLコメントで目印を付け、PR本文にさりげなく宣伝を差し込む。技術的には意図的な実装です。

さらに遡ると、2026年2月17日にはRaycastとの公式統合が発表されています。RaycastからCopilotコーディングエージェントにIssueを直接アサインできる機能です。今回の宣伝テキストはこの統合機能のプロモーションそのものでした。

ユーザーが「タイポを修正して」と依頼しただけなのに、勝手にパートナー企業の宣伝を書き込む。しかもHTMLコメントで体裁を整えて、広告に見えないようにする。これを「tips」と呼ぶのは無理があります。

1ヶ月で立て続けに起きたこと

今回の広告挿入は単独の事件ではありません。2026年2月から3月にかけて、GitHubでは開発者の信頼を揺るがす変更が矢継ぎ早に行われています。

← スワイプで移動

6週間で、連携パートナーの広告機能を仕込み、データ収集を拡大し、規約を書き換えた。1つひとつは小さな変更ですが、並べてみると方向性が見えてきます。

GitHubとコミュニティはどう反応しているか

Hacker Newsでは849ポイントを獲得し、数百件のコメントが付きました。

Copilotチームのメンバーであるtimrogers氏がスレッドに現れ、「判断ミスだった(a bad judgment call)。今後はこのようなことはしない」と宣言しています。ただしこれは個人としてのコメントであり、Windows Centralによれば、Microsoft本社からの正式な声明は3月30日時点で出ていません。

コミュニティの反応は厳しいものでした。主な声を拾います。

  • 01 「広告かtipsかは同じことだ。ユーザーが同意していない変更が加えられた点が受け入れがたい」
  • 02 「Copilotがコードベース自体に何を挿入するかわからない。Windowsのスタートメニュー広告と同じ道だ」
  • 03 「Disney+が価格表記を変えたのと同じ手法。企業が言い換えで批判を回避しようとしている」
  • 04 「Microsoftは過去何十年もこれを繰り返してきた」

「判断ミスだった」という説明に対して、コミュニティは冷ややかです。HTMLコメントでマーカーを付け、PR説明文に宣伝を差し込む処理を「ミス」で実装することはできません。コードレビューを経て、テストされ、デプロイされた機能です。

一方で、Raycast側の反応は確認できていません。Raycast公式はCopilot統合機能のリリースを告知していますが、今回の広告挿入問題への言及はありません。RaycastがGitHubに対価を支払ったのか、あるいはGitHubが自主的にパートナー宣伝を行ったのか、その商業関係は不透明なままです。

技術的に見ると

今回の挿入は「AIの幻覚」や「学習データの混入」ではありません。明確に設計された機能です。

Copilotがタスク完了時にPR説明文を更新する際、以下のような処理が走っていました。

<!-- START COPILOT CODING AGENT TIPS -->

⚡ Quickly spin up Copilot coding agent tasks from

anywhere on your macOS or Windows machine with Raycast.

<!-- END COPILOT CODING AGENT TIPS -->

STARTEND のHTMLコメントで囲むことで、次回のCopilot実行時に既存のtipsを検出・置換できるようにしています。つまり、一度きりの挿入ではなく、更新可能な「広告枠」として設計されていました。将来的に宣伝内容を入れ替えることも想定した作りです。

ここで問題になるのは、PR説明文の位置づけです。PRの説明文はコードレビューの文脈を共有する重要なドキュメントです。「なぜこの変更をしたのか」「どこに影響があるのか」をチームメンバーに伝える場所に、AIが勝手にテキストを追加する。レビュアーがその変更に気づかなければ、PRのメタデータとしてそのままマージされます。

開発者がCopilotに「タイポを直して」と頼んだとき、期待しているのは「タイポが直ること」だけです。それ以外の変更は、どんなに些細でも、AIの出力に対する信頼を損ないます。

4月24日のトレーニングデータ変更と合わせて考える

今回の広告挿入が発覚した3月30日のわずか4日前、GitHubは別の発表をしています。

The Registerの報道によれば、2026年4月24日からCopilot Free、Pro、Pro+ユーザーのインタラクションデータ(入力したコード、Copilotの出力、コンテキスト情報)がAIモデルの学習に使用されます。デフォルトは「オン」で、嫌ならユーザーが自分で設定を変えてオプトアウトする必要があります。プライベートリポジトリ内でのやり取りも対象です。

この変更については当サイトでも詳しく報じていますが、GitHub公式の発表Discussionで付いたリアクションは否定59、賛成3でした。

データ収集の拡大と、PR説明文への広告挿入。別々に見れば「ポリシー変更」と「tipsの不具合」ですが、並べると「ユーザーの生成物を吸い上げ、ユーザーの作業場に広告を流し込む」という二段構えの構造が浮かび上がります。

GitHubは世界の開発者インフラの中核を占めています。リポジトリのホスティング、CI/CD、コードレビュー、プロジェクト管理。ネットワーク効果が強く、代替サービスへの移行コストは極めて高い。だからこそ、そのプラットフォーム上でAIが何をしているかは、全ての開発者にとって「自分ごと」です。

「tipsでした」で終わらせていいのか

整理します。

GitHub CopilotはPRのタイポ修正を頼まれた際に、Raycastの宣伝テキストをPR説明文に無断で挿入していました。影響は1万件以上のPRに及び、GitLabにも波及しています。Copilotチームは「判断ミス」と認めましたが、Microsoft本社からの正式な声明はまだありません。

4日前にはトレーニングデータの収集拡大が発表され、その4日後に広告挿入が発覚した。偶然かもしれません。ただ、6週間の時系列を並べると、GitHubが開発者との信頼関係よりも収益化を優先し始めた可能性は否定しにくくなっています。

Copilotを使っている方は、PRの差分だけでなく、説明文に意図しない変更が加えられていないかも確認したほうがよさそうです。そして4月24日までに、トレーニングデータのオプトアウト設定を済ませるかどうかも考えておく必要があります。

「tips」と呼べば広告でなくなるわけではありません。何を挿入するかはGitHub次第で、それを止める仕組みはユーザー側にはない。プラットフォームに依存するとはそういうことです。

参照元