Aller au contenu

Identifiants d'accès

Guida stocke les identifiants d’accès sensibles, comme les clés API, jetons, mots de passe et chaînes de connexion, chiffrés avec Windows DPAPI. Ces entrées sont liées à votre compte utilisateur Windows : seul votre utilisateur peut les déchiffrer.

Ouvrez le panneau Secrets pour ajouter, consulter et supprimer des identifiants. Chaque entrée possède :

  • Name — nom utilisé pour référencer l’entrée, par exemple API_TOKEN ou my-postgres
  • Value — contenu chiffré, affiché masqué dans l’interface
  • Description — notes facultatives sur l’usage de l’entrée

La barre d’outils propose Add Secret pour les entrées clé-valeur génériques, plus des boutons dédiés Add S3 Connection, Add MongoDB, Add PostgreSQL et Add Elasticsearch qui ouvrent des dialogues typés avec les bons champs.

Panneau Secrets montrant des identifiants enregistrés et la boîte Add S3 Connection avec champs endpoint, access key, secret key et region

Les dialogues typés gardent les champs de connexion structurés tout en stockant les identifiants chiffrés pour votre utilisateur Windows.

Lisez la valeur déchiffrée d’une entrée avec g.secrets.getSecret() :

async function main() {
const token = await g.secrets.getSecret("API_TOKEN");
const response = await g.http.makeHttpRequest({
url: "https://api.example.com/data",
headers: { "Authorization": "Bearer " + token }
});
}

Le panneau Secrets dispose de dialogues dédiés pour ajouter des connexions à des bases ou services. Chaque dialogue collecte les champs nécessaires : inutile d’assembler manuellement les chaînes de connexion.

BoutonChamps du dialogueUtilisé par
Add S3 ConnectionName, Endpoint, Access Key, Secret Key, Region, Session Tokeng.s3.*
Add MongoDBName, Connection Stringg.mongodb.*
Add PostgreSQLName, Connection Stringg.postgres.*
Add ElasticsearchName, URL, Auth Mode (API Key, Basic, None), Credentialsg.elasticsearch.*

Dialogue Add MongoDB Connection montrant les champs Name, Connection String et Description

Les identifiants de connexion sont référencés par nom depuis les scripts, donc les valeurs sensibles n’ont pas besoin d’être intégrées au code.

Une fois enregistrée, référencez l’entrée par son nom dans vos scripts :

// L'entrée "my-mongo" contient la chaîne de connexion MongoDB
const docs = await g.mongodb.find("my-mongo", "scraping", "products", {
price: { $lt: 20 }
});

Voir Intégrations de bases de données pour les guides de configuration et exemples complets.

Utiliser les identifiants dans les outils personnalisés

Section intitulée « Utiliser les identifiants dans les outils personnalisés »

Les outils personnalisés prennent en charge les modèles {{SECRET_NAME}} dans le champ headers. Le modèle est résolu à l’exécution : l’agent IA ne voit jamais les valeurs d’en-tête.

{
"tools": [
{
"name": "fetch-data",
"description": "Fetch data from the API",
"script": "scripts/fetch.js",
"headers": {
"Authorization": "Bearer {{API_TOKEN}}",
"X-Api-Key": "{{API_KEY}}"
}
}
]
}

Les identifiants chiffrés sont conçus pour être invisibles aux agents IA connectés via MCP :

Les valeurs sensibles ne sont jamais exposées via MCP

Section intitulée « Les valeurs sensibles ne sont jamais exposées via MCP »

L’outil MCP SecretsList renvoie uniquement les noms et descriptions, jamais les valeurs déchiffrées. Aucun outil MCP ne permet de lire ces valeurs.

Les scripts d’origine MCP ne peuvent pas lire les valeurs sensibles

Section intitulée « Les scripts d’origine MCP ne peuvent pas lire les valeurs sensibles »

Lorsqu’un agent IA exécute un script via MCP, les appels g.secrets.getSecret() de ce script sont bloqués et lèvent une erreur. Cela empêche la chaîne d’exfiltration :

  1. L’IA demande à Guida d’exécuter un script.
  2. Le script lit une valeur avec g.secrets.getSecret().
  3. Le script écrit la valeur dans g.store.
  4. L’IA lit la valeur depuis g.store.

L’étape 2 est bloquée : g.secrets.getSecret() vérifie l’origine du script et refuse les requêtes d’origine MCP.

Cela s’applique aussi aux intégrations de bases de données : g.s3.*, g.mongodb.*, g.postgres.* et g.elasticsearch.* sont tous bloqués pour les scripts d’origine MCP, puisqu’ils résolvent des identifiants de connexion en interne.

Les processus de travail des files démarrés par MCP sont également bloqués : les processus héritent de l’origine de leur lanceur.

  • Outil MCP SecretsList — lister les noms des entrées, pas les valeurs
  • Utiliser indirectement des identifiants via les modèles d’en-têtes d’outils personnalisés, sans que le script voie la valeur résolue