セキュリティリスクの検出
15分注:このセクションのワークショップでは、複数のファイルを変更する必要があります。 変更箇所がわからない場合やアプリケーションが動作しなくなった場合は、
~/workshop/agentic-ai/app-with-security-riskフォルダにあるこのセクションの モデルソリューションを参照してください。
前のセクションでは、アプリケーションエージェントの1つの出力に品質問題を注入するラッパーを追加しました。
このセクションでは、同様の手順でセキュリティリスクを作成します。
そして、これらのリスクがSplunk Observability Cloudでどのように表示されるかを紹介します。
Activity Specialist の出力を汚染する
activity specialistエージェントを修正してこのラッパーを使用し、LLMの出力を変更しましょう。
~/workshop/agentic-ai/base-app/main.py ファイルを編集用に開きます。
activity_specialist_node 関数を以下のようにラッパーを使用するように修正します。これは、LLMがレスポンスの一部としてユーザーのクレジットカード番号を含めるシナリオを効果的にシミュレートするもので、明確なセキュリティリスクおよびPCI違反です。
ヒント:以下のコマンドを実行して、変更内容をモデルソリューションと比較できます
diff ~/workshop/agentic-ai/base-app/main.py ~/workshop/agentic-ai/app-with-security-risk/main.py
更新されたDockerイメージをビルドする
新しいタグで更新されたDockerイメージをビルドします
Kubernetesマニフェストを更新する
~/workshop/agentic-ai/base-app/k8s.yaml ファイルを編集用に開き、セキュリティリスクを含むイメージを使用するようにイメージを更新します
更新されたアプリケーションをデプロイする
以下のようにマニフェストファイルを使用して更新されたアプリケーションをデプロイできます
Kubernetesでアプリケーションをテストする
新しいアプリケーションPodが正常に起動し、古いPodがなくなっていることを確認します
次に、以下のコマンドを実行してアプリケーションをテストします
Cisco AI Defenseでイベントを確認する
AI Defenseアプリケーションに直接ログインすると、リクエストに対してイベントが記録され、AI Defenseがプロンプトに含まれたクレジットカード番号を自動的にマスキングしたことが確認できます
AI Defenseではポリシーを設定して、特定の種類のセキュリティ問題を監視するかブロックするかを指定できます。この場合、PCI関連の問題を監視するのみに設定しています。
Splunk Observability Cloudでデータを確認する
Splunk Observability Cloudに戻って、トレースがどのように表示されるか確認しましょう。
APM に移動し、AI agents を選択します。環境名が選択されていることを確認してください(例agentic-ai-$INSTANCE)。ページにセキュリティリスクが表示されるようになっていることがわかります。
AI overviewページやplan_synthesizerエージェントのAI agentページでもセキュリティリスクが表示されるはずです。
APM -> AI trace data に移動し、最新のトレースを読み込みます。
エージェントフローで、セキュリティリスクが検出されたことが確認できます
activity_specialist エージェントの invoke_agent スパンを見ると、LLMがレスポンスにお客様のクレジットカード番号を平文で含めたため、PCIセキュリティリスクが検出されブロックされたことがわかります
セキュリティリスクをクリックすると、追加の詳細情報と、Cisco AI Defenseでイベントを表示するためのリンクが表示されます
また、このスパンの Span details を表示すると、gen_ai.security.event_id 属性がこのスパンに含まれていることが確認できます
この属性により、Splunk Observability Cloudのスパンと、Cisco AI Defenseの対応するイベントを関連付けることができます。





