ChatGPTのようなAIチャットボットは、人間と同じようにテキストを処理できるだけでなく、コードを書くこともできます。しかし、そのコードが安全なものなのかどうか検証したところ、セキュリティ的に問題があるコードが出力されることがあり、しかもChatGPT自身はその脆弱(ぜいじゃく)性を理解していることがわかりました。

[2304.09655] How Secure is Code Generated by ChatGPT?

https://doi.org/10.48550/arXiv.2304.09655



ChatGPT creates mostly insecure code, but won't tell you • The Register

https://www.theregister.com/2023/04/21/chatgpt_insecure_code/



この問題を調査したのはケベック大学のコンピューター科学者・Raphaël Khoury氏らのチームで、結果は正式な査読前の原稿として論文公開サイト・arXivに掲載されました。

Khoury氏らはChatGPTにC、C++、Python、HTML、JAVAの5つの言語で、21の異なるプログラムやスクリプトを生成させ、その結果、「ChatGPTはあまり安全ではないコードも出力する」という結論に至りました。

GitHub - RaphaelKhoury/ProgramsGeneratedByChatGPT: Programs generated by ChatGPT

https://github.com/RaphaelKhoury/ProgramsGeneratedByChatGPT

Khoury氏らによると、ChatGPTが最初に作成した21件のプログラム&スクリプトのうち安全だったのは5件で、他はメモリ破壊やサービス拒否、デシリアライゼーションや暗号の不適切な実装による脆弱性などの問題を抱えたものだったとのこと。

その後、修正を促すと、7件の安全なプログラムを生成することに成功しましたが、これは評価対象になった特定の脆弱性についてのみ問題をクリアしたもので、最終的なコードにその他の悪用可能な脆弱性がないと言い切れるものではなかったそうです。

Khoury氏らは、こうした問題が発生した原因について、コード実行の敵対的モデルを想定していないことが一因であると指摘しています。

しかし一方で、ChatGPT自身は生成したコードに重要な脆弱性があることを認識しつつも、その安全性を評価するように要求されない限りは何も言わないだけだとも指摘されています。

こうしたことから、Khoury氏らは、ChatGPTが攻撃的なコードの生成を拒否する一方で脆弱性のあるコードを生成するという事実には倫理的矛盾があると述べました。