生成AIをASCA(Application Security Code Assistant)として使うときの条件
──アプリケーション開発の領域でも生成AIへの期待が高まってきました。
AIに関してはこれから素晴らしいことが起きる。問題を解決してくれ、物事を単純明快に説明してくれる。SFの物語が現実のものになるのではないか。皆が大きな期待を寄せました。事実、「2023年CIO/テクノロジーエグゼクティブサーベイ」の結果を見ると、AIをすでに実装していると回答したCIOは48%に達しています。過去にクラウドが出てきた頃を振り返ると、これほどまでの期待ではなかったと思います。ところが現実のAIがその期待に見合うかと言えば、まだまだ足りないところがある。加えて、AIはアシスタントとして人間を助けてくれますが、使い方を間違えると、問題を解決してくれるどころか、別の問題を引き起こす可能性が懸念されています。
──正しい使い方とはどのようなものですか。
生成AIがどんな仕組みで動いているかを理解することです。一番下のレベルではコードが動いている。この点では生成AIも他のアプリケーションと変わりません。その上にあるのが基盤モデルです。AIによって、それぞれが異なる基盤モデルを持っていることもあれば、異なるAIが同じ基盤モデルを利用している場合もあります。その上にあるのがLLMで、インターネット上のデータで学習しています。LLMに何かを聞くと、必ず何かしらの回答を出してくれる。でも正確な回答が出てくるとは限らないし、それが不正確とも言い切れないところがあります。問題は、どんな問いに答えを返す時も説得力を持って語りかけてくるので、人間がその答えが正しいかを知る手立てがないことです。ですから、AIで拡張したASCA(Application Security Code Assistant)を使うには、「正確であること」「正しいと説明できること」「裏付けになるデータがあること」の条件を備えたもう1つ上のレベルのモデルが必要になります。
──コードセキュリティアシスタントはハイプサイクルではどこに位置付けられていますか。
「Hype Cycle for Application Security, 2023」によれば、ASPM(Application Security Posture Management)やソフトウェアサプライチェーンセキュリティなどがピークに来ていて、ASCAのようなAI関連のテクノロジーはまだ黎明期にいます。ハイプにはなっていませんが、ガートナーは「2027年までに、開発者の90%はセキュリティコードアシスタントを使用して、セキュアなコードの記述に費やす時間を 30%短縮する」と予測しています。