GitHubは3月20日(米国時間)、「Found means fixed: Introducing code scanning autofix, powered by GitHub Copilot and CodeQL – The GitHub Blog」において、GitHub Advanced Securityの顧客向けにコードの脆弱性を自動的に修正する機能を導入したと発表した。この機能はGitHub CopilotとCodeQLを利用しており、JavaScript、Typescript、Java、Pythonの既知の脆弱性の3分の2以上を編集せずに修正できるという。
コードスキャンによる自動修正
今回発表されたコードスキャンによる自動修正機能はパブリックベータ版とされる。サポート対象のプログラムコードから脆弱性を発見した場合、修正提案が表示され、提案の受け入れ、編集、却下を選択することができる。GitHubはYouTubeにてその手順を解説している(参考:「GitHub Advanced Security: Code scanning autofix – YouTube」)。
提案された自動修正を受け入れる画面の例 引用:GitHub
GitHubは同機能の詳細を「About autofix for CodeQL code scanning – GitHub Docs」にて解説している。同機能を有効にすると、GitHubはpullリクエストとCodeQLの分析からさまざまデータを大規模言語モデル(LLM: Large Language Model)に送信する。その応答から自動修正候補を提案コメントとして表示する。
コードが自動的に大規模言語モデルに送信されるため、情報漏洩のリスクを伴うと考えられるが、GitHubはGitHub Advanced Securityの使用条件を超えて顧客データを利用することはないとしている。また、大規模言語モデルのトレーニングには使用されない。
国内最大級の品揃え【DMMブックス】ロリポップ!
どんなソフトを使ったら良いか分からないアナタに!ソフトナビ
GitHubは今後、対象言語をC#、Goに拡大する予定。また、同機能を利用する開発者にディスカッション「Code scanning autofix: Preview Feedback and Resources · community · Discussion #111094 · GitHub」への参加を求めている。ユーザーはディスカッションへのフィードバックを通じて自動修正機能のさらなる向上に寄与できる。
同機能を試すにはGitHub EnterpriseのGitHub Advanced Security(有料)に加入する必要がある。組織がまだ加入していない場合、「GitHub Advanced Security – Contact – GitHub Resources」から無料トライアルのセットアップを問い合わせ可能。
情報元
https://news.mynavi.jp/techplus/article/20240324-2911523/