GitHub

GitHub は、Visual Studio でリアルタイムのソース コードと関数の推奨事項を生成するプログラミング アシスタントである Copilot の AI モデルを更新し、より安全で強力になったと述べています。

同社によると、今週ユーザーに公開される新しい AI モデルは、より質の高い提案をより短時間で提供し、受け入れ率を高めることで、それを使用するソフトウェア開発者の効率をさらに向上させます。

CoPilot は、”Fill-In-the-Middle” と呼ばれる新しいパラダイムを導入します。これは、既知のコード サフィックスのライブラリを使用し、AI ツールが埋めるギャップを残して、プロジェクトの残りのコードとの関連性と一貫性を向上させます。

さらに、GitHub は CoPilot のクライアントを更新して、望ましくない提案を 4.5% 削減し、全体的なコード受け入れ率を改善しました。

「2022 年 6 月に個人向け GitHub Copilot を初めてリリースしたとき、開発者のコード ファイルの平均 27% 以上が GitHub Copilot によって生成されました」と、製品管理のシニア ディレクターである Shuyin Zhao 氏は述べています

「現在、GitHub Copilot は、すべてのプログラミング言語で開発者のコードの平均 46% 遅れています。Java では、その数は 61% に跳ね上がります。」

経時的な CoPilot の承認された提案率
経時的な CoPilot の承認された提案率(GitHub)

より安全な提案

この CoPilot 更新プログラムの主な改善点の 1 つは、新しいセキュリティ脆弱性フィルタリング システムの導入です。このシステムは、ハードコードされた資格情報、パス インジェクション、SQL インジェクションなどの安全でない提案を特定してブロックするのに役立ちます。

「新しいシステムは、LLM (大規模言語モデル) を活用して静的分析ツールの動作を概算します。GitHub Copilot は強力なコンピューティング リソースで高度な AI モデルを実行するため、信じられないほど高速で、コードの不完全なフラグメントで脆弱なパターンを検出することさえできます」と Zhao 氏は述べています。言った。

「これは、安全でないコーディング パターンがすぐにブロックされ、別の提案に置き換えられることを意味します。」

ソフトウェア会社によると、CoPilot は新しい文字列のトレーニング データに見られるキー、資格情報、パスワードなどの秘密を生成する可能性があります。ただし、これらは完全に架空のものであり、新しいフィルタリング システムによってブロックされるため、使用できません。

リアルタイムブロッキングシステムの例
リアルタイムブロックシステムの例(GitHub)

CoPilot のコード提案でのこれらの秘密の出現は、ソフトウェア開発コミュニティから激しい批判を引き起こしました。Microsoft は、セキュリティをほとんど考慮せずに AI モデルを訓練するために、公開されている大量のデータ セットを使用していると非難されています。

エディターで安全でない提案をリアルタイムでブロックすることにより、GitHub は、悪意のあるペイロードを含む提案を行うように AI アシスタントをひそかに訓練することを目的とした、汚染されたデータセット攻撃に対する抵抗も提供する可能性があります。

現時点では、CoPilot の LLM は、脆弱なコード パターンと脆弱でないコード パターンを区別するようにまだトレーニングされているため、その面での AI モデルのパフォーマンスは、近い将来徐々に改善されると予想されます。