Antes de empezar
Nivel intermedio. Necesitas Node.js, el programa que ejecuta JavaScript en tu ordenador, y un editor de texto. No necesitas cuenta ni clave.
Abre una terminal: una ventana donde escribes órdenes para tu ordenador. Sitúate en la carpeta del archivo.
Un guardrail, o control de protección, limita o comprueba lo que puede hacer un sistema.
Prompt injection significa introducir instrucciones engañosas en documentos u otros datos para cambiar el comportamiento del sistema.
Una instrucción como «no reveles secretos» ayuda, pero no sustituye los permisos que impone tu aplicación.
1. Define una acción permitida
Escribe qué puede hacer una persona con permiso de lectura. En este ejercicio solo puede leer datos públicos.
Deniega las acciones que no estén incluidas. Un texto generado por un modelo no debe ampliar los permisos.
Qué deberías ver: Una lista explícita de acciones permitidas. El borrado de la base de datos debe quedar fuera.
2. Guarda la prueba de permisos
Guarda el bloque en permisos.mjs. authorize comprueba si una acción está incluida en los permisos de la persona.
reader significa «lector»; read_public, «leer datos públicos»; delete_database, «borrar la base de datos». El ejemplo no borra nada.
// La aplicación decide los permisos, nunca el texto del modelo.
function authorize(action, role) {
const allowed = role === "reader" ? ["read_public"] : [];
if (!allowed.includes(action)) throw new Error("Acción no autorizada");
return true;
}
authorize("read_public", "reader");
console.log("Lectura autorizada");
try {
authorize("delete_database", "reader");
throw new Error("Fallo en el control de permisos");
} catch (error) {
if (error.message !== "Acción no autorizada") throw error;
console.log("Acción peligrosa bloqueada");
}Qué deberías ver: Un archivo permisos.mjs que prueba una lectura y un intento de borrado sin efectos externos.
3. Ejecuta la prueba de denegación
Escribe node permisos.mjs en la terminal. El programa debe permitir la lectura y bloquear el intento de borrado.
Qué deberías ver: Dos líneas: «Lectura autorizada» y «Acción peligrosa bloqueada».
4. Revisa dónde guardarás tu clave
Identifica el servidor, el programa que recibirá las peticiones. La clave de API es su secreto de acceso al proveedor. Ese secreto pertenece al servidor y queda separado del código público.
Evita incluir claves en el navegador, mensajes de error o registros. Comparte solo los datos que requiere cada operación.
Qué deberías ver: Una ubicación privada para la clave. Esta práctica no requiere ninguna ni comprueba un servicio real.
Errores comunes
Confías en una instrucción escrita: añade un control de permisos antes de ejecutar herramientas.
Validas datos, pero no autorizas la acción: comprueba ambas cosas. El formato correcto no concede permiso.
Das por segura toda la aplicación tras este ejemplo: prueba también sus conexiones, usuarios y operaciones reales.
Qué has aprendido
Has probado permisos fuera del modelo. Una evaluación, o comprobación con casos esperados, ayuda a detectar fallos.
Repite las pruebas cuando cambien herramientas, instrucciones o datos. Ningún ejemplo aislado garantiza bloquear todos los ataques.
Siguiente paso
Continúa con cuándo usar un agente de ia y cómo limitar sus pasos.
Fuentes y verificación
Redactado con IA a partir de documentación oficial. Fuentes revisadas el 2026-10-04. Ejemplos locales ejecutados; consulta su alcance arriba. No se atribuye una prueba con un proveedor real ni una revisión humana.
Para seguir aprendiendo
Consulta versiones oficiales antes de actualizar