近年、AI プログラミング アシスタントは効率を向上させる可能性があるため急速に普及しており、多くのプログラマーにとって強力なツールとなっています。しかし、スタンフォード大学の最近の研究では、AI プログラミング アシスタントの潜在的なリスクが明らかになり、AI 支援プログラミングの安全性についての懸念が高まり、AI ツールに盲目的に依存することはできないことがわかりました。 Downcodes の編集者は、この研究の結果と結論についての深い理解を提供します。
最近、AI プログラミング アシスタントが非常に人気があり、プログラマーのコード作成を支援し、効率を向上させることができると主張されています。多くのプログラマは、これを「救世主」とさえ考えており、毎日それを使ってコードを書くのが待ちきれません。しかし、スタンフォード大学の研究では、これらの「熱狂的なファン」に冷水を浴びせられました。AI プログラミング アシスタントは「セキュリティの悪夢」である可能性があります。
スタンフォード大学の研究者は、47 人のプログラマーに、Python、JavaScript、C の 3 つの言語をカバーする 5 つのセキュリティ関連のプログラミング タスクを完了するよう依頼しました。 AI アシスタントを使用してコードを作成したプログラマーは、安全性が大幅に低いコードを作成したことが判明しました。
これは憂慮すべきことではありません。 AIプログラミングアシスタントは「信頼できないインターン」のようなもので、一見正しいコードを書くことはできますが、セキュリティの問題については何も知りません。たとえば、暗号化と復号化のタスクでは、AI アシスタントによって生成されたコードは情報を正しく暗号化できますが、必要な認証タグを返しません。これは、金庫に錠前を取り付けても鍵を与えないのと同じです。これにより、セキュリティが大幅に低下します。
さらに悪いことに、AI アシスタントを使用するプログラマーは、自分が作成したコードが非常に安全であると感じる可能性が高くなります。これは、「エクスタシー」を利用して、コード内のセキュリティの脆弱性に目をつぶっているようなものです。これは良いことではなく、過信するとより深刻なセキュリティ問題が発生することがよくあります。
研究者はまた、プログラマーが AI アシスタントに与えるヒントがコードのセキュリティに直接影響することも発見しました。プログラマーがタスクを明確に記述し、いくつかの補助機能を提供できれば、AI アシスタントが作成したコードはより安全になります。しかし、プログラマーが AI アシスタントに盲目的に依存したり、AI アシスタントによって生成されたコードを直接使用したりした場合、それは「セキュリティの脆弱性」を自分のコードにコピー アンド ペーストするのと同じであり、その結果は想像できます。
では、AIプログラミングアシスタントは使えるのでしょうか?
答えは次のとおりです。使用できますが、プログラマーはこれを「万能薬」とみなすことはできず、ましてや盲目的に信頼することはできません。 AI アシスタントを使用する場合、プログラマーはセキュリティの脆弱性を避けるために常に警戒し、コードを注意深くチェックする必要があります。
論文アドレス: https://arxiv.org/pdf/2211.03622
全体として、AI プログラミング アシスタントは諸刃の剣であり、効率を向上させることができますが、セキュリティ リスクももたらす可能性があります。プログラマは、その利点を最大限に活用し、リスクを回避するために、これを注意深く使用し、常に警戒を怠らず、過度に依存しないようにする必要があります。 Downcodes のエディターは、安全なコーディングが常に最優先されることを思い出させます。