Cover Image

修復から自動修復および GenAI へ (パート 2)

2024/8/16 - 読み終える時間: 2 分

From Remediation to Auto-remediation and GenAI (Part 2) の翻訳版です。


修復から自動修復および GenAI へ (パート 2)

2024年8月14日

著者: Adam Cave / Product Marketing Manager, HCL AppScan

これは、修復と人工知能 (AI) の使用に関する 2 部構成のシリーズのパート 2 です。パート 1 では、開発者が脆弱性を修正するのを支援するもう 1 つの主要なアプローチ、つまり従来の修復と教育を紹介します。

キュレーションされた自動修正

キュレーションされた自動修正は、ソースコードで見つかった既知の脆弱性に対処するために、人間のセキュリティ専門家によって作成されます。単純な問題の場合、これらの修正は IDE の自動補完レベルであってもほぼ瞬時に適用できます。このアプローチは「実証済みの」方法で、さまざまなセキュリティ問題と非セキュリティ問題に対処するために長年使用されています。

これらの修正の利点は、テストおよび検証されているため、新しい問題を引き起こすことなく、問題を修復する信頼性の高い方法を提供できることです。これらの修正の一貫性により、同じ問題が常に同じ方法で解決され、コードの品質と保守性が向上します。

このようなツールは、即時の解決策だけでなく、修正によってどのように問題が解決されるかを説明する説明が付属していることが多いため、教育的価値も提供します。修復と学習というこの二重の利点は、開発者が将来同様の問題を理解し、防止するのに役立ちます。

キュレーションされた自動修正に欠点があるとすれば、それはスケーラビリティの課題です。これらの修正は手作業で作成されるため、複数の例とユースケースにわたって各言語で実装およびテストするには多大な労力が必要です。この労働集約的なプロセスにより、アプローチをより広範な問題と言語に拡張する能力が制限されます。この課題にもかかわらず、キュレーションされた自動修正の有効性と信頼性は、特によく知られた繰り返し発生する問題に対して、開発者の武器庫にある貴重なツールとなっています。

GenAI 駆動型自動修正

修復に対する 3 番目のアプローチは、最も有望なものの 1 つであり、Generative AI (GenAI) を活用してオンデマンドの自動修正を作成します。このテクノロジーは、優れたカバレッジと汎用性を提供し、事実上すべてのプログラミング言語の問題に対する修正を提供する可能性があります。

GenAI を使用すると、開発者はさまざまなコーディング環境や要件に適応できる自動化されたオンザフライソリューションにアクセスできるため、修復プロセスの効率と有効性が大幅に向上します。この方法の目標の 1 つは、巧妙なプロンプトエンジニアリングにより、これらの AI 駆動型ソリューションが特定の問題に効果的に対処するコンテキスト認識応答を生成できるようにすることです。このアプローチは比較的迅速な実装とスケーリングを約束し、さまざまなコーディングの問題に対処できるようになります。

GenAI に起因するセキュリティ上の課題

GenAI は、大規模言語モデル (LLM) などの基盤となる AI モデルを使用して、十分な情報がない場合でも回答を生成します。その結果、「幻覚」、つまり不正確または無意味な応答が生じることがあります。このため、監視なしでは修正の品質は保証されません。

  • ソリューションが実際に問題を修正するという保証はありません
  • 「修正された」コードが意図したとおりに機能するという保証はありません
  • ソリューションが新しい脆弱性を導入しないという保証はありません
  • まったく同じ問題や同じコードであっても、修正が毎回一貫して同じであるという保証はありません

GenAI の結果は、使用されるプロンプトと、Gen AI モデルがトレーニングされたデータの品質に依存します。ChatGPT や Claude などの事前トレーニング済みモデルは使いやすいですが、これらのモデルは必ずしもコードのみでトレーニングされているわけではなく、検証可能なセキュリティコードでトレーニングされているわけでもありません。

既存のモデルを微調整するのは難しく、修正しようとしている脆弱性をモデルが「理解」していることを保証するものではありません。モデルを最初からトレーニングするのはさらに難しく、非常にコストがかかり、膨大な量のデータが必要になります。さらに、トレーニング済みのモデルは、新たに発見された脆弱性ごとに再トレーニングする必要があり、スケーラビリティはほぼ不可能になります。

