LLMアプリケーション診断

LLM(Large Language Model/大規模言語モデル)を利用するアプリケーションは、従来のアプリケーションとは異なるLLM特有のセキュリティリスクを考慮する必要があります。
GMO Flatt Securityが提供する「LLMアプリケーション診断」は、LLMを利用するアプリケーションにおける特有の脆弱性を検出します。

LLM / 生成AIアプリケーション特有のセキュリティリスク

近年、GPTやGemini等のLLMは、アプリケーションにおける生成AIの機能としてコンテンツの要約や分析、チャットボットなどの用途に利用されるようになりました。

しかし、LLMを利用するアプリケーションは、新たな脅威としてプロンプトインジェクションやシステムプロンプトの漏洩といったセキュリティリスクも抱えるようになりました。

例えば、Slackが提供する生成AI機能のSlack AIにおいて、プロンプトインジェクションにより、プライベートチャンネルに対する機密データの窃取やフィッシング攻撃が可能な脆弱性がありました。

また、HackerOneが提供する生成AI機能のHaiにおいて、プロンプトインジェクションによりLLMの実行結果を攻撃者がコントロールして、結果を読む人を騙すことができ得る脆弱性がありました。

※Haiとは脆弱性管理の効率化するためのAI

これらのような一般の人々に広く提供されるサービス以外にも、社内限定で機微な情報も扱うプロダクトやAIエージェントなどLLMを活用する事例は多く存在します。LLMを利用するアプリケーションの仕様に応じて柔軟な視点による脆弱性診断が必須となります。

LLM / 生成AIアプリケーションに対する脆弱性診断

通常のWebアプリケーション診断では、XSSのような一般的に見られる脆弱性から認証・認可・ビジネスロジックのようなアプリケーション固有の仕様に起因する脆弱性まで診断を実施します。
しかし、アプリケーションの内部で利用されるLLMを経由した特有の脆弱性は、検出できない場合があります。

GMO Flatt Securityでは、LLMアプリケーション特有の観点を考慮した診断を提供しています。

診断対象のプロダクト(クライアント⇄サーバー⇄LLM)の関係図。Webアプリケーション診断はXSS・SQLインジェクション・認証の不備・認可制御不備を検出し、LLMアプリケーション診断はプロンプトインジェクション・過剰な代理行為・無制限の消費を検出する。両診断のカバレッジは異なり、組み合わせた利用でプロダクトの総合的な診断が可能。

また、GMO Flatt Securityでは基本的に*全ての手動脆弱性診断において標準でソースコードの分析を実施しています。これにより、診断においてLLMの出力結果のみで判断する(ブラックボックス形式)必要はなく、表面的な振る舞いからは見過ごされがちな潜在的なセキュリティリスクをも検出可能です。

ブラックボックス形式(LLMの応答は不安定で遅く検査カバレッジに限界があり非効率的)とホワイトボックス形式(アプリの実装やシステムプロンプト解析で高精度化し潜在的リスクも検出)の比較図。

* アプリケーションが対象ではないプラットフォーム診断や、ソースコードが提供されない場合を除きます

提供をご依頼するデータ

LLMアプリケーション診断では、システムプロンプト等のLLM関連API呼び出しの実装を含むソースコードをご提供いただきます。
専門の診断員がソースコードを読み、精査することで、診断対象に脆弱性が存在しないか判断します。

診断観点

LLMアプリケーション診断では、セキュリティ診断AIエージェントTakumiの開発によって得られた知見やOWASP Top 10 for LLM Applicationsを参考とした独自の診断項目を活用します(以下一例)。

一般的なLLMアプリケーション

チャットボット等のシンプルなアプリケーション含む、LLMを利用したアプリケーションに共通の観点。

プロンプトインジェクション

本来の意図とは異なるLLMの動作を容易に引き起こせないかを検査します。

機密情報の開示

LLMの出力結果に他のユーザーに関する情報や機微な社内情報などが含まれていないかを検査します。

安全でない出力処理

LLMの出力結果をフロントエンドやバックエンドで扱う際に、インジェクションの脆弱性が発生しないかを検査します。

システムプロンプトへの機密情報の保存

システムプロンプトに機密情報が含まれていないかを検査します。

無制限の消費

アプリケーションやシステムプロンプトで設定されたLLMの実行制限を回避したり、無限ループが発生したりしないかを検査します。

RAGやツール連携等を行うLLMアプリケーション

社内向けアプリケーションを含む、RAG(検索拡張生成)やツール連携、外部MCPサーバーとの連携等がある場合における観点。

データやモデルの汚染

LLMのパフォーマンス低下や有害なコンテンツの出力を容易に引き起こせないかを検査します。

過剰な代理行為

LLMに付与された権限を悪用して連携する機能を悪用できないかを検査します。

ベクトル化と埋め込みの脆弱性

機密情報の奪取や本来の意図とは異なるLLMの動作を引き起こせないかを検査します。

LangChain等のLLMフレームワーク

各フレームワーク固有の観点。

テンプレートインジェクション

プロンプトテンプレートに使用されるテンプレートエンジンを悪用して悪意のある任意実行ができないかを検査します。

安全でない構成での関数利用の悪用

フレームワークが提供する関数が安全でない構成で使用されていないかどうかを検査します。

* 原理上防ぐことが出来ない観点については、一定期間・複数パターンの攻撃検証をもとに検査します。

サンプル報告書のダウンロード

技術ブログ公開中

LLM / 生成AIアプリケーションのセキュリティ観点を技術的に詳細に解説したブログを公開しています。

上記以外にも、弊社はAIやLLMに関するブログを随時公開しています。以下から確認できますので、ぜひご覧ください。

料金・プラン

脆弱性診断

100万円〜

グレーボックスまたはブラックボックス形式で脆弱性診断を実施します。ご予算に応じて深刻度が高いと見込まれる箇所から優先的に診断し、ビジネスリスクの高い脆弱性を可能な限り検出します。OWASP Top 10やOWASP ASVS等でカバーされる典型的な脆弱性に加え、仕様を踏まえたビジネスロジックの脆弱性も検出対象です。

お見積もりは無料です。
診断のご依頼はお気軽にお問い合わせください。