概要
https://speakerdeck.com/flatt_security/llm-application-security
詳細内容
## LLMアプリケーション開発におけるセキュリティリスクと対策 / LLM Application Security
https://speakerdeck.com/flatt_security/llm-application-security
LLMアプリケーション開発に潜むプロンプトインジェクション、RAG、EDoS、外部連携の主要なセキュリティリスクを網羅的に解説し、具体的な多層防御戦略を提示する。
**Content Type**: Technical Reference
**Scores**: Signal:5/5 | Depth:5/5 | Unique:4/5 | Practical:5/5 | Anti-Hype:5/5
**Main Journal**: 96/100 | **Annex Potential**: 94/100 | **Overall**: 96/100
**Topics**: [[LLMセキュリティ, プロンプトインジェクション, RAGセキュリティ, EDoS, 外部連携セキュリティ]]
GMO Flatt Securityによる本資料は、ウェブアプリケーションエンジニアがLLM搭載アプリケーションを開発する上で極めて重要な指針を示している。LLMの性質上、プロンプトインジェクションの完全な対策は困難だが、多層防御が不可欠であると強調する。
主要なセキュリティリスクは以下の4点に集約される。
1. **プロンプトインジェクション**: ユーザー入力や外部データ経由で悪意あるプロンプトが注入され、システムプロンプト漏洩、不正なデータ操作、意図しないコンテンツ生成に繋がる。対策としては、システムプロンプトに機密情報を含めず、LLMがアクセスするリソースには最小権限を設定すること。また、Microsoft Presidioのような匿名化ツールやLLMガードレール、Prompt HardenerのRole ConsistencyやSpotlighttingなどのプロンプト硬化技術の活用が有効だ。
2. **RAGアプリケーションのセキュリティ**: Knowledge Baseへのドキュメント汚染と認可制御の不備が問題となる。悪意のあるドキュメントがVector Storeに格納されると、プロンプトインジェクションや情報漏洩のリスクがあるため、Knowledge Base構築前のコンテンツ検査、データ属性によるフィルタリング、マルチテナント環境での適切な認可制御の実装が不可欠となる。
3. **EDoS(Economic Denial of Service)**: LLMの従量課金モデルを悪用し、意図的に大量のトークンを消費させる攻撃で、「AI破産」という経済的被害をもたらす可能性がある。特にエージェントが停止しない入力や複雑な問いによって容易に高額な利用料金が発生するため、レートリミット、LLMの実行ステップ数や実行時間の制限、そしてAPI料金をユーザーに転嫁するビジネスモデルの検討が緩和策として挙げられる。
4. **外部通信・連携のセキュリティ**: LLMが外部ツール(GitHub APIなど)と連携することで、能力拡張と引き換えに誤った解釈による過剰な代理行為や機密情報の漏洩リスクが高まる。「最小権限の原則」を徹底し、LLMには必要最小限の権限のみを与え、重要な操作前には人間による確認フローを設けることが肝要だ。また、コンテキストウィンドウの適切な分離と、LLMが利用できるツールの厳格な制御が情報漏洩防止に繋がる。
これらのリスクを深く理解し、各攻撃に対して多層的な防御を構築することが、安全で堅牢なLLMアプリケーション開発には不可欠であり、開発者はLLMを過度に信用せず、常にセキュリティを意識した設計を心がけるべきである。