【Microsoftの生成AI用セキュリティ対策ツール】PyRITとは?使い方も説明
2024年2月22日、マイクロソフトが生成AIのセキュリティテストを自動化するフレームワークを公開しました。
そのツールこそが「PyRIT」です。
PyRITとは「Python Risk Identification Toolkit for generative AI」の略で、日本語では「生成AIのためのPythonリスク特定ツールキット」となります。
1. PyRITは何をしてくれるの?
セキュリティ専門家や機械学習を行うエンジニアが生成AIのセキュリティリスクを発見できるようにサポートするのがPyRITの役割です。
PyRITはLLM(大規模言語モデル)が生成する可能性のある「ハルシネーション」や爆弾や銃の作り方といった危険を伴うコンテンツの生成へのリスクを評価してくれます。
また、マルウェアの生成や脱獄など個人情報漏洩に関わるリスクの特定もPyRITが行います。
マイクロソフトは2018年に「AIレッドチーム」と呼ばれる精鋭のハッカーチームを設立しました。そのチームは、AIシステムに脆弱性がないかを調査し、システムの不具合を事前に見つけ出すことを専門にしています。
そのマイクロソフトのAIレッドチームが発表したのがこのPyRITというセキュリティーテストを自動化してくれるツールです。
2. PyRITはどういう仕組み?
PyRITは対象となる生成AIに悪質なプロンプトを送り、その生成AIの返答をPyRITのスコアリングエンジンで評価する仕組みです。
さらに、PyRITのスコアリングエンジンからの評価をもとに、生成AIにプロンプトを送ることができるので、客観的なデータを集めながら生成AIのパフォーマンスの向上につながります。

(引用元:PyRITテクニカルレポート)
↑PyRITの仕組みを図にしたもの。
3. なぜ自動化されたセキュリティ対策が必要なのか。
特に昨今、生成AIが世間をにぎわせていることから、生成AIへのハッキングリスクがこれまで以上に高まっています。
セキュリティに対する知識、生成AIの仕組み、ハッカーが行うであろう敵対的機械学習、倫理性などさまざまな要素に対する理解を深めなければなりません。
まず、生成AIのセキュリティ対策が従来のソフトウェアのセキュリティ対策大きく異なる点は、AIシステムの脆弱性を発見することが必要になるということに加え、AIが生成するコンテンツが不正確な情報ではないか確認する必要があるという点です。
また、生成AIはテキストのみならず、画像や音声、動画など複数のフォーマットで入出力ができる場合があり、セキュリティー対策にかかる工数が大きく増えることがあります。
かならずしも、生成AIにセキュリティ対策の自動化が必要というわけではありませんが、決められたルーティンタスクを行ったり、潜在的なリスクのある領域の特定においてセキュリティ対策自動化が役立ちます。
PyRITがマイクロソフトでどのように使われているか
2022年から、PyRITはマイクロソフトのさまざまなAIシステムのリスクを評価するために活用されてきました。今では、AIレッドチームから信頼性されているツールの一つです。
その1つの例が、マイクロソフトでは、「Copilot」の脆弱性を評価するためにPyRITが使われていました。「害のあるカテゴリー」を1つ選び、数千にも及ぶ悪意のあるプロンプトを入力し、PyRITでCopilotの生成したコンテンツを数値で評価することを行いました。
PyRITを使っていなければ数週間にわたるセキュリティ評価が、わずか数時間で終わったとマイクソフトは伝えています。
PyRITは手作業のセキュリティチェックを取って替わるものではないものの、時間がかかる作業を自動化し、効率性を高めてくれるサポートをしてくれます。
4. PyRITのインストールの仕方
主なPyRITの使い方はマイクロソフトのGithubから確認ができます。
今回説明するのはPyRITを使ってLLMを使ったAIシステム上のリスクを特定するためのフレームワークを紹介します。また、大まかな流れはこちらからご確認ください。
大まかな流れを説明すると、まずこちらのページからPyRITをインストールします。
PyRITをインストールするにはPython 3.10が先にインストールされている必要があります。
下記のコードからコンダ環境を作ります。