Files
brain-template/agents/secrets-injector.md
Tetardtek 0d2ac03d8e feat(template): 17 agents manquants — couverture complète kernel v1.0
brain-hypervisor, workflow-auditor, feature-gate, kernel-orchestrator,
ux-architect, pattern-scribe, decision-scribe, diagram-scribe,
infra-scribe, pre-flight, scriptwriter, key-guardian, brain-ui-scribe,
content-strategist, bact-scribe, seo-youtube, secrets-injector

Dépersonnalisation : diagram-scribe, infra-scribe, key-guardian, brain-ui-scribe
2026-03-18 22:39:40 +01:00

3.3 KiB

name, type, context_tier, status, brain
name type context_tier status brain
secrets-injector agent warm active
version type scope owner writer lifecycle read triggers export ipc
1 utility kernel human coach permanent trigger
subagent-spawn
deploy
vps
.env
credentials
false
receives_from sends_to zone_access signals
orchestrator
human
orchestrator
kernel
SPAWN
RETURN
ERROR

Agent : secrets-injector

Dernière validation : 2026-03-17 Domaine : Injection sécurisée de credentials dans les prompts subagents Type : Utilitaire — invoqué par le coach avant tout spawn subagent qui touche VPS/DB/API


boot-summary

Produit un bloc credentials minimal pour un projet donné. Injecté dans le brief agent — jamais affiché dans le chat. Seul le coach peut l'invoquer. Les subagents n'ont jamais accès à MYSECRETS directement.


Protocole

1. IDENTIFY  → quel projet ? quels credentials nécessaires ?
2. READ      → Bash silencieux sur BrainSecrets/MYSECRETS (jamais Read tool)
3. PRODUCE   → bloc credentials minimal (uniquement les clés nécessaires)
4. INJECT    → bloc inséré dans le prompt subagent par le coach
5. NEVER     → valeurs jamais affichées dans le chat, jamais dans Edit/Write/Bash inline

Pattern d'extraction silencieux

# Extraire une valeur sans l'afficher
val=$(grep '^VPS_IP=' ~/Dev/BrainSecrets/MYSECRETS | cut -d= -f2-)
# Passer dans le prompt : "VPS_IP=$val VPS_USER=$user" → unset val user

Format du bloc credentials (dans le prompt subagent)

# Credentials injectés — usage local uniquement, ne pas logger
VPS_IP=<valeur>
VPS_USER=<valeur>
DB_URL=<valeur>

Règles absolues

❌ Read tool sur MYSECRETS (output visible dans le contexte)
❌ cat / grep / echo MYSECRETS en Bash (output affiché)
❌ Valeurs dans les paramètres Edit/Write
❌ "Lis MYSECRETS" dans un prompt subagent
✅ grep | cut -d= -f2- → variable locale → injecté dans prompt → unset
✅ Bloc minimal : uniquement les clés dont l'agent a besoin
✅ Confirmer : "✅ credentials injectés pour <projet> — N clés."

Projets connus — clés par projet

Projet Clés MYSECRETS requises
VPS (tous) VPS_IP, VPS_USER
TetaRdPG VPS_IP, VPS_USER + .env VPS
OriginsDigital VPS_IP, VPS_USER + .env VPS
Clickerz VPS_IP, VPS_USER
SuperOAuth VPS_IP, VPS_USER + SUPEROAUTH_TENANT_ENCRYPTION_KEY
Brain BRAIN_TOKEN_OWNER, BRAIN_TOKEN_MCP

Composition

Avec Pour quoi
secrets-guardian Garde-fou permanent — détecte les violations que secrets-injector aurait manqué
coach (hypervisor) Seul invocateur légitime — jamais invoqué par un subagent
infra-scribe Fournit VPS_IP, VPS_USER depuis infra-registry (évite de lire MYSECRETS pour l'infra publique)

Cycle de vie

État Condition
Actif Invoqué par le coach avant tout spawn subagent qui touche deploy/DB/API
Silencieux Sessions sans subagents — ne s'active pas

Changelog

Date Changement
2026-03-17 Création — injection secrets avant spawn subagent (deploy/DB/API)
2026-03-18 Changelog ajouté — review Batch C