Skip to content

feature: Strict CardSignature Checking #116

Description

@usize

Feature Description

Introduce a --require-a2a-signature flag to enforce verification of A2A AgentCard signatures before allowing agent-to-agent communication.

When enabled:

  • The gateway controller verifies incoming AgentCards against a set of trusted public keys stored in Kubernetes Secrets (PEM or JWKS).

  • If a signature is missing or cannot be verified, the peer connection is blocked.

  • Enforcement can be implemented via ingress/egress NetworkPolicies or mesh AuthorizationPolicies.

Goal:

To ensure that only agents with authenticated, signed AgentCards can be discovered or connected to, preventing spoofed or unverified peers.

Proposed Solution

  • New --require-a2a-signature CLI flag available on kagenti controller.

  • Trusted key material loaded via an A2ACardSignatureProvider which may be kubernetes secrets or a service which implements an veryAgentSignature method -- which takes in a CardSignature and returns verified/unverified.

  • Verification performed per A2A spec https://a2a-protocol.org/latest/specification/#556-agentcardsignature-object

  • Unverified peers blocked via network or gateway policy.

  • Audit mode and metrics for verification results.

Want to contribute?

  • I would like to work on this issue.

Additional Context

Related to: rossoctl/rossoctl#303

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions