Ir al contenido

Credenciales de acceso

Guida almacena credenciales (claves de API, tokens, contraseñas, cadenas de conexión) cifradas con Windows DPAPI. Las credenciales quedan vinculadas a su cuenta de usuario de Windows: solo su usuario puede descifrarlas.

Abra el panel Secrets para añadir, ver y eliminar credenciales. Cada credencial tiene:

  • Name — identificador usado para referenciar la credencial, por ejemplo API_TOKEN o my-postgres
  • Value — el contenido cifrado, mostrado enmascarado en la interfaz
  • Description — notas opcionales sobre el uso de la credencial

La barra de herramientas ofrece Add Secret para credenciales genéricas clave-valor, además de botones dedicados para Add S3 Connection, Add MongoDB, Add PostgreSQL y Add Elasticsearch, que abren diálogos tipados con los campos adecuados.

Panel Secrets con credenciales existentes y el diálogo Add S3 Connection con campos de endpoint, clave de acceso, clave secreta y región

Los diálogos tipados de credenciales mantienen estructurados los campos de conexión y almacenan las credenciales resultantes cifradas para su usuario de Windows.

Lea el valor descifrado de una credencial con 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 }
});
}

El panel Secrets tiene diálogos dedicados para añadir conexiones de base de datos. Cada diálogo recoge los campos correctos para el servicio, sin necesidad de ensamblar cadenas de conexión manualmente.

BotónCampos del diálogoUsado por
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.*

Diálogo Add MongoDB Connection con campos Name, Connection String y Description

Las credenciales de conexión a bases de datos se referencian por nombre desde los scripts, por lo que no es necesario incrustarlas en el código.

Una vez guardada, referencie la credencial por nombre en sus scripts:

// The secret "my-mongo" holds the MongoDB connection string
const docs = await g.mongodb.find("my-mongo", "scraping", "products", {
price: { $lt: 20 }
});

Vea Integraciones de bases de datos para guías de configuración y ejemplos completos.

Usar credenciales en herramientas personalizadas

Sección titulada «Usar credenciales en herramientas personalizadas»

Las herramientas personalizadas admiten plantillas {{SECRET_NAME}} en el campo headers. La plantilla se resuelve en tiempo de ejecución; el agente de IA nunca ve los valores de cabecera:

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

Las credenciales están diseñadas para ser invisibles a los agentes de IA conectados mediante MCP:

Los valores secretos nunca se exponen mediante MCP

Sección titulada «Los valores secretos nunca se exponen mediante MCP»

La herramienta MCP SecretsList devuelve solo nombres y descripciones, nunca valores descifrados. No existe una herramienta MCP para leer valores secretos.

Los scripts originados por MCP no pueden leer credenciales

Sección titulada «Los scripts originados por MCP no pueden leer credenciales»

Cuando un agente de IA ejecuta un script mediante MCP, las llamadas g.secrets.getSecret() de ese script se bloquean y lanzan un error. Esto evita la cadena de exfiltración:

  1. La IA indica a Guida que ejecute un script
  2. El script lee una credencial con g.secrets.getSecret()
  3. El script escribe el valor en g.store
  4. La IA lee el valor desde g.store

El paso 2 se bloquea: g.secrets.getSecret() comprueba el origen del script y rechaza solicitudes originadas por MCP.

Esto también se aplica a las integraciones de bases de datos: g.s3.*, g.mongodb.*, g.postgres.* y g.elasticsearch.* quedan bloqueados para scripts originados por MCP, ya que resuelven credenciales de conexión internamente.

Los procesos de trabajo de cola iniciados por MCP también quedan bloqueados: los procesos heredan el origen de su lanzador.

Qué sí pueden hacer los scripts originados por MCP

Sección titulada «Qué sí pueden hacer los scripts originados por MCP»
  • Herramienta MCP SecretsList — listar nombres de credenciales, no valores
  • Usar credenciales indirectamente mediante plantillas headers de herramientas personalizadas; el script nunca ve el valor resuelto