2023年11月27日
モノリス法律事務所 代表弁護士
元ITエンジニア。IT企業経営の経験を経て、東証プライム上場企業からシードステージのベンチャーまで、100社以上の顧問弁護士、監査役等を務め、IT・ベンチャー・インターネット・YouTube法務などを中心に手がける。主な著書に「ChatGPTの法律」(共著 中央経済社)・「ITエンジニアのやさしい法律Q&A」(技術評論社)・「IT弁護士さん、YouTubeの法律と規約について教えてください」(祥伝社)などがある。まんがタイムきららフォワード(芳文社)にて原作を手がける「仮想世界のテミス」連載中。
X(@tokikawase)
GitHub Copilotとは、MicrosoftとOpenAIが協力して開発したコード補完AIツールです。開発者が記述したコードとコメントから、続きのコードを推測し、提案・生成してくれるサービスです。このGitHub Copilotを導入することによって、開発効率が大幅に向上することが期待されています。また、多くの言語やフレームワークに対応しているため、昨今、開発者コミュニティで最も注目されている生成AIのひとつです。
ただし、アメリカでは学習データに利用されたコードの著作権等を侵害しているとして集団訴訟が提起されるなど、その適法性や使用上のリスクについてはさまざまな議論がされているところです。
そこで本記事では、GitHub Copilotを使用する上でのリスクについて、主に著作権法とセキュリティの観点から解説します。
GitHub Copilotは前述のとおり、開発者が記述したコードとコメントから続きのコードを推測し、提案・生成してくれるサービスです。例えば、コメントとして“Hello World”と記述した次の行で“p”と記述すると、下記画像のように続きのコードを補完してくれます。
GitHub Copilotの利用は、次のようなメリットがあると考えられています。
GitHub Copilotを使えば、AIが自動でコードを作成・提案してくれるため、プログラマーの負担が減り、開発効率が大幅に向上するものと考えられます。これがGitHub Copilotを採用することによる最大のメリットといえるでしょう。
また、多くの言語やフレームワークに対応していることで、コーディングに対するハードルが比較的低いことも、GitHub Copilotの大きな特徴です。
GitHub Copilotには、個人向けプランのCopilot for Individualsと法人向けプランのCopilot for Businessがあり、どちらも有償で基本的な機能は同じです。もっとも、後述しますが、著作権侵害やセキュリティ上のリスクを回避するためには、法人向けプランを利用することが有効でしょう。
GitHub Copilotを使用してソースコードを自動生成する際に、問題となる著作権法上のリスクは、主に次の2点です。
まず、これはソースコードに限らず、AIにより生成したコンテンツ全般に当てはまる話ですが、仮にAI生成物に著作物性が認められないとすると、例えば、AIを利用していくら魅力的なコンテンツを制作したとしても、他者によるフリーライドを許すことになってしまいます。したがって、AI生成物に著作物性が認められるかは極めて重要な問題です。
なお、この点については、生成AIと著作権の基本的な考え方と合わせて過去記事「生成AIで書くソースコードの著作権をどう考えるべきか?元ITエンジニアの弁護士が徹底解説」で解説しているので、ご参照ください。
AIがソースコードを生成する場合に特に問題となるのは、OSSなどのライセンスに関する問題です。AIがソースコードを自動生成する場合、その前提として他者のソースコードを学習しているわけですが、その多くはOSSとして公開されているものに依拠しています。
実際、GitHub Copilotが使用するOpen AIのCodexモデルの学習データには、GitHub上で公開されているOSSのソースコードも含まれます。GitHub Copilotが生成するコードは、学習元のコードをそのままコピーするわけではないようですが、完全に一致せずとも著作権侵害は成立する可能性があります。
そこで、次に生成AIによるソースコードの自動生成とOSSの関係について、少し詳しく解説します。
そもそもOSSとは、次の10項目を満たすライセンスを有するソフトウェアを指します。
要するに、OSSとは作成者がソースコードを公開していて、利用や改変・再配布が許可されているソフトウェアのことです。OSSについては、たまに誤解されていることがありますが、「OSSであれば著作権侵害の問題は生じない」というわけではありません。
ソースコードにも著作権が発生しうる以上、OSSは「一定の条件で著作物であるソースコードの利用を許諾するもの」にすぎないのです。したがって、この「一定の条件」に反する利用は、著作権侵害の問題が生じうることになります。
このように、プログラム等の著作者が自己の著作権を保持したまま、一定の条件に従うことを前提に、他者に対してその著作物の自由な利用や改変・再配布等を認めることを「コピーレフト」といいます。また、コピーレフト型のOSSは、一定の場合に、利用者に対してソースコードの開示等を義務付けており、このような義務が課される場合の違いに応じて、一般的には、以下のように分類されます。
種類 | OSSを改良したソフトウェアを配布する場合 | OSSを組み込んだソフトウェアを配布する場合 | 具体例 |
強いコピーレフト | 開示義務あり | 開示義務あり | GPL |
弱いコピーレフト | 開示義務あり | 開示義務なし | MPL |
非コピーレフト | 開示義務なし | 開示義務なし | MIT、BSD、Apache |
つまり、コピーレフト型のOSSを利用する場合には、当該OSSがどのような場合にソースコードの開示等の義務を課しているのかを慎重に確認する必要があるということです。
GitHub Copilot Product Specific Termsによれば、生成されたコードに関する責任は利用者にあり、他者の権利を侵害しないよう利用者が適切な対策を行うべきことが記載されています。
しかし、GitHub Copilotでは当初、自動生成されるコードについて、学習元のコードのライセンス情報が表示されないため、ユーザーがどのような義務を果たせばいいのか分からない状態になっていたのです。
もっとも、この点については2023年6月にアップデートされ、GitHub Copilot for Businessにおいては、組織全体の管理機能としてGitHub上のパブリックコードと一致するコードの提案をブロックできるようになりました。
参考:Enabling or disabling duplication detection
これにより、著作権侵害のリスクについては、GitHub Copilot for Businessを使用することで一定程度、低減することができるものと思われます。
加えて、GitHub Copilotが生成したコードを使用したことにより著作権侵害の問題が生じた場合であっても、Microsoftは利用者を弁護し、訴訟の結果生じた不利な判決や和解の金額を支払う旨の声明を、2023年9月に発表しました。
ただし、上記補償を受けるためには、利用者は製品に組み込まれたガードレールとコンテンツフィルター機能を有効にしている必要がある点には注意が必要です。
生成AIにコードを入力、または生成してもらう場合、セキュリティ上のリスクとしては、次の2点が挙げられます。
一般論として、生成AIに入力したデータは、機械学習に利用される場合があり、機械学習に利用されたデータは第三者の出力画面に表示されるおそれがあります。そのため、生成AIを商用利用する場合には、企業秘密や個人情報等の取扱いには特に注意する必要があります。何ら対策もせず、事業活動に生成AIを利用してしまうと、不正競争防止法や個人情報保護法上の重大な法的問題を引き起こしかねません(生成AIの利用に伴う情報漏洩に関する法的問題については、過去記事「不正競争防止法と個人情報保護法の観点で解説する、生成AIに関する情報管理・漏洩の法的問題」で詳しく解説しています)。
ソースコードは多くの場合、企業秘密に該当する重要な情報であることから、入力したコードが外部に流出してしまえば重大な問題となります。
この点、GitHub Copilot for Business Privacy Statementによれば、プロンプトとして入力されたデータは保持されず、また、機械学習への利用の有無は設定によりコントロール可能とされています。
したがって、入力したコードが機械学習に使用されることによる外部流出のリスクについてはそこまで高くないものと言えるでしょう。
GitHub Copilotが提案するコードに脆弱性が含まれていた場合、それをそのまま受け入れると、プロダクトの脆弱性にも繋がりかねません。
GitHub Copilotには、リアルタイムに安全でないコーディングパターンをブロックする、AIベースの脆弱性防止システムが導入されています。しかし、これだけで脆弱性リスクが完全に排除されたとは言い切れません。
そのため、提案されたコードをそのまま採用する場合であっても、最終的には人間によるコードレビューを実施することがやはり重要といえるでしょう。
関連記事
人気記事