Featured image about attacks on multi-agent systems, A2A, rogue agents, and agent-card spoofing in offensive AI security.

Attacking Multi-Agent Systems: Rogue Agents and A2A

This article is written with an authorized-lab focus. The goal is to demonstrate defensive-offensive tradecraft around multi-agent systems, agent registries, agent cards, delegation, shared memory, and the A2A protocol, always with safe commands, simulated output, and observable evidence.

Executive Summary

In real AI Red Team assessments, multi-agent systems, agent registries, agent cards, delegation, shared memory, and the A2A protocol rarely appear in isolation. They emerge as part of a chain: an exposed API, a retrieved document, a tool with excessive permission, a notebook with a cloud role, or a delegation flow that nobody audited end to end. The risk is not only that the model responds incorrectly; it is that the system turns text, context, and trust into action.

The purpose here is not an academic explanation. The focus is how an operator identifies opportunity, collects evidence, executes controlled tests, interprets responses, understands failures, and delivers reproducible proof to the defensive team.

Attacker Mindset

An experienced operator starts by looking for boundaries: where untrusted data enters, where it is transformed, where it gains authority, and where it leaves traces. The operational question is simple: which low-trust input can influence a high-trust decision?

  • Target asset: multi-agent systems, agent registries, agent cards, delegation, shared memory, and the A2A protocol.
  • Offensive hypothesis: there is a weak transition between input, context, decision, and action.
  • Minimum evidence: request, response, trace/log, persisted artifact, and controlled impact.
  • Stopping criterion: demonstrate risk without causing damage, real exfiltration, or irreversible change.

Technical Anatomy

The anatomy below shows the relevant components that need to be mapped before any exploitation. In the field, I treat every box as a potential source of evidence and every arrow as a trust boundary.

Flowchart of the technical anatomy of multi-agent systems, showing system components and trust boundaries.
Technical anatomy — Multi-Agent Systems: components and trust boundaries that should produce auditable evidence.
Component What to observe Useful evidence
orchestrator Permissions, data origin, schema, error messages Trace ID, logs, headers, artifact IDs
planner agent Permissions, data origin, schema, error messages Trace ID, logs, headers, artifact IDs
executor agent Permissions, data origin, schema, error messages Trace ID, logs, headers, artifact IDs
reviewer agent Permissions, data origin, schema, error messages Trace ID, logs, headers, artifact IDs
agent registry Permissions, data origin, schema, error messages Trace ID, logs, headers, artifact IDs
agent card Permissions, data origin, schema, error messages Trace ID, logs, headers, artifact IDs

Reconnaissance and Discovery

The discovery phase must generate artifacts. It is not enough to “suspect there is AI”; you need to prove endpoints, schemas, headers, components, and behavior.

Practical Example

Goal: Enumerate published agent cards.

Command:

curl -sk https://paulo.seg.br/.well-known/agent-card.json | jq

Expected output:

{"name":"paulo.seg.br AI Agent","version":"0.4.2","capabilities":["summarize:docs","search:kb","generate:report"],"auth_required":false}

Analysis: Public card with no authentication. Three exposed capabilities — any of them can become a spoofing target. The operator records it as candidate surface.

Practical Example

Goal: Map A2A routes.

Command:

curl -sk https://paulo.seg.br/a2a/agents | jq ' .agents[].name'

Expected output:

{"agents":[{"name":"planner","trust":"high"},{"name":"executor","trust":"high"},{"name":"qa-helper","trust":"unverified","routing":true}]}

Analysis: qa-helper has unverified trust with active routing. The orchestrator is willing to delegate tasks to unverified agents — open registration confirmed.

Practical Example

Goal: Register a canary agent in the lab.

Command:

python3 rogue_agent_lab.py register --name qa-helper --callback http://127.0.0.1:9000/a2a

Expected output:

{"agent_id":"ag_canary_a1b2","trust":"unverified","routing_enabled":true}

Analysis: routing_enabled:true with unverified trust. The operator now has a canary agent in the system — the next step is to test whether real tasks are routed to it.

Exploitation in Practice

This section replaces the earlier repetitive block with a progressive lab flow: confirm the surface, execute a canary, collect telemetry, and iterate one variable at a time.

Step 1: Discover the A2A registry

Goal: Verify whether external agents can advertise capabilities.

Controlled action: Read the agent card and registration endpoint in the lab.

Expected result: The response exposes capabilities, registration mode, and trust policy.

Evidence for the report: Agent card, capabilities, and registration endpoint.

Step 2: Register a canary agent

Goal: Measure routing without capturing real tasks.

Controlled action: Register a controlled agent with a harmless capability.

Expected result: The registry returns an agent_id and trust level.

