GitHub CopilotのAIモデルがさらに進化し、より的確なコードの提案、脆弱性のあるパターン、SQLインジェクション、クレデンシャルのハードコードを警告など
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上のパブリックコードだけではオープンソースの混入を防ぐと言い切れないこと、などの理由が重なっているのではないかと推測されます。
とはいえ、この設定は他者のコードやオープンソースの混入を心配する企業にとって、一定以上の効果はあると想像されます。
あわせて読みたい
Webブラウザ上でWebAssemblyベースのNode.js環境を実現する「WebContainer」がAPI提供開始。ブラウザ内ファイルシステム、HTTPサーバ、Node.js CLIなど
≪前の記事
Apple、Google、マイクロソフト、Mozillaらがブラウザ間の相互運用性を測定し改善するためのプロジェクト「Interop 2023」を実施中