FEAT: A2ATarget for Agent-to-Agent (A2A) protocol endpoints
Chưa có ai nhận issue này.
Đánh giá
- Độ khó
- 5/5
- Thời gian dự kiến
- Hơn một tuần
- Mức phù hợp với người mới
- 35/100
Hướng nghiên cứu
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.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Mô tả
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.
- Ngôn ngữ chính
- Python
- Star
- 4.5k
- Fork
- 896
- Merge trung bình
- 3 ngày 8 giờ
- Pull request đã merge (30 ngày)
- 191
Hướng dẫn đóng góp
Chưa lập chỉ mục được hướng dẫn đóng góp cho kho mã nguồn này
Bắt đầu từ đâu
- Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
- Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
- Fork repository và làm thay đổi trên một nhánh.
- Mở pull request có tham chiếu số hiệu của issue.
Issue khác của microsoft/PyRIT
-
BUG HarmBench loader drops ContextString, so contextual behaviors are sent without their context Đang mở
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 74/100
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 78/100
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 82/100
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 78/100
-
Độ khó 3/5 1-2 ngày Mức phù hợp với người mới 68/100
Tất cả issue của microsoft/PyRIT
Issue tương tự
-
agent-ready documentation needs-triage
Độ khó 1/5 1-3 giờ Mức phù hợp với người mới 88/100
-
documentation
Độ khó 1/5 Dưới một giờ Mức phù hợp với người mới 91/100
-
workflow-status page template still says reusable workflows are "triggered only by workflow_call:" Đang mở
Độ khó 1/5 Dưới một giờ Mức phù hợp với người mới 92/100
-
Add https://search.jeremyh.xyz/ Đang mởinstance instance add
Độ khó 1/5 Dưới một giờ Mức phù hợp với người mới 72/100
searxng/searx-instances#939 · 1 bình luận ·
-
area-deployment area-integrations triage:bot-seen
Độ khó 2/5 Nửa ngày Mức phù hợp với người mới 86/100