[論文レビュー] How Secure is Code Generated by ChatGPT?
本論文はChatGPTが生成するコードを21個のプログラム(複数言語)で評価し、頻繁にセキュリティ脆弱性が見られ、セキュアなバリアントを得るには明示的な prompting や反復的な改良が必要であることを示しています。
In recent years, large language models have been responsible for great advances in the field of artificial intelligence (AI). ChatGPT in particular, an AI chatbot developed and recently released by OpenAI, has taken the field to the next level. The conversational model is able not only to process human-like text, but also to translate natural language into code. However, the safety of programs generated by ChatGPT should not be overlooked. In this paper, we perform an experiment to address this issue. Specifically, we ask ChatGPT to generate a number of program and evaluate the security of the resulting source code. We further investigate whether ChatGPT can be prodded to improve the security by appropriate prompts, and discuss the ethical aspects of using AI to generate code. Results suggest that ChatGPT is aware of potential vulnerabilities, but nonetheless often generates source code that are not robust to certain attacks.
研究の動機と目的
- 複数の言語にわたって ChatGPT によって生成されたコードのセキュリティ姿勢を評価する。
- ChatGPT 生成コードに含まれる一般的な脆弱性クラスを特定する。
- prompting が ChatGPT を導いてより安全なコードを生成させるかどうかを評価する。
- セキュリティに敏感な文脈でのAI を用いたコード生成の倫理的配慮を論じる。
提案手法
- ChatGPT(GPT-3.5 系列のファインチューニング済みモデル)を用いて5言語(C、C++、Python、HTML、Java)で21プログラムを生成する。
- 各プログラムを既知の脆弱性(例:SQLインジェクション、メモリ破壊、デシリアライゼーション、XSS)に関連する脆弱性について評価する。
- 脆弱性について ChatGPT に問い、脆弱性が見つかった場合は安全版や修正版を要求する。
- 結果を分析して、ChatGPT が脆弱性を認識するか、 prompting 後に安全なコードがどの程度生成されるかを判断する。
- 倫理的影響を論じ、生成コードのセキュリティを向上させるための対話戦略を提案する。

実験結果
リサーチクエスチョン
- RQ1ChatGPT が生成するコードサンプルは、言語やユースケースを超えてどれくらい安全か?
- RQ2ターゲットを絞った prompting やフォローアップ質問は、ChatGPT により安全なコードを生成させるか?
- RQ3ChatGPT 生成コードで最も一般的な脆弱性の種類は何で、どのような修正には大規模なコード設計変更が必要か?
- RQ4セキュリティに敏感な文脈で AI 生成コードを使用することから生じる倫理的配慮は何か?
主な発見
- 初期プログラムの一部のみが安全であり、多くは重大な脆弱性を示した。
- 質問されると ChatGPT は脆弱性を認識することが多いが、明示的な prompting なしには安全なコードを頻繁には生成しない。
- 修正された安全版は幾つかのケースで生成できたが普遍的ではなく、いくつかのタスクは安全にするためには本質的に大幅な設計変更が必要である。
- 脆弱性は多くのカテゴリに及び、メモリ破壊と暗号利用の誤用が安全な修正に顕著な困難を示した。
- 本研究は教育的価値と倫理的懸念を論じ、セキュリティ上の利益はユーザー主導の分析とテストに依存することを指摘している。
より良い研究を、今すぐ始めましょう
論文設計から論文執筆まで、研究時間を劇的に削減しましょう。
クレジットカード登録不要
このレビューはAIが作成し、人間の編集者が確認しました。