Skip to content

[Feature] Per-agent credential scoping and access control #19

@JackChen-me

Description

@JackChen-me

Summary

Add security-scoped credential management so each agent can have restricted permissions, rather than all agents sharing the same access level.

Current State

  • AgentConfig supports per-agent apiKey and baseURL — different agents can use different LLM providers
  • But this is provider-level isolation, not security scoping — there's no restriction on which tools an agent can call, what system resources it can access, or what SharedMemory keys it can read/write
  • A compromised or misbehaving agent has the same access as the coordinator

Community Feedback

u/Mooshux (r/LocalLLaMA):
"The orchestration pattern is interesting, but the credential handling is the part worth thinking hard about. If the coordinator passes its credentials down to subagents, a compromise of any subagent gives an attacker the same access as the coordinator. The safer pattern: each subagent gets a scoped token..."

Proposed Approach

  • Tool allowlist per agent (already partially exists via tools config — but not enforced as a security boundary)
  • SharedMemory read/write scoping (e.g., agent can only read specific namespaces)
  • Optional sandboxing for the bash tool (restricted paths, no network, etc.)
  • Credential injection pattern: coordinator passes minimal scoped credentials to subagents

Priority

P2 — Not urgent for local dev/CI use cases. Becomes critical for multi-tenant, untrusted-tool, or production deployment scenarios.

Metadata

Metadata

Assignees

No one assigned

    Labels

    P3Backlog — revisit after core stabilizesenhancementNew feature or requestsource:feedbackSource: external user feedback (GitHub/Twitter/Reddit/Discord/forks)

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions