Microsoft Foundry(Azure AI Foundry)でAIのセキュリティを評価する

はじめに

生成AIのセキュリティを検証、強化するための手法にレッドチーミングというものがあります。これはAIが弾くべき攻撃的なプロンプトを多数送信し、それらが受理されたかによってAIの脆弱性をテストするというものです。
このレッドチーミングを行うためには

  • 攻撃のためのプロンプトを用意する
  • プロンプトを一斉送信する
  • 攻撃が成功したかどうかを判定する
  • 攻撃成功率などのメトリクスを計測し記録する

といった工程が必要になりますが、これらを一貫して行うのは難しいです。そのため、商用・オープンソース問わずレッドチーミングを行うためのフレームワークが各所から提供されているのですが、Microsoftもその一つであるPyRITを無料で公開していました。そして先日、Microsoft Foundryを操作するためのPython SDKに、プレビュー機能として組み込まれ、Foundry上のモデルを対象にしたり、レッドチームの結果を記録するといったことが可能になりました。

この記事では、Microsoft Foundryにてレッドチーミングの実行と記録を管理する方法について解説します。

Microsoft Foundry とは

Microsoft Foundryはもともと、Azure Open AI ServiceとしてGPTをはじめとするOpenAI製のモデルを提供するためのサービスだったものが、ClaudeやDeepseekなど他社製のモデルも利用可能になり、さらにAIエージェントをGUI上で作成するなど生成AIに関する包括的な機能を備えたポータルとなったものです。

実は最近までこちらはAzure AI Foundry(studio)という名称だったのですが、名称が変わると共にUIがリニューアルされました。現在、Microsoft Foundryの新UIはプレビュー中で、ツールバー上から新旧UIを自由に切り替えることが可能です。
FoundryUI

レッドチーミング関連の機能は、GUI上では「評価」タブにまとめられています。こちらでは直接デプロイ済みのモデルを選択してそのままテストを実行することができ、またPython SDKを用いて実行したテストについても結果が記録され、様々なリスク別の攻撃成功率などのメトリクスを確認することができます。

2025-12-07_22h24_36.png

さて、GUI外からテストを実行するためのSDKですが、MS Learnのドキュメントには現在「Azure AI Evaluation SDK」と「Microsoft Foundry SDK」の2種類について記載があり、さらに調べるとEvaluation SDKは従来のAzure AI Foundryに対応していたのに対し、Foundry SDKは新しいMicrosoft Foundry向けに作られているようでした。

新旧Foundryの違い

(2025年12月7日現在)

バージョン Microsoft Foundry Azure AI Foundry
使用するSDK Microsoft Foundry SDK Azure AI Evaluation SDK
SDKのベース OpenAI Evals PyRIT
主な対象 Azure上にデプロイしたエージェント/モデル ローカル/HTTPエンドポイントのモデル
主な実行方法 FoundryのGUI上で一貫したエージェントの作成から実行 SDKとローカルファイルを用いての攻撃条件の設定→エンドポイントへの接続
日本語対応状況 現時点でUIからの設定は未実装 SDK上で言語設定が可能

同時点で、Azure AI Evaluation SDK(azure.ai.evaluation.red_teamを使う方)から実行した結果は新しい方のMicrosoft FoundryのGUIから確認することが出来ないので、GUI上でのエージェントを設計する、クラウド外のモデルを検証するなど目的に応じた使い分けが現時点では必要な状況です。

ローカルでモデルを評価する(旧Foundry向け)

ここでは実際にEvaluation SDKでレッドチーミングを行う際のコードの例を示します。

さて、レッドチームの実行の際にはプロンプトを入力し、モデルの出力を返す関数をコールバックとして指定する必要があります。
例えば、動作確認をするために固定の回答しか返さないようにするのであれば以下のようになります。

デフォルトでは「ヘイトと不公平性」「自傷行為」「性的」「暴力」の4カテゴリについてプロンプトが生成されます。引数で特定のカテゴリを指定することもできます。

実行するとローカルフォルダ内にログファイルが生成され、この中から生成されたプロンプトを確認することもできます。
logfiles

おわりに

今回はMicrosoft Foundryを利用したレッドチーミングのやり方について調査したことをまとめようと記事を書いたのですが、調べるうちに新旧のUIや複数存在するSDKなどの情報によって混乱してしまいました。最終的には上述の通り自分の中ではまとまったので、今のところは、何を対象に、どこで構築するかで考えていきたいと思います。

参考文献

この記事を書いた人

azure-recipe-user