강의

챌린지

멘토링

로드맵

커뮤니티

FastAPI LLMセキュリティ実践:プロンプトインジェクション・料金爆弾・ツール権限をコードで防ぎ、セキュリティテスト50件をCIゲートにする

FastAPIに組み込んだチャットボット・RAG・ツール呼び出しを、プロンプトインジェクション・料金の急増・権限の不正利用から守ります。依存関係・ミドルウェア・ツールのコードで防御し、pytestと50件のセキュリティテストで検証。GitHub Actionsのゲートでリリースを判断します。API料金なしで84件の実習を完了できます。

2名 が受講中です。

難易度 初級

受講期間 無制限

Python
Python
Chatbot
Chatbot
FastAPI
FastAPI
LLM
LLM
LangChain
LangChain
Python
Python
Chatbot
Chatbot
FastAPI
FastAPI
LLM
LLM
LangChain
LangChain

受講後に得られること

  • プロンプトインジェクションをFastAPIの依存関係・LangChainミドルウェア・出力スキーマで防ぐ能力

  • ユーザーごとのレート制限とトークン上限で、LLM APIの料金爆発を防ぐ設計

  • ツール呼び出しにおいて、所有権確認・承認キュー・SSRF防御・MCP許可リストを設定する能力

  • 偽のLLMを使って、毎回同じ結果が得られるpytest攻撃テストを書く方法

  • セキュリティ試験問題50問・ルール判定器・LLM採点者を備えた、アプリの外でテストする評価キット

  • GitHub Actionsのリリースゲートとリリース判断レポート・チェックリスト20項目

  • 要約教材・実習ガイド・チェックリスト・コマンド集と、そのまま動くサンプルリポジトリ

この講義の基礎概念の説明は、こちらで先にご確認ください。https://velog.io/@bumicklee/series/owasp-llm


【AI音声案内】

  • すべての授業の音声はAIナレーターによって制作されました。

【講義概要と核心的な問い】

  • 問題状況:pytestはすべて通過したものの、実際の相談ボットで露出してはいけない割引コードが回答として出力される状況。

  • 講義の目的:「どこで防ぐべきだったのか?」、「なぜ既存のテストでは気づけなかったのか?」という2つの問いに、コードで答えを示します。

【講義で扱う重要な3ステップ】

  1. 防ぐ:プロンプトインジェクション、RAGの指示文漏洩、課金爆弾、他人の注文のキャンセル、SSRF、個人情報の漏洩などを、FastAPIの依存関係、LangChainのミドルウェア、ツールのコードで防止する

  2. 試験する:アプリ内部(pytest)および外部セキュリティテストの問題50問で検証し、回答の揺らぎは合格率で算出する】【。

  3. リリースする:GitHub ActionsのゲートでPRを通過させ、リリース判断レポート1枚でリリース可否(可能/条件付き/保留)を決定する。

【講義の差別化ポイント】

  • 単純なLLM作りや一般的な評価にとどまらず、「防止+試験+リリース」の全工程を扱う。

  • セキュリティテスト問題50問、料金の急増を防ぐ対策(レート制限、トークン上限)、CIゲートおよびリリース判断レポートを提供

  • 設定ファイルを変更するだけで、別のチャットボットアプリにも同じセキュリティテストを適用可能

【授業の構成方法】

  • 全14セクション、84レッスン(約6時間50分)

  • 1テーマずつ短く構成し、各レッスンの最初の15秒で成果画面または重要な問いを先に提示する。

【カリキュラム概要】

  • 第1部 始める(セクション1):完成版の確認、ラボの起動、リクエストの流れの把握

  • 第2部 防ぐ(セクション 2〜6):プロンプトインジェクション、RAG攻撃、料金爆弾、ツール呼び出し権限/MCP、出力および個人情報のマスキングによる遮断

  • 第3部 テスト(セクション7〜11):pytest攻撃テスト、セキュリティ試験50問、ルール/LLM採点官、合格率の算出と評価ツールの活用

  • 第4部 リリース・運用(セクション12~14):CIリリースゲートの構築、リリース判断レポート/チェックリスト、総合演習(クーポン発行ツールの防御/リリース)

この講義の基礎概念の説明は、こちらで先にご確認ください。https://velog.io/@bumicklee/series/owasp-llm

こんな方に
おすすめです

学習対象は
誰でしょう?

  • FastAPIでチャットボット・RAGを組み込んだものの、「このままデプロイしても大丈夫か?」という疑問が残るPythonバックエンド開発者

  • LangChainエージェントにツールを接続したものの、他人のデータに触れてしまわないか不安な開発者

  • 外部LLM APIの料金が一晩で急騰しないかと心配する、個人サービスの運営者

  • LLM機能のPRを何を基準に承認すればよいのか分からないQA・チームリード

  • 回答が毎回変わるLLMの機能を、どうテストすればよいか途方に暮れている方

前提知識、
必要でしょうか?

  • FastAPIで簡単なREST APIを作成した経験が必要です。

  • Python 3.11以上をインストールし、仮想環境(venv)を作成できる必要があります。

  • LLM APIを一度でも呼び出した経験があると望ましいです。LangChainは1-7の授業で必要な分を復習します。

  • gitとターミナルの基本コマンドを使える必要があります。GitHub Actionsについては、セクション12で基礎から説明します。

  • 外部LLM APIキーは不要です。基本実習では偽のLLMサーバーを使います。

こんにちは
brunoleebi8302です。

キャリア認証

IT業界が激動の時代を迎えていたY2Kの頃、サーバー開発者として第一歩を踏み出した。その後、さまざまな業種の現場で開発者とインフラエンジニアの役割を行き来しながら、技術の基礎から複雑なインフラエコシステムまで、身をもって習得してきた。数多くのシステムを構築・改善してきた経験を土台に、近年はITセキュリティおよび融合技術の領域で新たな価値を生み出している。

カリキュラム

全体

85件 ∙ (6時間 9分)

講座資料:

授業資料
講座掲載日: 
最終更新日: 

受講レビュー

まだ十分な評価が集まっていない講座です。
ぜひ最初のレビューをお寄せください。

似ている講座

同じ分野の他の講座を見てみましょう!

期間限定セール

¥55,000

37%

¥11,124