GitHub CopilotのAIモデルがさらに進化し、より的確なコードの提案、脆弱性のあるパターン、SQLインジェクション、クレデンシャルのハードコードを警告など
今回は「GitHub CopilotのAIモデルがさらに進化し、より的確なコードの提案、脆弱性のあるパターン、SQLインジェクション、クレデンシャルのハードコードを警告など」についてご紹介します。
関連ワード (一定以上、広報、明確等) についても参考にしながら、ぜひ本記事について議論していってくださいね。
本記事は、Publickey様で掲載されている内容を参考にしておりますので、より詳しく内容を知りたい方は、ページ下の元記事リンクより参照ください。
GitHubは、AIによってプログラマのコーディングを支援する「GitHub Copilot」の基礎となる「Codex」と呼ばれるAIモデルを更新し、提案するコードの品質の向上と、コードの提案にかかる時間短縮などを実現したと発表しました。
これにより、GitHub Copilotによって提案されたコードをプログラマが受け入れる割合がGitHub Copilotを発表した当初の27%から現在の35%にまで上昇し、特にJavaでは61%にまで到達したとしています。
脆弱性のあるパターンのコードには警告
提案されるコードをより安全にするため、安全でないコードのパターンが生成された場合にはそれをリアルタイムでブロックするAIベースの脆弱性フィルタリングシステムが導入されました。
これはクレデンシャルのハードコード、SQLインジェクション、パスインジェクションなどの一般的な脆弱性を含むパターンを対象としています。
例えば、クレデンシャルのハードコードを伴うコードが提案される場合、赤い文字でクレデンシャルの部分に警告が表示されます。
GitHubは合わせて、企業向けのGitHub Copilot for Businessを正式サービスとして提供開始したことも発表しました。
GitHub Copilotでオープンソースのコードの混入を防ぐ設定
GitHub Copilotで話題になるのが、提案されたコードが公開されている他者のコードと一致した場合、他者の著作権を侵害することにならないのか、という点でしょう。
今回の新機能ではありませんが、GitHub Copilotには個人向け企業向けのいずれにも、GitHubで公開されているパブリックなコードと150文字以上一致するコードは提案されないようになっています。
これはオープンソースのコードを不用意に取り込まないためと推測されるため、Publickeyではこの機能がオープンソースのコードの混入を防ぐ意図で用意されたものかをGitHubの広報を通して質問しました。しかし、明確な回答は得られませんでした。
これはおそらく、150文字という設定がオープンソースなど他者のコードの混入を防ぐ根拠になりえると現時点で明確に言いきれない(おそらく裁判などの判例が出ないと明確ならないのでしょう)ためであること、GitHub以外にもオープンソースのコードは公開されているため、GitHub上のパブリックコードだけではオープンソースの混入を防ぐと言い切れないこと、などの理由が重なっているのではないかと推測されます。
とはいえ、この設定は他者のコードやオープンソースの混入を心配する企業にとって、一定以上の効果はあると想像されます。