検索
特集/連載

「ChatGPT」が「SAST」ツールの座を奪う? 実力と見えてきた課題ChatGPTはSASTツールになるのか【後編】

開発者の中で「『SAST』ツールの代替として『ChatGPT』が使えるのではないか」といった期待が高まっている。ChatGPTは脆弱性を正確に見つけ出し、SASTを超えることができるのか。

Share
Tweet
LINE
Hatena

 テキストや画像などを自動生成する人工知能(AI)技術「生成AI」(ジェネレーティブAI)が注目を集めている。その代表格である「ChatGPT」は、ソフトウェア開発分野に大きな変革をもたらした。ソースコード生成はもちろん、ソースコードの分析や問題点の検出などにも活用できるのだ。これは従来のSAST(静的アプリケーションセキュリティテスト)ツールに取って代わる可能性がある。

 では、ChatGPTをSASTツールとして活用する場合、どのような課題があるのか。ソフトウェア開発現場で生成AIを効果的に活用するためには、何に注意すればいいのか。筆者の経験を基に、実践的なアドバイスを交えながら、これらの問いに答える。

ChatGPTはSASTツールとして使えるのか?

 筆者がChatGPTをSASTツールとして使用した率直な感想は「かなり有望」だ。ChatGPTはソースコード内の脆弱(ぜいじゃく)性を特定し、その脆弱性を排除した修正版のソースコードを提示した。

 ただし、生成AIが出力した結果を再度修正するために入力として使い続け、修正が終わらない「堂々巡り」問題はまだ残っている。出力結果を入力として生成AIに与え続けることで、より良い結果が得られるのか。結果はまちまちだ。ChatGPTであれば、明確に文書化された答えがない質問に対して、回答をでっち上げる場合があること(ハルシネーションが起こること)は既知の事実だ。

 重要なのは、セキュリティ専門家と開発者は、ChatGPTが指摘したエラーや出力したソースコードを人の目で見て検証、確認する必要があるということだ。

 ChatGPTを使用してソースコードのエラーを大まかに確認すると、筆者の感覚ではだいたい100個中80個は問題やエラーを指摘できるが、残りの20個は見落としたり誤った判断に基づいていたりする。ChatGPTはソースコードのエラー修正の効率を上げるには良いツールだが、原稿執筆時点ではまだ、「SASTツールに取って代わる存在」とは言い切れない。

TechTarget発 エンジニア虎の巻

米国TechTargetの豊富な記事の中から、開発のノウハウや技術知識など、ITエンジニアの問題解決に役立つ情報を厳選してお届けします。

Copyright © ITmedia, Inc. All Rights Reserved.

ページトップに戻る