MicrosoftのPyRIT(Python Risk Identification Tool)は、Azure環境における自動化偵察のために設計された新しい攻撃的セキュリティツールです。GPT-4によるAI主導のガイダンスと従来のクラウド列挙技術を組み合わせることで、レッドチーム活動の初期段階を迅速化します。

PyRITが他と異なるのは、オープンソースでMicrosoftが支援している点だけではありません。環境ごとの発見に基づいて偵察経路を提案する生成AIを活用した初のツールです。攻撃者・防御者の双方にとって、クラウドインフラ内で偵察を自動化・文脈化・適応化する新たな手法をもたらします。
PyRITの機能
PyRITは偵察に特化しており、エクスプロイト(攻撃)を行いません。その目的は、設定ミス、未使用のID、漏洩したシークレット、過剰な権限を持つロールなど、Azure環境内のリスクのある構成を発見することです。
ワークフローは以下の通りです:
- Azureテナントに接続(認証情報またはトークン経由)
- ID、ロール、リソースのメタデータを取得
- データをGPT-4に渡し、適応的なクエリ連鎖を実行
- 優先度付きの偵察経路を受け取る(例:「Key Vaultのアクセス ポリシーを列挙」「ロール割り当てのループを確認」など)
すべての出力は人間が読める形で説明され、レッドチームやセキュリティエンジニアに理由を明確に伝えます。
インストール方法
PyRITにはPython 3.10以降、Azure CLI、OpenAIのGPT-4 APIへのアクセスが必要です。
git clone https://github.com/Azure/PyRIT.git cd PyRIT pip install –r requirements.txt |
また、Azureで認証する必要があります:
そしてOpenAI APIキー(GPT-4が必要)を設定します:
export OPENAI_API_KEY=sk–... |
レッドチームでのユースケース
クラウドファーストの組織は、セキュリティレビューよりも速いペースで進化する大規模で複雑なAzure環境を持つことがよくあります。まさにそこにPyRITがフィットします。
PyRITの活用例:
- 永続化メカニズムを導入する前にクラウドターゲットを事前評価
- 悪用可能なロール割り当て経路を発見(例:App RegistrationsからKey Vaultsへの権限昇格)
- IDの設定ミスや休眠中のアクセストークンを特定
- クラウド特有の攻撃チェーンのキャンペーン計画を加速
ROADtoolsやStormspotterのような列挙スクリプトと比べ、PyRITはより論理的アプローチを採用し、AIレイヤーを活用して意図や攻撃経路を強調します。単に生データを出力するだけではありません。
検知とブルーチームへの影響
PyRITは標準のAzure SDKおよびCLIコールを利用するため、IOC(侵害の兆候)の観点では比較的静かです。しかし、防御側は以下のことが可能です:
- サブスクリプション、ロール、ポリシーの繰り返しまたは自動化されたリスト化を検知
- OpenAI APIの利用を内部トラフィックと相関(APIプロキシがある場合)
- PyRITが生成するユーザーエージェントやアクセストークンを監視
さらに重要なのは、ブルーチームがこのツールを自社テナントに対して実行し、GPT-4をセキュリティインターンのように活用して、簡単に修正できる設定ミスを指摘させることができる点です。
制限事項
- GPT-4 APIアクセスが必須(ローカルモデルへのフォールバックなし)
- 現時点ではAzureのみ対応(AWS/GCPは未対応)
- 出力を活用するにはAzure内部の十分な理解が必要
まとめ
PyRITは生の列挙とガイド付き偵察のギャップを埋めるツールです。APIコールを乱発するのではなく、考えながら実行する——AIが意外と得意とする分野です。
クラウドネイティブかつAzure中心の環境で活動するレッドチームは、このツールを真剣に検討すべきです。また、防御側にとっても、今後数年で攻撃者の自動化がどのように進化するかを垣間見ることができます。
詳細やダウンロードはこちら:https://github.com/Azure/PyRIT
読者とのやりとり