-
Notifications
You must be signed in to change notification settings - Fork 1
Closed
Labels
coreenhancementNew feature or requestNew feature or requestsub-agentsSub-agent orchestrationSub-agent orchestration
Description
M28-D: Permission and secret delegation protocol (zero-trust)
Context
Sub-agents operate under zero-trust model: no permissions by default, all grants are time-bounded and auto-revoked.
Acceptance Criteria
-
PermissionGrantsstruct with TTL-based grant tracking -
GrantwithGrantKind(Secret/Tool),granted_at,ttlfields -
sweep_expired()called before every tool execution and secret access -
revoke_all()called on sub-agent completion, cancellation, and crash (via Drop) - Secrets delivered via in-memory
PermissionGrants, NOT via A2A message channel - Secrets never serialized into message history or logs
- Secret memory zeroed on revoke (use
zeroizecrate or manual zeroing) -
InputRequiredhandling for secret requests with metadata validation - Auto-deny if requested key not in definition's allowed secrets list
- User approval flow shows: agent name, key name, TTL duration
- Vault integration for secret retrieval on approval
- Timeout on pending approval requests (configurable, default 60s)
-
tracingaudit events for: grant, deny, expire, revoke -
ttl_secsfield inSubAgentPermissions(default = timeout_secs) - Drop impl on
SubAgentHandletriggersrevoke_all()
Zero-Trust Rules
- No default trust — definition declares what MAY be requested, not what IS granted
- Explicit user approval required for every secret at runtime
- TTL on all grants — auto-revoke on expiry
- Automatic revocation on sub-agent end (any reason)
- No persistence — secrets exist only in-memory
- Audit trail via tracing for all grant lifecycle events
- Sweep before access — expired grants cleaned on every check
Architecture Reference
See .local/plan/sub-agent-orchestration.md — "Zero-Trust Security Model" section
Blocked by
- M28-B: SubAgentManager core with in-process A2A channels #711 (SubAgentManager core)
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
coreenhancementNew feature or requestNew feature or requestsub-agentsSub-agent orchestrationSub-agent orchestration