Saltar al contenido principal

Menú de comandos

Ve a una página o busca en el catálogo

Herramientas y scripts de IA

Revisión de realms de Keycloak

Revisa las exportaciones de realms y la configuración del servidor de Keycloak antes de importar o desplegar: URI de redirección con comodines, sslRequired none, secretos de cliente y claves de firma en las exportaciones, contraseñas de administrador literales, start-dev en despliegues y ajustes de inicio de sesión débiles.

$5.00

Qué recibes: 1 archivo · 50.95 KB · ZIP

Ver opciones de compra

Descripción del producto

Un cliente con "*" en Valid Redirect URIs permite que Keycloak envíe códigos de autorización a cualquier sitio que elija un atacante. Un archivo de realm generado por kc.sh export contiene en texto plano todos los secretos de cliente y las claves privadas de firma del realm, así que subirlo al repositorio permite a cualquiera firmar sus propios tokens. Un manifiesto de Kubernetes que ejecuta start-dev con KC_BOOTSTRAP_ADMIN_PASSWORD: admin sirve el realm master por HTTP sin cifrar con una contraseña conocida. Esta skill encuentra esos errores y los demás errores de Keycloak que se indican abajo, y te explica cómo corregir cada uno.

Tu agente ejecuta un escáner sobre tu proyecto: exportaciones e importaciones de realms (JSON de realm, los archivos de usuarios de kc.sh export, recursos KeycloakRealmImport, YAML de keycloak-config-cli y JSON de realm guardado en un ConfigMap), archivos de adaptador keycloak.json, keycloak.conf y los ajustes de Keycloak dondequiera que estén escritos: variables KC_ y argumentos de kc.sh en archivos Compose, manifiestos y Secrets de Kubernetes, values de Helm, el recurso del operador de Keycloak, Dockerfiles, units de systemd y archivos .env. Conoce los valores predeterminados de Keycloak y sus clientes integrados, trata los marcadores de vault y de entorno y los valores enmascarados de las exportaciones como guardados fuera del archivo, y distingue una configuración local con start-dev de un despliegue. Los archivos de realm y los ajustes en rutas de test, fixture, dev o local (src/test/resources, integration-tests, e2e, clústeres kind) se reportan como REVIEW en lugar de BLOCK. Nunca contacta con Keycloak y nunca usa la red. Devuelve BLOCK, REVIEW o NOT FLAGGED, con el archivo, la línea, el motivo y una alternativa más segura. Los secretos nunca se muestran.

Qué comprueba

BLOCK (corregir antes de publicar)

  • K01: un realm con sslRequired establecido en none
  • K02: URI de redirección que aceptan otros hosts: "*", "https://*" o un comodín justo después del host (también las URI de redirección tras cerrar sesión); los comodines de puerto loopback para aplicaciones nativas no se reportan
  • K03: credenciales en archivos de realm y de adaptador: secretos de cliente, secretos de cliente de proveedores de identidad, contraseñas de SMTP y de bind de LDAP, contraseñas de usuario, semillas OTP, secretos de cliente en keycloak.json
  • K04: material de claves del realm en un archivo: claves privadas y secretos de proveedores de claves, contraseñas de almacenes de claves, claves privadas de clientes SAML
  • K05: contraseñas literales del servidor: contraseña de administrador de arranque (también la obsoleta KEYCLOAK_ADMIN_PASSWORD), contraseña de la base de datos (también dentro de KC_DB_URL), almacén de claves, almacén de confianza y otras opciones de contraseña o secreto de Keycloak, como variables KC_, argumentos de kc.sh, líneas de keycloak.conf u opciones del operador
  • K06: start-dev en un manifiesto de Kubernetes, values de Helm, una unit de systemd o un archivo Compose o Dockerfile con nombre de producción o staging (las configuraciones de kind, minikube y k3d reciben K20 en su lugar)

REVIEW (revisar antes del lanzamiento)

  • K11: clientes con el flujo implícito activado
  • K12: clientes públicos con Direct Access Grants (la concesión por contraseña)
  • K13: detección de fuerza bruta desactivada
  • K14: sin política de contraseñas, sin longitud mínima o con una longitud mínima inferior a 8
  • K15: "*" en los Web Origins de un cliente
  • K16: clientes públicos que no exigen PKCE con S256 y sin ninguna política de cliente activa para clientes públicos que lo imponga
  • K17: duraciones de tokens de acceso superiores a una hora
  • K18: autorregistro en el realm master o sin verificación de correo electrónico
  • K19: hostname-strict desactivado sin ningún hostname definido en el mismo archivo
  • K20: start-dev en un servicio de Compose que publica su puerto más allá de 127.0.0.1, o en un Dockerfile cuyo nombre no indica uso local
  • K21: URI de redirección con un comodín en la ruta en un host que no es local (Keycloak anterior a 26.6.2 también tiene CVE-2026-7504 para URI de redirección con comodines)
  • K22: contraseñas literales de Keycloak en archivos .env que ningún .gitignore cubre

Qué incluye

  • El escáner (Python 3.9+, solo biblioteca estándar)
  • Una guía de reglas con el motivo, la alternativa más segura y un enlace a la documentación para cada regla (documentación de Keycloak y RFC 9700)
  • Un ejemplo arriesgado y otro seguro (una exportación de realm de una tienda, un archivo Compose, un Deployment de Kubernetes, keycloak.conf y un archivo env), y el informe real que el escáner genera sobre el arriesgado

Limitaciones

Lee cada archivo por separado y tal como está escrito. No se ven un hostname definido en otro archivo, los valores de archivos .env usados por un archivo Compose, las plantillas de charts de Helm, las claves de Helm específicas de cada chart, Terraform ni los cambios hechos más tarde en la Admin Console o en la Admin REST API. Las contraseñas literales en archivos .env solo se reportan cuando ningún .gitignore cubre el archivo, y las contraseñas en configuraciones locales con start-dev y en workflows de CI no se reportan. Desarrollo, pruebas y producción se determinan a partir de los nombres de archivo, las carpetas, start-dev y los puertos publicados, así que contrasta K06, K20 y los hallazgos REVIEW en rutas de test con el uso real de los archivos. Los realms de quickstart del propio Keycloak y su manifiesto de quickstart para Kubernetes se reportan donde no son seguros fuera de un portátil, y una exportación completa con los valores predeterminados de Keycloak recibe K13 y K14, porque la documentación de Keycloak aconseja cambiar ambos. NOT FLAGGED no es una garantía.

Contenido

Un archivo ZIP con 20 archivos: SKILL.md, el escáner en scripts/ (7 archivos de Python), references/rules.md (cada regla con su motivo y la alternativa más segura) y examples/ (10 archivos de ejemplo más report.md, la salida real del escáner sobre el ejemplo arriesgado).

Cómo usarlo: Esta es una skill para agentes: una carpeta con un archivo SKILL.md y scripts de Python que un agente de programación con IA como Claude Code, Cursor o Codex CLI puede ejecutar. Descomprímela en la carpeta de skills de tu agente (para Claude Code: ~/.claude/skills/) y luego pide a tu agente que revise tu proyecto. Los scripts también funcionan por sí solos con Python 3.9 o posterior, sin instalar nada. Solo leen tus archivos: sin acceso a la red, y no se envía nada a ningún sitio.

Qué recibes

1 archivo · 50.95 KB

  • keycloak-realm-check-1.0.0.zipZIP · 50.95 KB
LicenciaUso comercial permitido
Revisión del paqueteSuperada

Getly abrió los archivos subidos y no encontró nada que impida abrirlos. No es un análisis antivirus ni una valoración de calidad.

Publicado12 nov 2026
Tamaño del archivo50.95 KB
Formato de archivoZIP
Versiónv1.0

Etiquetas

keycloakoauthidentitysecuritydevopsai agent skill
R
RR HH

Preguntas frecuentes

¿Tengo acceso al instante?

Sí. Es un producto digital: puedes descargarlo justo después del pago, directamente desde tu biblioteca.

¿Puedo usarlo en proyectos comerciales?

Sí. Se permite el uso comercial: úsalo en tu propio negocio y en cosas que vendas. No puedes revender ni redistribuir el archivo en sí.

¿Cuál es vuestra política de reembolso?

Puedes pedir un reembolso dentro de 30 días. Si algo no va bien, solicítalo desde tu pedido y el equipo de Getly lo revisa.

¿Qué formatos y tamaños de archivo recibiré?

Descargarás 1 archivo - ZIP - 50.95 KB en total.

¿Recibo actualizaciones gratis?

Sí: cuando el vendedor publica una versión nueva, puedes volver a descargar los archivos más recientes desde tu biblioteca sin coste extra. Mira el registro de cambios para ver las últimas actualizaciones.

Precio

$5.00