FEAT: A2ATarget for Agent-to-Agent (A2A) protocol endpoints
まだ誰も着手していません。
評価
- 難易度
- 5/5
- 見積もり時間
- 1週間以上
- 初心者へのやさしさ
- 35/100
調査の方向性
Start by reviewing the implementation referenced in #2771 and the existing prompt-target patterns in PyRIT. Confirm how the target should handle A2A 0.3 and 0.2 requests, context and task lifecycles, rate-limit retries, and JSON-RPC errors; done means these behaviors are covered by tests against the stated requirements.
索引モデルが issue の本文から書いたものです。
説明
Is your feature request related to a problem? Please describe.
More and more agents are deployed behind the Agent-to-Agent (A2A) protocol, for example Microsoft Foundry Agent Service incoming A2A endpoints and Google ADK agents. For a caller, A2A is often the only way in to such an agent, and it sits in front of the agent's server-side instructions, platform guardrails and tools. PyRIT has no target for A2A today, so red-teaming these agents needs a custom HTTPTarget setup that can't follow A2A's task lifecycle or keep an agent's context across turns.
Describe the solution you'd like
An A2ATarget prompt target that:
- speaks A2A 0.3 (
message/send) over JSON-RPC, with a fallback to 0.2 (tasks/send) - maps each PyRIT conversation to one A2A context, so multi-turn attacks keep the agent's own server-side state
- handles the task lifecycle: blocking sends, polling pending tasks, continuing tasks that are waiting for input
- retries rate limits with
pyrit_target_retry, including rate limits the agent relays from its model - returns JSON-RPC errors as PyRIT error responses rather than agent text
Describe alternatives you've considered, if relevant
HTTPTarget with a JSON template works for single requests, but it can't manage A2A context IDs, poll pending tasks, or tell a JSON-RPC error apart from an agent reply.
Additional context
I have an implementation in #2771, tested against a Microsoft Foundry prompt agent with incoming A2A enabled.
- 主要言語
- Python
- スター
- 4.5k
- フォーク
- 896
- 平均マージ
- 3日 8時間
- マージ済み PR(30日)
- 191
コントリビューションガイド
このリポジトリのコントリビューションガイドは索引されていません
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
microsoft/PyRIT のほかの issue
-
BUG HarmBench loader drops ContextString, so contextual behaviors are sent without their context オープン
難易度 2/5 1〜3時間 初心者へのやさしさ 74/100
-
難易度 2/5 1〜3時間 初心者へのやさしさ 78/100
-
難易度 2/5 1〜3時間 初心者へのやさしさ 82/100
-
難易度 2/5 1〜3時間 初心者へのやさしさ 78/100
-
難易度 3/5 1〜2日 初心者へのやさしさ 68/100
microsoft/PyRIT の issue をすべて見る
似ている issue
-
agent-ready documentation needs-triage
難易度 1/5 1〜3時間 初心者へのやさしさ 88/100
-
documentation
難易度 1/5 1時間未満 初心者へのやさしさ 91/100
-
workflow-status page template still says reusable workflows are "triggered only by workflow_call:" オープン
難易度 1/5 1時間未満 初心者へのやさしさ 92/100
-
instance instance add
難易度 1/5 1時間未満 初心者へのやさしさ 72/100
searxng/searx-instances#939 · コメント 1 件 ·
-
area-deployment area-integrations triage:bot-seen
難易度 2/5 半日 初心者へのやさしさ 86/100