Skip to content

security(a2a): A2ABreak harden + card-review + docs - #11

Open
Superagentic-AI wants to merge 3 commits into
mainfrom
security/a2abreak-harden-card-review
Open

Superagentic-AI wants to merge 3 commits into
mainfrom
security/a2abreak-harden-card-review

Conversation

@Superagentic-AI

Copy link
Copy Markdown
Contributor

Summary

  • Harden the public anonymous catalogue against A2ABreak cross-client context injection and ListTasks leakage: isolate_callers=True binds tasks to an opaque per-caller key (cookie sox_a2a_caller or header X-SuperOptiX-Caller-Key), ignores client-supplied contextId on new tasks, and scopes List/Get/Cancel/Subscribe to that caller.
  • Extend agent-card-review with A2ABreak-aware warnings for unattested skill claims and for JWS proving publisher identity rather than capability.
  • Document A2ABreak protocol risks in SECURITY.md and docs/guides/a2a-conformance.md (arXiv:2609.10871). Push notifications remain disabled.

Test plan

  • uv run pytest tests/test_a2a_public_endpoint.py tests/test_a2a_conformance.py -q
  • ruff check on changed Python files
  • Smoke live catalogue after deploy: two clients, confirm GET /tasks is caller-scoped and client contextId is not honoured on new tasks

Superagentic-AI and others added 3 commits September 12, 2026 10:34
Isolate anonymous callers on the public catalogue so ListTasks/GetTask cannot
leak other clients' histories, ignore client-supplied contextId on new tasks,
and extend agent-card-review with unattested-skill and JWS trust warnings.
Document A2ABreak protocol risks in SECURITY and the conformance guide.
Unblocks Ruff/CI format --check on the A2ABreak harden branch.
Main CI does not install the a2a extra, so create_public_app raised
ImportError and failed the new A2ABreak isolation tests. Skip like the
existing public-endpoint tests when FastAPI is absent.
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