GitHub Copilot Chatで他社コードが出力された事例

Picsum ID: 527

GitHub Copilot Chatで他社コードが出力された事例

GitHub CopilotやCopilot Chatは企業の正規開発フローに組み込まれつつある一方、「Copilotが他社OSSコードをほぼそのまま再生する」事案が2021年から繰り返し報告され、2022年にはクラスアクション訴訟(DOE 1 v. GitHub, Inc.)まで発展した[1][2]。本稿ではCISO・開発リード・法務担当者向けに、コードのMemorization研究の系譜、Tim Davis教授の事例、訴訟とMicrosoftのCustomer Copyright Commitment、Copilot Business/EnterpriseのDuplication Detection Filterの仕組みと限界、そして企業が今すぐ取るべき防御策を整理する。

1. Code Memorization 問題の歴史

LLMが学習データを逐語的に「丸覚え」する現象は、Carliniらの「Extracting Training Data from Large Language Models」(USENIX Security 2021)で本格的に顕在化した。GPT-2から個人情報やコード片が抽出可能であることが示され、生成AIのプライバシー・著作権リスクの起点になった[3]

コードに対象を絞った本格研究はNYU Tandon・Pearceらの「Asleep at the Keyboard? Assessing the Security of GitHub Copilot’s Code Contributions」(IEEE S&P 2022)。CWEに沿った89シナリオでCopilot出力を検査し約40%に脆弱性を確認した。脆弱性研究として有名だが、同時に「学習データのパターンをそのまま吐き出す傾向」を実証した点でも重要である[4]

Carlini, Tramer, Ippolitoらの「Quantifying Memorization Across Neural Language Models」(ICLR 2023)はモデルサイズ・データ重複回数・プロンプト長に比例して記憶が増えることを定量化[5]。「Counterfactual Memorization in Neural Language Models」(Yang Zhangら)はコードや稀少テキストほど記憶されやすいことを示した[6]。コードの逐語再生は「起こって当然」というのが現在のコンセンサスである。

2. 代表事例 ― Tim Davis教授ほか

Copilotがコードをライセンス文ごと再生した事例として最も引用されるのが、テキサスA&M大学のTim Davis教授(SuiteSparseの著者、ACM Fellow)の指摘である。2022年10月、Davis教授は「Copilotが、私が書いたsparse matrix transposeコードをコメントとライセンスの一部を含めてほぼ逐語的に出力した」とX(旧Twitter)で複数のスクリーンショットを示し、Butterick弁護士らも同様事例を取り上げた[7][8]。Davis氏のコードはLGPL/GPLで公開されており、Copilot出力がライセンス条件(著作権表示・派生物開示)を欠いた形で利用された場合、ライセンス違反となり得る点が問題視された。

同時期、Butterick弁護士のチームは「fast inverse square root」(Quake III由来の有名アルゴリズム)など、特徴的なOSSコードがCopilotから出力される事例を集約し訴訟準備の根拠とした[2]

Snyk社は2023年に「AI生成コードの安全性」検証レポートで、Copilotが既存OSSと高度に類似したコードを生成するケースを再現実験で確認した[9]。BigCodeプロジェクト(Hugging Face/ServiceNow)もStarCoderの学習で「The Stack」データセットの脱Memorization評価を行い、長い文字列ほど学習データから抽出可能性が上がることを実証している[10]

3. 訴訟とMicrosoftの対応

2022年11月、Butterick弁護士・Joseph Saveri Law Firmは、GitHub・Microsoft・OpenAIを相手取り北カリフォルニア地区連邦地裁にクラスアクションを提起した(DOE 1 v. GitHub, Inc., 4:22-cv-06823)。原告は「CopilotがOSSの著作権・帰属・ライセンス条項を剥奪して再配布している」とし、DMCA §1202違反を中心に多数の請求を主張した[1][2]

裁判所は2023〜2024年に複数請求を却下する一方、DMCA §1202(b)関連の一部請求は係争継続。「学習・出力プロセス自体がIP侵害になり得る」論点が司法の場で扱われた事実は、企業利用に大きなインパクトを与えた[11]

Microsoftは2023年9月に「Copilot Copyright Commitment」(後にCustomer Copyright Commitmentへ統合)を発表。商用Copilot製品(GitHub Copilot for Business/Enterprise、Microsoft 365 Copilot等)を、ガードレール遵守の前提で利用した結果生じた第三者IP請求について、Microsoftが顧客を防御し損害を負担すると約束する[12][13]。ただしGitHub CopilotはDuplication Detection Filterの有効化が条件で、Copilot Individualやフィルタ無効化、入力プロンプトに第三者著作物を含めたケースは対象外となり得る[12][14]

4. Duplication Detection Filterの仕組みと限界

GitHub Copilot Business/Enterpriseの「Duplication Detection Filter(公開コード一致候補のブロック)」は、生成候補をパブリックGitHubと比較し、約150文字以上の連続一致があれば当該候補を抑止する[14][15]

この仕組みには以下の構造的限界がある。

  • 閾値以下は通過:150文字未満の一致や変数名変更による「準逐語コピー」は検出回避し得る。
  • 非公開コードに非対応:パブリックGitHub以外(社内コード、削除済みリポジトリ等)の記憶は照合不能。
  • ライセンス情報非付与:フィルタはブロックするだけで、許諾ライセンスを伝達しない。
  • Copilot Chatの長文では効きにくい:Chatで大量生成させると断片ごとに閾値を下回り、既存OSSコードが分散再現される[9][15]

GitHubは生成元参照を示す「Code referencing」をBusiness/Enterprise向けに段階提供しているが[15]、検出された場合のみのアフター対応であり、フィルタを通過した場合は依然としてリスクが残る。

5. 企業の防御策

CISO・開発・法務の三者が連携して以下を整備することが、現時点で実効性のある最低ラインである。

チェックリスト(5項目)

  1. Business/Enterprise統一とDuplication Detection Filter強制ON:個人プランの業務利用禁止、組織ポリシーでフィルタ無効化不可。
  2. Customer Copyright Commitment適用条件を社内規程に反映:プロンプトへの第三者著作物投入禁止、フィルタ遵守を明文化。
  3. SCA/コードクローン検知の常時稼働:Black Duck、Snyk Code、FOSSA等で生成コードを含むコミットをスキャン。
  4. Code referencingの活用とログ保存:生成元リポジトリ表示時は引用元・ライセンスを監査ログに永続化。
  5. レビュー基準の明文化:30行超連続生成・特徴的アルゴリズム名(FFT、JWT検証等)を含む生成は人間レビュー必須。

打ち手

制度的打ち手は3層で整理できる。契約層はCustomer Copyright Commitment適用構成(Business/Enterprise + フィルタON)の維持とSaaSベンダー補償条項レビュー。技術層はDuplication Detection Filter、SCA、SAST、シークレット検出を「生成AI後の追加検査」としてCI/CDに組込。運用層は社内ガイドライン、Copilot利用ログ監査、IPリスクアセス、開発者教育。3層が揃って初めて契約補償が現実に機能する[12][13][14][15]

「商用CopilotのCustomer Copyright Commitmentは強力なセーフティネットだが、フィルタを切ったり、入力にOSSコードを貼り付けて改変させたりすれば適用外になる。契約・技術・運用の3層が揃わないと、補償は紙切れになる。」

6. 結論

  1. コードLLMの逐語的Memorizationは確立された科学的事実であり、Copilotが他社OSSコードを再現する事象は構造的に発生する[3][5][6][10]
  2. Microsoftの Customer Copyright Commitment は実用的な防御層だが、Duplication Detection Filterの有効化と利用条件遵守が前提であり、無条件の免責ではない[12][13][14]
  3. 企業は契約(プラン選定・補償条項)、技術(フィルタ・SCA・Code referencing)、運用(ガイドライン・監査・教育)の3層防御を整備し、生成AIコードのIP起源を継続的にトレースできる体制を構築すべきである。

7. 経営者視点 ― IP訴訟リスクとCustomer Copyright Commitmentの射程

経営層がまず把握すべきは、生成AIコーディングのIP訴訟リスクが「もし起きたら」ではなく「いつ来てもおかしくない」段階にあることである。DOE 1 v. GitHub訴訟は係争継続中で、判決が出れば類似訴訟が国内外で拡大する蓋然性が高い[1][11]。次に、Microsoftの Customer Copyright Commitment は事業継続上の重要レバーである一方、適用条件を外すと一夜で消失する。プラン選定・フィルタ強制・社内ポリシーの3点が揃わなければ補償は実質的に効力を持たない[12][13]

第三に、生成AI起因のOSSライセンス違反は「気付かないまま製品出荷」が最大のシナリオであり、SCA・Code referencing・レビューを含む検出基盤への投資が、IP訴訟の期待損失を桁単位で下げる。経営者は「Copilot禁止か自由化か」の二項対立ではなく、「補償が効く条件下でトレース可能に使う」第三の選択肢を組織に定着させることが、最もアクショナブルな打ち手である[12][13][14][15]

参考文献

  1. DOE 1 et al. v. GitHub, Inc. et al., Case No. 4:22-cv-06823 (N.D. Cal., filed Nov. 3, 2022). Joseph Saveri Law Firm 公開資料。
  2. Matthew Butterick, “GitHub Copilot litigation,” githubcopilotlitigation.com, 2022–2024.
  3. Carlini, N. et al. “Extracting Training Data from Large Language Models.” USENIX Security Symposium, 2021.
  4. Pearce, H., Ahmad, B., Tan, B., Dolan-Gavitt, B., Karri, R. “Asleep at the Keyboard? Assessing the Security of GitHub Copilot’s Code Contributions.” IEEE Symposium on Security and Privacy (S&P), 2022.
  5. Carlini, N., Ippolito, D., Jagielski, M., Lee, K., Tramèr, F., Zhang, C. “Quantifying Memorization Across Neural Language Models.” ICLR, 2023.
  6. Zhang, C., Ippolito, D., Lee, K., Jagielski, M., Tramèr, F., Carlini, N. “Counterfactual Memorization in Neural Language Models.” NeurIPS, 2023.
  7. Tim Davis (@DocSparse) X 投稿(2022年10月)。SuiteSparse由来コードがCopilotから再生された旨の指摘。
  8. The Register, “GitHub Copilot copyright case narrowed but not neutered,” 2024年。
  9. Snyk, “AI Code Security Report” および関連ブログ記事「Copilot amplifies insecure codebases」。
  10. BigCode Project (Hugging Face / ServiceNow), “StarCoder: may the source be with you!” およびThe Stack データセット公開資料、2023年。
  11. Reuters / Law360 等による DOE 1 v. GitHub 進行報道(2023–2024年、DMCA §1202(b)請求の存続判断など)。
  12. Microsoft, “Microsoft announces new Copilot Copyright Commitment for customers,” Microsoft On the Issues Blog, 2023年9月7日。
  13. Microsoft, “Customer Copyright Commitment Required Mitigations” 公式ドキュメント。
  14. GitHub Docs, “Configuring GitHub Copilot settings in your organization — Suggestions matching public code.”
  15. GitHub Blog, “Code referencing now generally available in GitHub Copilot,” 2024年。
  16. Ippolito, D. et al. “Preventing Verbatim Memorization in Language Models Gives a False Sense of Privacy.” INLG, 2023.
SHARE 𝕏 in f

あわせて読みたい