Webエンジニア向けプログラミング解説動画をYouTubeで配信中!
▶ チャンネル登録はこちら

【ITニュース解説】Complete Overview of Generative & Predictive AI for Application Security

2025年09月16日に「Dev.to」が公開したITニュース「Complete Overview of Generative & Predictive AI for Application Security」について初心者にもわかりやすく解説しています。

作成日: 更新日:

ITニュース概要

AIはアプリケーションのセキュリティを強化する技術で、高度な脆弱性検出やテスト自動化を可能にする。生成AIは新たなテストケースを作り、予測AIは潜在的な脅威を発見し、その危険度を予測する。誤検出や未知の攻撃への対応など課題もあるが、今後のアプリ開発で重要な役割を担う。

ITニュース解説

アプリケーションのセキュリティを守る分野、すなわちアプリケーションセキュリティ(AppSec)において、人工知能(AI)は大きな変革をもたらしている。AIは、プログラムの弱点を見つける能力やテストを自動化する能力、さらには攻撃の対象となる部分を自律的にスキャンする能力を高め、より高度なセキュリティ対策を可能にしている。

かつて、AIが今ほど注目されていなかった時代から、セキュリティ専門家はプログラムのバグを見つける作業を自動化しようと試みていた。1980年代後半に登場した「ファズテスト」は、プログラムにランダムな入力データを大量に与えて異常終了させることで弱点を発見する手法であり、後のセキュリティテスト戦略の基礎となった。1990年代から2000年代初頭には、コード内の特定のパターンや安全でない機能を探す「静的スキャンツール」が利用されたが、文脈を考慮しないため、誤った警告(誤検知)が多いという課題があった。

その後、技術が進歩し、あらかじめ決められたルールだけでなく、データに基づいた知的な推論を取り入れるAIベースのアプリケーションセキュリティが台頭した。例えば、プログラムの構造やデータの流れを一つのグラフで表現する「コードプロパティグラフ(CPG)」という技術が生まれ、より深い意味での脆弱性評価が可能になった。CPGとAIを組み合わせることで、単純なパターンチェックでは見つけられなかった複雑な脆弱性も検出できるようになったのである。2016年には、米国防総省の研究機関が主催した競技会で、人間を介さずに脆弱性を見つけ、悪用し、修正できる完全自動のハッキングプラットフォームがその能力を証明し、自律的なサイバー防御の大きな転換点となった。

AIの進化は、セキュリティ脆弱性の発見に大きな革新をもたらした。機械学習は、セキュリティ分野で急速に発展し、例えば、機械学習モデルが既知の脆弱性が実際に悪用される可能性を推定し、防御側がリスクの高い弱点に優先的に対処できるよう支援している。また、大規模言語モデル(LLM)は、膨大なコードベースで学習することで、コードの監査を自動化したり、ファズテストを自動生成したりして、より多くの欠陥を発見し、人間の労力を削減している。

今日のアプリケーションセキュリティでは、AIが主に二つの形式で活用されている。一つは「生成AI」で、テストケースや攻撃コード(エクスプロイト)の断片など、新しい情報を創造する能力を持つ。これは、従来のファジングでは考えられなかったような、より戦略的なテストデータの生成を可能にする。もう一つは「予測AI」で、既存のコードベースを分析し、潜在的な脆弱性を見つけ出したり、将来の脅威を予測したりする。これは、手動ルールでは見逃されがちなパターンを学習し、脆弱性の優先順位付けを支援する。

また、従来のセキュリティテスト手法である静的解析ツール(SAST)、動的アプリケーションセキュリティテスト(DAST)、対話型アプリケーションセキュリティテスト(IAST)も、AIを組み込むことで性能が向上している。AIはSASTの誤検知を減らし、DASTの検出範囲を拡大し、IASTの監視結果から真のリスクを特定できるようになっている。現代のコードスキャンツールは、テキスト検索のような「パターンマッチング」、既知の脆弱性に対応する「シグネチャ(ルール)」、そしてコードの構造とデータの流れを統合的に分析する「コードプロパティグラフ(CPG)」といった複数の技術を、AIの力を活用して組み合わせている。 さらに、クラウド環境や、オープンソースソフトウェアの利用が拡大する中で重要度を増している「サプライチェーンセキュリティ」においてもAIは活躍している。AIツールは、コンテナイメージの脆弱性や設定ミスを検査したり、何百万ものオープンソースコンポーネントの中から悪意のあるパッケージやリスクの高いものを自動で特定したりできる。

しかし、AIはソフトウェア防御に強力な利点をもたらす一方で、万能ではない。AI検出システムは、常に誤検知(安全なコードを脆弱だと誤って警告すること)と見逃し(危険な脆弱性を見落とすこと)の問題を抱えている。AIが安全でないコードを見つけても、それが実際に悪用可能であるかは別問題であり、その実用性を判断するのは難しい。AIアルゴリズムは学習データに偏りがあると、新しい種類の脅威を認識できない可能性がある。まだ知られていない「ゼロデイ脆弱性」や、AIシステムを欺こうとする「敵対的AI」の存在も、AIによる防御を難しくしている。そのため、AIベースのソリューションは常に更新される必要があり、AIが発見した問題の最終確認には人間の専門知識が不可欠だ。

最近注目されている「エージェント型AI」は、単に答えを生成するだけでなく、自律的に目標を設定し、複数のステップからなるタスクを実行できるシステムを指す。アプリケーションセキュリティの分野では、エージェント型AIは、人間を介さずにペネトレーションテストを実行したり、ネットワークを監視し、異常なイベントに自律的に対応したりすることが可能になる。しかし、このような大きな自律性にはリスクも伴う。自律システムが誤って本番環境に損害を与えたり、悪意のある攻撃者によって操作されたりする可能性があるため、厳重な安全策と人間による監督が不可欠となる。

AIがアプリケーションセキュリティに与える影響は今後も増大するだろう。今後数年間で、開発者向けのツールにAIアシストコーディングとセキュリティ機能が統合され、大規模言語モデル(LLM)によるリアルタイムの脆弱性スキャンが標準化されると予想されている。一方で、サイバー犯罪者も生成AIを悪用して非常に巧妙なソーシャルエンジニアリング攻撃を仕掛けてくるため、防御側も新たなインテリジェントなスキャン技術で対抗する必要がある。長期的な視点では、AIはソフトウェア開発ライフサイクル(SDLC)全体を根本的に変革し、人間とAIが協力してコードの大部分を生成する「AI拡張開発」や、脆弱性を発見するだけでなく、自律的に修正し、その正確性を検証する「自動脆弱性修正」が実現するかもしれない。AI自体もガバナンスの対象となり、特定の産業でのAI使用には、透明性や機械学習モデルの監査が義務付けられ、AIの意思決定に対する責任の所在を明確にすることが重要な課題となるだろう。

AIはアプリケーションセキュリティのあり方を再構築し、脆弱性の発見を加速させ、高リスクの問題に焦点を当て、複雑なタスクを自動化する強力な味方となる。しかし、AIは万能薬ではなく、誤検知、訓練データの偏り、新しいタイプのエクスプロイトなどには、依然として人間の専門知識が求められる。責任ある形でAIを導入し、チームの知識、堅牢なガバナンス、継続的な更新と連携させる組織こそが、絶えず変化するアプリケーションセキュリティの世界で成功を収めることができるだろう。AIの潜在能力は、より安全なソフトウェアエコシステムを実現し、セキュリティ専門家がサイバー犯罪者の急速な革新に正面から対抗できる未来を築くことにつながる。

関連コンテンツ

関連IT用語

【ITニュース解説】Complete Overview of Generative & Predictive AI for Application Security | いっしー@Webエンジニア