Repository navigation
Closed as not planned
Labels
go:needs-researchNeeds investigationNeeds investigationpriority:p2Next sprintNext sprintshelvedParked — revisit when conditions changeParked — revisit when conditions changesquadSquad triage inbox — Lead will assign to a memberSquad triage inbox — Lead will assign to a membertype:spikeResearch/investigation — produces a plan, not codeResearch/investigation — produces a plan, not code
Description
Overview
Implement security and authentication for cross-repo squad communication, covering local trust and network scenarios.
Reference
- PRD: See tamresearch1 repo, branch squad/296-cross-repo-a2a, file .squad/research/cross-repo-a2a-prd.md
- Related Issue: tamirdresher_microsoft/tamresearch1#296
- Depends on: [A2A] Core A2A/ACP Protocol Implementation #332 (Core A2A)
Phase 1: Local Security (MVP)
Threat Model:
- Local machine compromise (assume attacker has user access)
- Malicious squad impersonation
- Data leakage via Agent Cards
Mitigations:
- Bind to 127.0.0.1 only (localhost)
- Process-level trust (same user, validated via PID/registry)
- No sensitive data in Agent Cards (metadata only)
- Optional .squadignore patterns for decision/research filtering
Phase 2: Network Security
Requirements:
- TLS 1.3 for encrypted transport
- Mutual TLS (mTLS) OR OAuth2/OIDC for authentication
- Request signing (HMAC) for integrity
- Certificate management (generation, rotation, trust store)
Authentication Flows:
- mTLS: Client and server present certificates
- OAuth2: Organizational IdP, token-based auth
- Shared Secret: For small teams, symmetric key
Components
TLS Certificate Management
- Auto-generate self-signed certs for dev
- Integration with Let's Encrypt for production
- Trust store: ~/.squad/certs/
- Certificate rotation every 90 days
Authentication Middleware
- Validate auth on all /a2a/ endpoints (except /health)
- Support multiple auth methods (extensible)
- Rate limiting (prevent DoS)
- Audit logging (all A2A requests)
Authorization
- Agent Card declares required auth methods
- Caller must meet requirements
- Granular permissions (query vs. delegate)
- RBAC for Phase 3 (roles: read-only, contributor, admin)
Privacy Controls
Agent Card Filtering
- Allow .squadignore to hide sensitive decisions
- Opt-in for sharing research (default: public within discovery scope)
- Redaction of sensitive metadata (team member emails, internal URLs)
Data Minimization
- Agent Cards expose only: repo name, capabilities, tech stack
- No code snippets, no decision content in cards
- Query responses: caller-specific (check auth first)
Deliverables
- TLS certificate manager (src/security/cert-manager.ts)
- Auth middleware (src/security/auth.ts)
- Multiple auth adapters (mTLS, OAuth2, HMAC)
- Rate limiter
- Audit logger
- Privacy filter for Agent Cards
- .squadignore support
- Security documentation
- Threat model document
- Penetration testing (external)
Success Criteria
- Zero security incidents in 6 months
- All network traffic encrypted (TLS 1.3)
- Auth works with 3+ methods
- Audit logs capture all A2A requests
- Privacy: No leakage of sensitive data in cards
Timeline
Phase 1 (Local): 1 week
Phase 2 (Network): 3 weeks
Metadata
Metadata
Assignees
Labels
go:needs-researchNeeds investigationNeeds investigationpriority:p2Next sprintNext sprintshelvedParked — revisit when conditions changeParked — revisit when conditions changesquadSquad triage inbox — Lead will assign to a memberSquad triage inbox — Lead will assign to a membertype:spikeResearch/investigation — produces a plan, not codeResearch/investigation — produces a plan, not code
Activity
feat: rich progress indicators for agent work (github#357)
feat: accessibility hardening and guidelines (github#359)
github-actions commentedon Mar 13, 2026
🏗️ Squad Triage — Flight (Lead)
Issue: #335 — [A2A] Security and Authentication
Assigned to: FIDO (Quality Owner)
Reason: Issue relates to testing/quality work
@copilot evaluation: 🔴 Not suitable — issue involves work outside the coding agent's capability profile.
Team roster:
squad:flightsquad:proceduressquad:eecomsquad:fidosquad:paosquad:capcomsquad:controlsquad:surgeonsquad:boostersquad:gncsquad:networksquad:retrosquad:incosquad:guidosquad:telemetrysquad:voxsquad:dskysquad:simssquad:handbooksquad:ralphsquad:copilotgithub-actions commentedon Mar 13, 2026
📋 Assigned to RETRO (Security)
Issue: #335 — [A2A] Security and Authentication
RETRO will pick this up in the next Copilot session.
github-actions commentedon Mar 13, 2026
📋 Assigned to Flight (Lead)
Issue: #335 — [A2A] Security and Authentication
Flight will pick this up in the next Copilot session.
diberry commentedon Mar 31, 2026
🔄 Ralph status: A2A — security and authentication. Part of #332-#336 suite. No PR. Long-term backlog.
bradygaster commentedon Apr 12, 2026
Part of the shelved A2A initiative. Security and auth for agent-to-agent is critical to get right, which is exactly why we're not rushing it. We'll revisit when the time is right. Thanks @tamirdresher!