検索
連載

AIコーディングの主なセキュリティリスクと対処法Gartner Insights Pickup(376)

生成AIコーディングアシスタントは、ソフトウェアエンジニアのアプリケーション開発に革命をもたらしそうだが、新しい技術には固有のリスクが伴う。ITリーダーは、AIコーディングアシスタントに関連するさまざまなリスクと軽減戦略を理解する必要がある。

PC用表示 関連情報
Share
Tweet
LINE
Hatena

ガートナーの米国本社発のオフィシャルサイト「Insights」などのグローバルコンテンツから、@IT編集部が独自の視点で“読むべき記事”をピックアップして翻訳。グローバルのITトレンドを先取りし「今、何が起きているのか、起きようとしているのか」を展望する。

 生成AIコーディングアシスタントは、ソフトウェアエンジニアのアプリケーション開発方法に革命をもたらしそうだ。Gartnerは2028年までに、人間とAIアシスタントのコラボレーションにより、コーディングタスクの完了時間が30%短縮される可能性があると予測している。だが、こうした新しい技術には固有のリスクが伴う。

 最近のGartnerの調査は、ITリーダーの3人に1人が「生成AIがIT部門の業務を根本的に変える」と考えていることを示している。だが、その一方で、ITリーダーは主な懸念事項としてデータセキュリティや不正確さ、誤用、ガバナンスを挙げている。ソフトウェアエンジニアリングリーダーはこれらのリスクを効果的に軽減するために、以下のような、AIコーディングアシスタントに関連する一般的なセキュリティ脅威とその影響、適切な軽減戦略を徹底的に理解する必要がある。

出力の脆弱(ぜいじゃく)性

 大規模言語モデル(LLM)は、大量のコードサンプルでトレーニングされているが、これらのサンプルの一部は悪意または過失により、セキュリティ脆弱性を含んでいる。こうしたサンプルでトレーニングされたLLMの出力にも、脆弱性が存在する可能性がある。そのため、LLMの出力をそのまま受け入れると、アプリケーションにセキュリティ問題が発生する恐れがある。経験の浅い開発者は、AIコーディングアシスタントに頼り過ぎる可能性があり、そうなればリスクを悪化させることになる。

 この問題に対処するには、アプリケーションセキュリティテスト(AST)を導入する。静的アプリケーションセキュリティテスト(SAST)と動的アプリケーションセキュリティテスト(DAST)の形で、セキュリティスキャンを自動的に実行すれば、コードの脆弱性を発見するのに役立つ。

 さらに、AIコーディングアシスタントに過度に依存するリスクについて、ソフトウェアエンジニアを教育する研修を実施することも重要だ。AIコーディングアシスタントの利用は、この研修の修了者に限定するとよい。

 また、AIの幾つかの提案から開発者が選択できるコーディングアシスタントを選ぶのが得策だ。そうすれば、開発者は提案を検討でき、必要があれば不適切な提案を削除できる。脆弱な出力に対する追加のガードレールとして、コードセキュリティアシスタントを使用することも可能だ。

知的財産(IP)の侵害

 LLMのトレーニングコードのライセンスと所有権が、知的財産(IP)や著作権の問題を引き起こす可能性もある。AIコーディングアシスタントが、他の組織が所有する、著作権で保護されたコードを生成する恐れがあるからだ。そうなれば企業は重大なリスクを抱えることになる。

 ソフトウェアエンジニアリングリーダーはこのリスクを軽減するために、第三者によるレビューを実施し、ベンダーがどのようにIP侵害の防止に取り組んでいるかを評価しなければならない。ベンダーに対し「LLMがAIコーディングアシスタントのトレーニングにどのようなデータソースを使用するか」を尋ねることが、極めて重要だ。トレーニングコードのソースによっては、IP侵害のリスクが高まる可能性があるからだ。

 さらに、ソフトウェアパッケージのライセンス問題を特定する機能に優れたソフトウェア構成分析ツールを使用するとよい。このツールはセキュリティの追加レイヤーを提供し、IP規制の確実な順守に役立つ。

トレーニングデータの汚染

 トレーニングデータの汚染は、悪意あるアクターが意図的に、安全でないデータや有害なデータをLLMに追加することで発生する。これにより、AIコーディングアシスタントが脆弱な出力、不正確な出力、あるいは有害な出力を生成する場合がある。

 この問題に対処するには、第三者によるレビューを実施し、ベンダーがどのようにトレーニングモデルの汚染防止に取り組んでいるかを評価する。ベンダーは、LLMのトレーニングデータの出どころを検証し、悪意あるアクターがデータに影響を及ぼしていないことを確認する必要がある。

 さらに、AIモデルの修正や更新の頻度も確認すべきだ。LLMを定期的に修正することで、プライバシーポリシーやIPポリシーに違反しているデータを削除でき、LLMを更新することで、時間とともにデータ保護やパフォーマンス、精度が向上する。

 ASTをもう1つの防御レイヤーとして導入することも重要だ。ASTは、トレーニングデータの汚染に起因する脆弱な出力を発見するのに役立つ。有害なコードをアプリケーションに影響を与える前に確実に特定し、対処を可能にする。

敵対的プロンプト

 敵対的プロンプトは、悪意あるアクターがLLMの挙動を操作する目的で作成し、入力する。オープンソースLLMを危険にさらす場合があり、危険が顕在化して商用LLMに広がり、AIコーディングアシスタントの挙動に意図しない変化が生じる恐れがある。敵対的プロンプトの特に危険な亜種が「プロンプトインジェクション」だ。悪意あるアクターが、細工したプロンプトを注入し、LLMに不正な動作をさせるというものだ。

 ソフトウェアエンジニアリングリーダーはこのリスクを軽減するために、第三者によるレビューを実施し、ベンダーが敵対的プロンプトに対してどのように責任を果たしているかを評価しなければならない。このレビューの一環として、ベンダーが取り組んでいる敵対的プロンプト(プロンプトインジェクションを含む)の防止戦略を評価する必要がある。

 以上のように脅威を軽減する戦略の実行により、ソフトウェアエンジニアリングリーダーは、AIコーディングアシスタントに関連するリスクからシステムをより良く保護し、信頼性の高いシステムパフォーマンスを確保できる。

出典:Addressing the Top Security Risks in AI Coding(Gartner)

※この記事は、2024年9月に執筆されたものです。

筆者 Aaron Lord

Sr Director Analyst


Copyright © ITmedia, Inc. All Rights Reserved.

[an error occurred while processing this directive]
ページトップに戻る