Skip to content

feat: AVE-2026-00065 -- A2A agent card poisoning via embedded adversarial instructions - #96

Merged
chaksaray merged 1 commit into
developfrom
feat/AVE-2026-00065-a2a-agent-card-poisoning
Jul 29, 2026
Merged

feat: AVE-2026-00065 -- A2A agent card poisoning via embedded adversarial instructions#96
chaksaray merged 1 commit into
developfrom
feat/AVE-2026-00065-a2a-agent-card-poisoning

Conversation

@chaksaray

@chaksaray chaksaray commented Jul 28, 2026

Copy link
Copy Markdown
Contributor

Summary

AVE-2026-00065: A2A agent card poisoning via embedded adversarial instructions (HIGH, AIVSS 7.1).

Sixth and final record of the config/protocol-surface audit that produced AVE-2026-00060 through 00064 (#93, merged), the only one involving a genuinely multi-agent mechanism.

Distinct from AVE-2026-00041 (MCP server-card injection), confirmed by direct comparison before drafting: different protocol (A2A, not MCP), no .well-known path convention, no tool.description field. The payload surface is the agent's own self-declared identity/capabilities within a peer discovery and delegation exchange, not a file a client fetches before a tool call.

entry_class: server_card_document is reused rather than forked for A2A -- both protocols' capability-declaration documents serve the same structural role in the taxonomy; the protocol-specific detail lives in payload_surface and the record's own aivss.notes, which also flags this as a judgment call worth revisiting against the record-abstraction policy once it's finalized.

Two corrections applied to the draft

  • component_type was "mcp_server", inherited from the previous MCP-focused batch. This record is explicitly about the A2A protocol and affects the receiving agent, not an MCP server component. Corrected to "agent".
  • owasp_mcp was missing entirely -- required once status is active, regardless of the record being about a non-MCP protocol. Added ["MCP10", "MCP06"], matching AVE-2026-00020's mapping (Cross-Agent A2A, the closer behavioral analog) over AVE-2026-00041's MCP-tool-specific codes (MCP03/MCP09).

README updates

Badge, stats table, and record index now cover all six records from this audit (00060-00065) -- #93 didn't touch README per its own skill-step scope at the time; this PR catches both batches up in one pass: 65 total records, 1 CRITICAL / 14 HIGH / 48 MEDIUM / 2 LOW.

Validation

  • AIVSS arithmetic independently recomputed: aars=5.5, aivss_score=7.1, matches.
  • python3 scripts/validate_records.py: all 65 records valid.
  • python3 scripts/check_fixtures.py: all 65 records have positive + negative fixtures.
  • pytest tests/ -x -q: 260 passed.
  • No vendor boilerplate.
  • node scripts/build-records.js: dist/ave-records-latest.json + manifest regenerated (65 records); frozen v1.1.0 snapshot correctly untouched.

Scope notes

No detection-rule PR opened in bawbel/scanner -- separate, coordinated PR in that repo's own tracker per CONTRIBUTING.md Step 4, not requested here.


🤖 Generated with Claude Code

Co-Authored-By: Claude Sonnet 5 noreply@anthropic.com

…rial instructions

Sixth and final record of the config/protocol-surface audit
(AVE-2026-00060 through 00064, #93), the only one involving a
genuinely multi-agent mechanism. Includes positive/negative conformance
fixtures, regenerated dist/ave-records-latest.json, and README updates
(badge, stats table, record index -- now covers all six of this
audit's records including the five from #93, which didn't touch
README per its own narrower skill-step scope at the time).

Confirmed distinct from AVE-2026-00041 (MCP server-card injection) by
direct comparison before drafting: different protocol (A2A, not MCP),
no .well-known path or tool.description field, payload surface is the
agent's own self-declared identity/capabilities in a peer discovery
exchange, not a file fetched before a tool call.

Two corrections applied to the draft:
- component_type was "mcp_server", inherited from the previous
  MCP-focused batch; this record is explicitly about the A2A protocol
  and affects the receiving agent, not an MCP server component.
  Corrected to "agent".
- owasp_mcp was missing entirely (required once status is active).
  Added ["MCP10", "MCP06"], matching AVE-2026-00020's mapping
  (Cross-Agent A2A, the closer behavioral analog) over AVE-2026-00041's
  MCP-tool-specific codes.
@chaksaray
chaksaray merged commit f4cc426 into develop Jul 29, 2026
6 checks passed
@chaksaray
chaksaray deleted the feat/AVE-2026-00065-a2a-agent-card-poisoning branch July 29, 2026 00:00
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant