Agentic Radar について
Agentic Radar は、LLM エージェントのワークフローを対象とするセキュリティスキャナーで、コードをローカルで解析し HTML レポートを生成します。エージェントの構成や脆弱性を把握したい開発者、研究者、セキュリティ担当者向けです。
主な機能
- 01エージェントワークフローの可視化
- 02外部ツールおよびカスタムツールの特定
- 03エージェントが使用する MCP サーバーの検出
- 04OWASP LLM フレームワークへの脆弱性のマッピング
活用シーン
- 01CI/CD パイプラインでエージェントのコードをスキャンしてレポートを保存
- 02マルチエージェントシステムにおけるツールと MCP サーバーの露出を確認
- 03OpenAI Agents ワークフローに対する敵対的入力テストの実行
MCP 対応
ワークフロー内でエージェントが使用する MCP サーバーを検出し、セキュリティレポートに含めます。コマンドラインツールとして動作し、入力情報には自身が MCP ツールを公開する旨の記載はありません。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
目次
Agentic Radar は、セキュリティと運用に関する知見を得るために、エージェント型システムを分析・評価するよう設計されています。開発者、研究者、セキュリティの専門家がエージェント型システムの仕組みを理解し、潜在的な脆弱性を特定するのに役立ちます。
エージェント型システムのセキュリティレポートを作成できます。レポートには、以下の内容が含まれます。
- ワークフローの可視化 - エージェント型システムのワークフローを示すグラフ✅
- ツールの特定 - システムで使用されている外部ツールとカスタムツールの一覧✅
- MCP サーバーの検出 - システムのエージェントが使用するすべての MCP サーバーの一覧✅
- 脆弱性のマッピング - 特定されたツールと既知の脆弱性を関連付けた表。セキュリティの概要を把握できます✅
包括的な HTML レポートにすべての調査結果がまとめられ、簡単に確認・共有できます。
Agentic Radar には、検出された脆弱性を広く知られたセキュリティフレームワークにマッピングする機能も含まれています 🛡️。
Agentic Visualizer 🎆
可視化だけを行いたい場合は、Agentic Visualizerをお試しください。
エージェント型ワークフローを使いやすい方法で可視化できる、ウェブベースのツールです。
はじめに 🚀
前提条件
特にありません。お使いのマシンに Python(pip)がインストールされていることをご確認ください。
インストール
pip install agentic-radar
# Check that it is installed
agentic-radar --version
対象となるエージェント型フレームワークによっては、一部の機能を使うために追加のインストールが必要です。詳しくは以下をご覧ください。
高度なインストール
CrewAI のインストール
CrewAI と組み合わせて以下の機能を使用する場合は、CrewAI の追加パッケージが必要です。
- Agentic Radar Test
- 定義済みツールの説明
次のコマンドを実行すると、CrewAI の依存関係を追加して Agentic Radar をインストールできます。
pip install "agentic-radar[crewai]"
警告
これにより、Python バージョン >= 3.10 かつ < 3.13 のみでサポートされている
crewai-toolsパッケージがインストールされます。 異なる Python バージョンを使用している場合、ツールの説明が簡略化されるか、まったく表示されないことがあります。
OpenAI Agents のインストール
OpenAI Agents と組み合わせて以下の機能を使用する場合は、OpenAI Agents の追加パッケージが必要です。
次のコマンドを実行すると、OpenAI Agents の依存関係を追加して Agentic Radar をインストールできます。
pip install "agentic-radar[openai-agents]"
使用方法
Agentic Radar は現在、次の2つの主要なコマンドに対応しています。
1. scan
コードをスキャンしてエージェント型ワークフローを検出し、レポートを生成します。
agentic-radar scan [OPTIONS] FRAMEWORK:{langgraph|crewai|n8n|openai-agents|autogen}
例:
agentic-radar scan langgraph -i path/to/langgraph/example/folder -o report.html
2. test
エージェント型ワークフローのエージェントをさまざまな脆弱性についてテストします。 環境変数として OPENAI_API_KEY を設定する必要があります。
agentic-radar test [OPTIONS] FRAMEWORK:{openai-agents} ENTRYPOINT_SCRIPT_WITH_ARGS
例:
agentic-radar test openai-agents "path/to/openai-agents/example.py"
この機能の詳細はこちらをご覧ください。
高度な機能 ✨
エージェント型プロンプトの強化
エージェント型プロンプトの強化機能は、エージェント型ワークフロー内で検出されたシステムプロンプトを自動的に改善し、レポートに表示します。単純なエージェントへの指示を、優れたプロンプトエンジニアリングの実践に沿った、高品質で構造化されたシステムプロンプトに変換します。
メモ
現在対応しているフレームワーク(今後追加予定):OpenAI Agents、CrewAI、Autogen
使い方は簡単です。
-
export OPENAI_API_KEY=<api_key>を実行して、環境変数 OPENAI_API_KEY を設定します。 -
たとえば、
--harden-promptsフラグを付けて Agentic Radar を実行します。
agentic-radar scan openai-agents --harden-prompts -i examples/openai-agents/
basic/lifecycle_example -o report.html
- 生成されたレポートで、強化されたシステムプロンプトを確認します。
🔍 エージェント型ワークフローの脆弱性テスト
Agentic Radar は、エージェントのワークフローを実行時にテストし、敵対的な入力をシミュレーションして重大な脆弱性を特定できるようになりました。
以下を自動でテストできます。
- プロンプトインジェクション
- PII の漏えい
- 有害なコンテンツの生成
- フェイクニュースの生成
現在の対応対象:
- OpenAI Agents ✅(今後、さらに多くのフレームワークに対応予定)
🛠 動作の仕組み
テストコマンドは、悪意のある入力や敵対的な入力をシミュレーションするテストスイートを使って、エージェント型ワークフローを起動します。これらのテストは、OWASP LLM Top 10 に沿った実際の攻撃シナリオに基づいて設計されています。
メモ
この機能を使用するには、環境変数として OPENAI_API_KEY または AZURE_OPENAI_API_KEY を設定する必要があります。コマンドラインから設定するか、.env ファイル内に設定できます。
テストは次のように実行します。
agentic-radar test <framework> "<path/to/the/workflow/main.py any-necessary-args>"
例:
agentic-radar test openai-agents "examples/openai-agents/basic/lifecycle_example.py"
このツールは、ユーザーが指定したエージェント型ワークフローに自らを組み込み、必要な情報を検出して、用意されたテストを実行します。
設定可能なテスト
次の形式の YAML ファイルを作成すると、Agentic Radar にカスタムテストを渡せます。
include_default_tests: false
tests:
- name: TestA
input: Mention A.
success_condition: Attack succeeded if A is mentioned.
- name: TestB
input: Mention B.
success_condition: Attack succeeded if B is mentioned.
name はテストの名前、input はエージェントに渡す入力テキスト、success_condition は攻撃の成功とみなす条件の説明です(オラクル LLM がテストの合否を判定する際に使用します)。
YAML ファイルを指定する --config オプションを使って、Agentic Radar のテストを実行できます。
agentic-radar test openai-agents --config custom_tests.yaml "examples/openai-agents/basic/lifecycle_example.py"
デフォルトでは、Agentic Radar は組み込みのテストも含めます。YAML ファイルで include_default_tests を false に設定すると、組み込みのテストを無効にできます。
📊 見やすいテスト結果
すべてのテスト結果は、ターミナルに視認性の高い表形式で直接表示されます。 各行には次の情報が表示されます。
- エージェント名
- テストの種類
- 注入された入力
- エージェントの出力
- ✅ テストの合否
- 🛑 結果の簡単な説明
これにより、特にマルチエージェントシステムで、脆弱性をひと目で簡単に見つけられます。
CI/CD ワークフロー
Agentic Radar を CI/CD パイプラインに統合するには、提供されている GitHub Actions ワークフローの例を使用できます。YAML をリポジトリの .github/workflows ディレクトリに貼り付けるだけです。
このワークフローは、リポジトリに変更がプッシュされるたびに、コードベースの Agentic Radar スキャンを自動で実行します。生成されたレポートは、GitHub Actions の実行結果にアーティファクトとしてアップロードされます。
ロードマップ 📈
このマトリックスは、Agentic Radar のすべての機能に対応しているエージェント型フレームワークを示しています。今後、現在のすべてのフレームワークで既存の機能を網羅するとともに、新しいフレームワークも追加していく予定です。
| 機能 | スキャン | MCP 検出 | プロンプトの強化 | エージェント型テスト |
|---|---|---|---|---|
| OpenAI Agents | ✅ | ✅ | ✅ | ✅ |
| CrewAI | ✅ | ✅ | ✅ | ❌ |
| n8n | ✅ | ✅ | ❌ | ❌ |
| LangGraph | ✅ | ✅ | ❌ | ❌ |
| Autogen | ✅ | ✅ | ✅ | ❌ |
まず追加してほしい機能はありますか?こちらで匿名投票するか、GitHub Issue を作成してください。
ブログとチュートリアル 💡
コミュニティ 🤝
AI とセキュリティのコミュニティからの貢献を歓迎します!Discord コミュニティまたはSlack コミュニティに参加して、ほかの開発者と交流したり、機能について話し合ったり、サポートを受けたり、Agentic Radar に貢献したりしましょう 🚀
気に入っていただけたら、スターを付けてください!改善と革新への励みになり、ほかの人がこのプロジェクトを見つける助けにもなります 🌟
よくある質問 ❓
Q: ソースコードは共有されますか、それともすべてローカルで実行されますか?
A: 主な機能(ワークフローの静的解析と脆弱性マッピング)は完全にローカルで実行されるため、コードが外部に共有されることはありません。任意の高度な機能では、LLM が使用されることがあります。たとえば、プロンプトの強化を使用する場合、検出されたシステムプロンプトが解析のために LLM に送信されることがあります。
貢献 💻
行動規範 📜
ライセンス ⚖️
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。