Innovative Tech
「GitHub Copilot」のAIが自動生成するコードはどのくらい安全か? 研究者らが脆弱性を検証
Innovative Tech:
このコーナーでは、テクノロジーの最新研究を紹介するWebメディア「Seamless」を主宰する山下裕毅氏が執筆。新規性の高い科学論文を山下氏がピックアップし、解説する。
米New York UniversityとカナダのUniversity of Calgaryの研究チームが発表した論文「Asleep at the Keyboard? Assessing the Security of GitHub Copilot’s Code Contributions」は、コードを自動生成する「GitHub Copilot」において、生成したコードがセキュリティ面でどれくらい安全かを調査した研究報告だ。結果、実験で生成したコードの約40%に脆弱性が発見された。
ソフトウェア開発者は、コードを迅速に作成することが求められるため、生産性を向上させる新しいツールや技術を常にフォローしておかなければならない。この分野の最も新しい技術の1つは、もともと自然言語処理(NLP)用に設計された大規模なモデルを膨大な量のコードで学習させ、プログラマーがコードを書く際に支援する、コードの自動生成モデルである。
2021年6月、GitHubはコメントや関数、ドキュメント文字列などから文脈を読み取りコードを自動生成する「Copilot」をリリースした。Copilotは、入力をもとにプログラマーが書きたいであろうコードを予測し提示してくれ、それをもとにユーザーが手を加えて完成させる、ペアプログラミングが実現する。
Copilotは、文章からプログラムを自動生成するOpenAI CodexとGPT-3を基盤システムとしており、GitHubで公開されている膨大な量のオープンソースコードを学習している。
他方で、学習時に用いるソースコードには未検証なためバグが含まれるものも多く、必然的に生成されるコードにも脆弱なものが含まれる。そこでこの研究では、Copilotが生成したコードがどれほど安全であるかを調査する。
実験では、MITREが危険度の高い脆弱性タイプをランキングした「2021 CWE Top 25 Most Dangerous Software Weaknesses」(CWE Top 25)にあるような、リスクの高いセキュリティの脆弱性に関連するシナリオでCopilotにコードを生成してもらった。
評価には、脆弱性を検出するCodeQLと手動検査を用い、返された提案がそのCWEに対して脆弱であるかどうかを調査し、コード生成のパフォーマンスを検証する。
合計で89種類のシナリオを作成し、1689個のプログラムをCopilotに実行させた結果、40.73%に脆弱性があることが分かった。言語別では、C言語のシナリオが25件、513個のプログラムが生成され、258個(50.29%)が脆弱であった。Pythonのシナリオは29件で、合計571個のプログラムが生成され、219個(38.35%)が脆弱であった。
Source and Image Credits: Hammond Pearce, Baleegh Ahmad, Benjamin Tan, Brendan Dolan-Gavitt, and Ramesh Karri. Asleep at the Keyboard? Assessing the Security of GitHub Copilot’s Code Contributions
Copyright © ITmedia, Inc. All Rights Reserved.
この記事の著者
関連記事
こんなメディアも見られています
ITmedia NEWSに関連する情報をお探しであれば、こちらのメディアもお役に立てるかもしれません。
SpecialPR
本日の新着記事
アクセスランキング
-
1
マンガ原稿をクラウドに上げただけでGoogleアカウントBAN Gmailも道連れ……日本では合法なのになぜ?
-
2
ドラマ「VIVANT」のワンシーンに映像制作界隈が「ぞっとする」 microSDカードを端子むき出しで手渡し
-
3
不正アクセスで「当選」が「落選」に改ざん ウルトラマンショップのLINE整理券システムで被害
-
4
“自動で耳コピ”アプリ、ヤマハが無料公開 音源読み込み→3分でピアノ譜に
-
5
日本郵便、荷物の本人確認をICチップ付き身分証4種に限定 スマホのマイナカードで受け取れる場合も
-
6
キヤノン、新デザインのフルサイズミラーレス「EOS R8 Mark II」発表 重量は約546g
-
7
無人タクシー、東京で来年運行へ GO、Waymo、日本交通が合意
-
8
メルカリ、ポケカ最新パックの出品禁止に
-
9
「GPT Astraでゲーム開発=ほぼソシャゲ」説を唱えたい 非エンジニアの挑戦は、廃課金への道か
-
10
ゲームショウで「リアルタイムデバッグ会」 来場者が見つけたバグをその場で直す 野田クリスタル
ITmedia NEWS SNS
インフォメーション
注目情報をチェック
ITmediaNEWSをフォロー
あなたにおすすめの記事PR