高性能がゆえに欠点も、AIペアプログラマーの活用とセキュリティ
こちらのnoteは、セキュリティ専門家松野によるニュース解説ラジオ「今日の10分セキュリティラジオ」4月19日の放送内容を一部抜粋しご紹介します
今回の解説ニュース
AIが提案したコードに脆弱性が含まれていたということです。GitHub Copilotの概要と、AIを活用してソフトウェア開発をする際にセキュリティの観点で気を付けるべきポイントについて説明します。
今回の講演は、AIペアプログラマーであるCopilotがリリースされた直後に、その機能を試したところ、SQLインジェクションの脆弱性があるコードが提案されたことについて発表されています。
会場では、CopilotがSQLインジェクションを許すコードを提案してくる過程の動画が流されていたということです。
AIツール、GitHub Copilot とは一体どういったものなのか
GitHub Copilot は、人間の指示やコメントに対して、サンプルやテンプレートとなるコードを出力してくれるAIツールです。GitHub上に展開されているソースコードを学習しており、自然言語で書かれたコメントを解釈して、必要なコードブロックを生成・提案してくれます。
例えば、Aさんが一人でコードを書くためには、開発言語やプログラミングの知識が必要とされます。何も知らないところから勉強しようとすると、決して短くはない時間がかかってしまうことが考えられます。仮に、Aさんがどれだけ良いアイデアを持っていたとしても、一人でソフトウェアを開発するにはそれ相応の時間がかかってしまうかもしれないし、もしかしたら途中であきらめてしまうかもしれません。
そのような問題を解決する方法として、一つのコードを指示役とコーディング担当に別れて開発を行うペアプログラミングという手法が挙げられます。Copilot はAIペアプログラマーとも呼ばれており、Aさんの指示を受けて、Copilotがコーディング担当となり、Aさんの代わりにコードを書いてくれます。
Copilot は、OpenAI が開発している自然言語処理エンジンGPT3をベースに作られています。また、新しく発表された Copilot X は、GPT4をベースとしており、音声で対話しながらのプログラミングができる機能も提供されるということです。
その他のトピック