Agent-Hellboy / Agent-Hellboy/mcp-runtime

feat(secrets): add provider-neutral secret broker for MCP tool credentials

Ouverte
#260 0 commentaires 0 réactions 0 personnes assignées Voir sur GitHub
Langage dominant
Go
Étoiles
6
Forks
1
Merge moyen
11 h 33 min
PR mergées (30 j)
13

Description

## Summary

Add a provider-neutral secret broker so MCP tools can use external credentials without hardcoding them in manifests, environment variables, or user-visible configuration.

This follows the Google Secret Manager plus agent identity pattern, but should support Kubernetes Secrets, Google Secret Manager, Vault, AWS Secrets Manager, Azure Key Vault, and future providers.

## Why

MCP servers often need API keys, OAuth client secrets, database credentials, and service tokens. Tenant users should not receive cluster credentials or raw platform secrets. The platform should broker secret access, enforce identity and namespace policy, support rotation, and audit every use.

## Proposed design

- Add a `SecretRef` or credential binding model for MCP servers/tools.
- Support providers through a small interface: Kubernetes Secret, GCP Secret Manager, Vault, AWS Secrets Manager, Azure Key Vault.
- Bind secret access to team, namespace, server, tool, human identity, and verified agent identity.
- Inject credentials at runtime through gateway or short-lived workload projection where possible.
- Support redacted display, rotation metadata, and access audit events.

## Acceptance criteria

- API can create/list/get/delete credential bindings scoped to a team namespace.
- Non-admin users can only bind secrets they own or are authorized to use.
- Runtime access checks include namespace, server, tool, human identity, agent identity, and session.
- Gateway or workload path can resolve a secret without exposing the raw value to the user.
- Audit events are emitted for secret binding create/update/delete and runtime secret access.
- Secret values are never returned by list/get APIs, logs, or UI.
- Rotation can update the backing provider without redeploying the MCP server where the provider supports it.
- Tests cover Kubernetes Secret provider, denied cross-namespace access, missing provider, redacted API response, and audit emission.
- Docs include examples for Kubernetes Secrets and Google Secret Manager.

## References

- https://docs.cloud.google.com/agent-builder/agent-engine/agent-identity
- https://docs.cloud.google.com/secret-manager/docs/access-secret-version
- https://docs.cloud.google.com/secret-manager/docs/access-control

Guide de contribution

Aucun guide de contribution indexé pour ce dépôt

Évaluation

Cette issue n'a pas encore été évaluée.

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.