[論文レビュー] CoProtector: Protect Open-Source Code against Unauthorized Training Usage with Data Poisoning
CoProtectorは、GitHub Copilotのような大規模言語モデルによる不正なトレーニングからオープンソースのコードリポジトリを保護する、画期的なデータ汚染フレームワークである。このフレームワークは、コードにステルス的で意味的に反転したコメントバックドアと構文的摂動を注入することで、モデルの性能を著しく低下させるとともに、検証可能なウォーターマーク検出を可能にし、コード所有者が所有権を主張し、不正利用を抑止できる。
Github Copilot, trained on billions of lines of public code, has recently become the buzzword in the computer science research and practice community. Although it is designed to help developers implement safe and effective code with powerful intelligence, practitioners and researchers raise concerns about its ethical and security problems, e.g., should the copyleft licensed code be freely leveraged or insecure code be considered for training in the first place? These problems pose a significant impact on Copilot and other similar products that aim to learn knowledge from large-scale open-source code through deep learning models, which are inevitably on the rise with the fast development of artificial intelligence. To mitigate such impacts, we argue that there is a need to invent effective mechanisms for protecting open-source code from being exploited by deep learning models. Here, we design and implement a prototype, CoProtector, which utilizes data poisoning techniques to arm source code repositories for defending against such exploits. Our large-scale experiments empirically show that CoProtector is effective in achieving its purpose, significantly reducing the performance of Copilot-like deep learning models while being able to stably reveal the secretly embedded watermark backdoors.
研究の動機と目的
- オープンソースコード、特にコピーレフトライセンス下での大規模ディープラーニングモデルの不正トレーニングに関する倫理的・セキュリティ的懸念に対処すること。
- コード所有者がAIトレーニングにおける自らのコード使用を主張できる実用的なメカニズムを提供すること。
- モデル性能を著しく低下させるとともに、デジタルフォレンジックスのための検出可能なウォーターマークを埋め込める、効果的で実用的な保護システムを設計すること。
- スキャナーや防御機構による検出を回避できるほど、保護機構がステルス的であることを保証すること。
- 複数のコード関連タスクおよびモデルアーキテクチャを対象に、本アプローチの汎用性と強靭性を実証するために評価すること。
提案手法
- CoProtectorは、コメントの意味的反転、AST操作による構文的変異、および敵対的パターンを用いたコメント挿入の3つの汚染戦略を採用している。
- コメントの意味的反転技術は、構文的に正しく保たれたまま、コメントの意味を元の内容とは逆転させる。
- 構文的変異は、抽象構文木(AST)を変更することで、学習に支障をきたす微細で構文的に妥当な変更を導入する。
- ウォーターマーキングは、トレーニングデータに検証可能なバックドアを埋め込むことで実現され、トリガーの活性化によってモデルの不正利用を検出可能にする。
- このフレームワークは、コード生成やコード分類を含む、さまざまなコード関連ディープラーニングタスクと互換性を持つように設計されている。
- 開発者がメインプロジェクトの可用性に影響を与えることなく汚染インスタンスをデプロイできるよう、フェイクリポジトリメカニズムが導入されている。

実験結果
リサーチクエスチョン
- RQ1データ汚染技術は、保護されたリポジトリでトレーニングされたコード生成モデルの性能を効果的に低下させることができるか?
- RQ2汚染されたコードに埋め込まれたウォーターマークは、汚染データでトレーニングされたモデルにおいて信頼性高く検出可能か?
- RQ3自動化ツールおよび手作業による点検から、汚染技術がどれほど検出を回避できるか?
- RQ4CoProtectorは、さまざまなプログラミング言語およびコード関連タスクにどれほど一般化可能か?
- RQ5保護機構は、元のコードリポジトリの機能的正しさや可用性を損なうことなくデプロイ可能か?
主な発見
- CoProtectorは、Copilotに類似したモデルの性能を顕著に低下させ、コード生成の正確性および自然さに顕著な低下が見られた。
- 埋め込まれたウォーターマークは、トレーニング済みモデルにおいて成功裏に検出可能であり、不正トレーニングの検証可能なデジタルフォレンジックスを可能にした。
- コメントの意味的反転技術は、優れたステルス性を示し、一部のケースでは手作業による点検でも検出されなかった。
- 汚染技術は、コード補完やコード分類を含む複数のコード関連タスクにおいて、顕著な性能低下を引き起こした。
- モデルがクリーンデータで微調整または再トレーニングされても、バックドアの強靭性が保たれているため、本アプローチは依然として有効であった。
- フレームワークの有効性はJavaコードリポジトリで検証されたが、他の言語への一般化は未解決の課題のままである。

より良い研究を、今すぐ始めましょう
論文の読解から最終レビューまで、研究時間を劇的に削減しましょう。
クレジットカード登録不要
このレビューはAIが作成し、人間の編集者が確認しました。