「ChatGPT」が「SAST」ツールの座を奪う? 実力と見えてきた課題:ChatGPTはSASTツールになるのか【後編】
開発者の中で「『SAST』ツールの代替として『ChatGPT』が使えるのではないか」といった期待が高まっている。ChatGPTは脆弱性を正確に見つけ出し、SASTを超えることができるのか。
テキストや画像などを自動生成する人工知能(AI)技術「生成AI」(ジェネレーティブAI)が注目を集めている。その代表格である「ChatGPT」は、ソフトウェア開発分野に大きな変革をもたらした。ソースコード生成はもちろん、ソースコードの分析や問題点の検出などにも活用できるのだ。これは従来のSAST(静的アプリケーションセキュリティテスト)ツールに取って代わる可能性がある。
では、ChatGPTをSASTツールとして活用する場合、どのような課題があるのか。ソフトウェア開発現場で生成AIを効果的に活用するためには、何に注意すればいいのか。筆者の経験を基に、実践的なアドバイスを交えながら、これらの問いに答える。
ChatGPTはSASTツールとして使えるのか?
併せて読みたいお薦め記事
連載:ChatGPTはSASTツールになるのか
開発分野での生成AI
筆者がChatGPTをSASTツールとして使用した率直な感想は「かなり有望」だ。ChatGPTはソースコード内の脆弱(ぜいじゃく)性を特定し、その脆弱性を排除した修正版のソースコードを提示した。
ただし、生成AIが出力した結果を再度修正するために入力として使い続け、修正が終わらない「堂々巡り」問題はまだ残っている。出力結果を入力として生成AIに与え続けることで、より良い結果が得られるのか。結果はまちまちだ。ChatGPTであれば、明確に文書化された答えがない質問に対して、回答をでっち上げる場合があること(ハルシネーションが起こること)は既知の事実だ。
重要なのは、セキュリティ専門家と開発者は、ChatGPTが指摘したエラーや出力したソースコードを人の目で見て検証、確認する必要があるということだ。
ChatGPTを使用してソースコードのエラーを大まかに確認すると、筆者の感覚ではだいたい100個中80個は問題やエラーを指摘できるが、残りの20個は見落としたり誤った判断に基づいていたりする。ChatGPTはソースコードのエラー修正の効率を上げるには良いツールだが、原稿執筆時点ではまだ、「SASTツールに取って代わる存在」とは言い切れない。
TechTarget発 エンジニア虎の巻
米国TechTargetの豊富な記事の中から、開発のノウハウや技術知識など、ITエンジニアの問題解決に役立つ情報を厳選してお届けします。
Copyright © ITmedia, Inc. All Rights Reserved.