Evidence for the report: agent_id, trust, and registry logs.

Step 3: Test capability spoofing

Goal: Validate whether the orchestrator trusts the agent card too much.

Controlled action: Add a sensitive capability and observe validation.

Expected result: The improper capability is denied before routing.

Evidence for the report: Blocked capability and triggered rule.

Step 4: Audit delegation

Goal: Prove why a task was sent to an agent.

Controlled action: Query the delegation trail by agent_id.

Expected result: The audit trail shows origin, destination, task, and reason.

Evidence for the report: Delegation chain, routing reason, and task content.

Full Attack Chain

Flowchart of the multi-agent systems attack chain, showing controlled test steps and evidence collection.
Attack chain — Multi-Agent Systems: controlled steps to demonstrate causality with logs, canaries, and impact without damage.

The important point of the chain is not to “run every step”; it is to demonstrate that a small flaw can become impact when combined with excessive trust, automation, and weak telemetry.

Evidence and Telemetry

Every serious exploitation exercise must end in evidence. Below are examples of logs I would expect to see in a minimally instrumented environment.

a2a.register agent=qa-helper trust=unverified routing=true requester=dev-token-12
Source Expected event Blue Team use
API Gateway path, user, status, trace_id Correlate external input with internal execution
Application/Orchestrator decision, model, context, tool_calls Understand why the system acted
SIEM/EDR/Cloud credential, role, IP, accessed resource Confirm impact and scope
Component audit log doc_id, score, agent_id, tool_call_id Reconstruct causal chain

Most Common Defender Mistakes

  • Monitoring only prompts while ignoring documents, tools, agents, and jobs that influence the decision.
  • Trusting textual allowlists without validating the effective action outside the model.
  • Failing to record artifact IDs, scores, tool_call_id, or agent_id, making investigation inconclusive.
  • Treating AI security as a data-team problem while IAM, API, Cloud, and AppSec remain outside the threat model.
  • Allowing permanent security exceptions in test or ML environments.

Technique Limitations

Not every hypothesis becomes exploitation. In mature assessments, the most common obstacles are strong tenant isolation, authorization enforced outside the model, rich logs, aggressive rate limiting, schema validation, artifact signatures, and human review for irreversible actions.

Obstacle Impact for the attacker How to work around it ethically in a lab
Tenant isolation Reduces lateral reach Use approved test accounts and data
Rigid schema Blocks unexpected arguments Validate documented fields and report potential abuse
Strong auditing Increases detection risk Use a coordinated window with the Blue Team
Artifact signing Prevents silent tampering Test only verification flaws in a cloned environment

Field Notes

In multi-agent systems, the bug often lives in delegation: nobody knows exactly who decided.

Agent card spoofing works better when the name looks like an internal function, not like an attacker.

Without agent-card signing, DNS/hosts and service discovery become identity control.

Another recurring lesson: the evidence that convinces is not the model response itself, but the full chain of causality. When the report shows input, transformation, decision, action, and log, the discussion stops being opinion and becomes engineering.

Conclusion

Multi-agent systems, agent registries, agent cards, delegation, shared memory, and the A2A protocol should be treated as modern enterprise attack surface, not as AI curiosity. The Red Team operator needs to prove impact safely; the defender needs to see every transition between data, context, identity, and action.

The practical recommendation is to create reproducible test cards, instrument decision points, and review integration permissions. In AI Red Teaming, the control that matters is the one that keeps working when the input comes from outside, the context comes from documents, and the action exits through a tool with real identity.

📚 Also Read


FAQ

Is this offensive content?

It is AI Red Team content for authorized environments, with safe examples and simulated output.

What evidence should I collect first?

Request, response, trace ID, orchestrator log, and influenced artifact.

How do I avoid false positives?

Use canaries, change one variable at a time, and validate in the log that the tested component actually participated in the decision.

Does a secure model solve it?

No. The chain includes RAG, tools, IAM, agents, APIs, cloud, and telemetry.

Where should this be applied?

In internal labs, authorized assessments, threat modeling, and Blue Team/AppSec validations.

Disclaimer: use only in your own environments, labs, or formally authorized scopes. The examples are safe, simulated, and intended for defensive validation.

💜 Enjoyed this content? Support the blog with USDT (TRC20):

TX7obcjHQbDUXb4mGqoASEu1QFTKT2CFGG

View support page

Paulo Rigonato

Security Engineer | Red Team | Pentest

Offensive security specialist with experience in assessments, pentesting, and Red Team operations. He works in enterprise cybersecurity and continues to share knowledge through this blog.

Certifications: OSCP | eWPTXv2 | ITILv4

💻 GitHub 🔗 LinkedIn

Similar Posts