自動修復への適切なアプローチの選択

修復と AI の使用に関する 3 つのアプローチを検討すると、GenAI 自動修正は有望な方向性である一方で、落とし穴があることは明らかです。組織は、安全なコードをリリースしていることを確認するためのチェックとバランスの方法として、手動による監視を維持する必要があります。

このシリーズのパート 1 で説明したように、教育は常にスキルギャップを埋め、開発者が最初から安全なコードを書くようにトレーニングされるようにするための最良のアプローチです。そして、AI もここで役割を果たします。HCL AppScan は、より複雑な修復アドバイザリのわかりやすい概要をユーザーに提供することで、教育をより実用的なものにするために、GenAI と LLM の使用を検討してきました。

必要な時間とリソースにもかかわらず、キュレートされた自動修正のセットをコンパイルすることは、結果として得られる修正が追加の問題を引き起こすことなく脆弱性に対処すると信頼できるため、多くの場合、努力する価値があります。また、GenAI には、厳選された自動修正の生成とテストの作業負荷を軽減する強力なユースケースがあることも注目に値します。

AI は、セキュリティテストソフトウェアに組み込まれている場合でも、開発者のユーザーエクスペリエンスの一部として組み込まれている場合でも、今後も存在し続けるでしょう。時間とリソースの節約の可能性は莫大です。今日の意思決定者は、コスト削減につながる新しいテクノロジーに内在する潜在的なリスクを考慮し、信頼できる厳選されたツールやアプローチの採用とバランスを取る必要があります。

HCL AppScan にアクセスして、HCLSoftware のアプリケーションセキュリティテストソリューションで現在利用可能な AI および機械学習機能の詳細をご確認ください。

このブログについて

HCL Japan の Software 部門の複数担当者で HCL Software 全般について記しています。

Tags

Academy Accelerate Accelerator Actian Ambassador AoC AppDev Pack AppScan ASoC BigFix BigFix Workspace CAA Clara Client Applicatin Access Cloud Native Commerce Common Local License Server Compass Connections Connnections CVE-2021-44228 DevOpes Velocity DevOps DevOps Code ClearCase DevOps Code RealTime DevOps Deploy DevOps.Launch.AppScan DevOps Model RealTim DevOps Model RealTime DevOps Plan DevOps Test DevOps Velocity Digital Experience Discover Domino Domino Leap Domino Volt Domino管理者アップデート認定試験対策 DQL DRYiCE DX Enterprise Integrator event General HCAA HCL Ambassador HCL Ambassadors HCL Domino REST API HCL OneTest Embedded HCL Z and I Emulator HCL Z and I Emulator for Transformation HCLSoftware U Hero history HTMO iControl iNotes IZSAM KEEP Launch Launch.DevOps Leap Link MarvelClient nds2019 ndv12beta Noets/Domino Nomad Nomad Mobile Nomad Web notes Notes/Domino notes-domino-9-10-limited-supportability-as-of-202204 Notes/Domino V12 Notes/Domion notescons Now OneDB OneTest OnTime REST RTist SafeLinx Sametime SoFy Total Experience Traveler Traveler for Microsoft Outlook Unica Unica Discover Unica Interact UrbanCode Deploy UrbanCode Velocity Velocity Verse VersionVault Volt Volt MX Volt MX Go Volt MX サンプルアプリ Wordload Automation Workload Automation youtube Z Z Abend Investigator Z and I Emulator Z and I Emulator for Transformation Z and I Emulator for Web Z and I Emulator for Web Client Z Asset Optimizer Z Data Tools Z Software Asset Manager ZAI ZAO ZIE ZIE for Transformation ZIE for Web ZIE for Windows ZIET ZIETrans ZIEWeb イベント ガイド クラウド サポート サポート技術情報 サポート終了 セキュリティ セキュリティー セキュリティー脆弱性 テクてく Lotus 技術者夜会 ニュース ノーツコンソーシアム パートナー ライセンス 九州地区 Notes パートナー会 出荷日 研修