Identidades No Humanas: Los riesgos ocultos del acceso automatizado

A medida que las infraestructuras modernas se vuelven más complejas, el concepto de identidad va mucho más allá de los usuarios humanos.

Sistemas, aplicaciones, servicios en la nube y otras entidades de software interactúan con recursos críticos y acceden a ellos. A estos actores no humanos se les conoce como Identidades No Humanas (NHI, por sus siglas en inglés), y cada vez juegan un papel más importante en el funcionamiento de las organizaciones.

Durante mi etapa como pentester, aproveché muchas veces identidades no humanas expuestas o mal gestionadas para acceder por primera vez a un entorno o moverme con más libertad dentro de él durante una auditoría.
Entender qué son, los riesgos que implican y cómo gestionarlas correctamente es clave para garantizar una buena seguridad.

Non human identities

¿Qué es una Identidad No Humana?

Una Identidad No Humana es cualquier entidad digital que necesita autenticarse y tener permisos para acceder a recursos, pero que no es una persona. Hay muchos tipos:

  • Cuentas de servicio: usadas por aplicaciones o servicios para interactuar con el sistema operativo, bases de datos u otras apps.
  • Claves API: permiten que las aplicaciones se comuniquen entre sí sin intervención humana.
  • Secretos y certificados: usados para autenticación y cifrado.
  • Cargas de trabajo en la nube: máquinas virtuales, contenedores o funciones sin servidor que se ejecutan en la nube.
  • Bots y scripts automatizados: ejecutan tareas repetitivas o se comunican con otros sistemas (como los que mandan mensajes en Slack o Discord).
  • Dispositivos IoT: sensores, cámaras u otros dispositivos conectados que intercambian datos.

Cuando se habla de Identidades No Humanas, normalmente se piensa en claves API y tokens JWT. Son muy comunes, pero hay muchas más formas: desde credenciales básicas con usuario y contraseña hasta certificados digitales.

También es importante tener en cuenta que los humanos pueden actuar a través de Identidad No Humanas. Por ejemplo, cuando una persona usa una web que hace llamadas a APIs en segundo plano, en realidad la comunicación con el sistema la hace una Identidad No Humana (como una cuenta de servicio), aunque la acción la haya iniciado un humano.

Y a veces, por comodidad o por costumbre, acabamos usando directamente las credenciales de una cuenta de servicio. Es una forma rápida de conseguir permisos altos sin complicarse demasiado.

¿Por qué son una preocupación para la seguridad?

El número y variedad de Identidades No Humanas complica mucho la seguridad. Hay varios motivos:

  • Cantidad y diversidad: suelen superar en número a los usuarios humanos y adoptan muchas formas distintas, lo que hace difícil tenerlas controladas.
  • Falta de visibilidad: muchas veces no están documentadas y están ocultas en las capas técnicas de la infraestructura. Además, como no hay una persona clara responsable ni se sigue un ciclo de vida definido, es difícil hacerles seguimiento en herramientas de seguridad o durante incidentes.
  • Gestión compleja de accesos: dar o quitar permisos es complicado. Si no hay una buena gobernanza, acumulan privilegios innecesarios con el tiempo, lo que facilita movimientos laterales o escaladas de privilegios.
  • Privilegios por defecto y sobreaprovisionamiento: Muchas Identidades No Humanas se crean con permisos por defecto, a veces heredando los del usuario o sistema que las generó. Por ejemplo, al crear un token personal en GitHub o GitLab, puede tener permisos demasiado amplios si no se ajustan manualmente. Y no hay muchas herramientas que ayuden a limitar estos permisos automáticamente.
  • Rotación de secretos: Estas identidades dependen de claves API, tokens y certificados. Muchos están incrustados en el código, apenas se rotan o directamente se olvidan, dejando un acceso abierto durante mucho tiempo.
  • Supervisión limitada: Las Identidades No Humanas rara vez se monitorizan bien. A menudo trabajan en segundo plano y no levantan alertas. Este vacío de supervisión hace que cualquier fallo de configuración o uso malintencionado pueda pasar desapercibido durante mucho tiempo.
  • Objetivo atractivo para los atacantes: Tienen mucho acceso y, muchas veces, privilegios altos. Si alguien consigue comprometer una de estas identidades, puede moverse con facilidad y sin ser detectado. Por ejemplo, si consigues una clave para ejecutar peticiones en la API de Azure Graph, es como encontrar un billete VIP al sistema.

Irónicamente, muchas veces estos problemas no se descubren hasta que se hace una auditoría o una prueba de intrusión. Entonces es cuando saltan las alarmas y se dan cuenta los responsables de seguridad. Y ni siquiera en ese momento está claro cómo reaccionar de forma efectiva.

Algunos datos reales

En su informe “The State of the Secret Sprawl 2025”, GitGuardian reveló que en 2024 se detectaron 23,8 millones de secretos expuestos en repos públicos de GitHub. Un 25% más que el año anterior. El 4,6% de los repos públicos y el 35% de los privados contenían al menos un secreto expuesto. Muchos asumen que los repos privados son seguros y los tratan con menos cuidado, lo cual es un error.

Lo peor: el 70% de los secretos expuestos en 2022 seguían activos en 2024.

Las credenciales de MongoDB fueron las más filtradas (18,8% de los casos en repos públicos). En los privados, las claves de AWS IAM aparecieron en un 8% de los repos, cinco veces más que en los públicos. Esto demuestra la falta de políticas de expiración y de rotación automática.

Riesgos principales según OWASP

OWASP ha publicado recientemente un listado con los 10 principales riesgos relacionados con las NHIs:

  1. Inventario y gestión insuficiente
  2. Secretos incrustados en el código
  3. Gestión de secretos comprometida
  4. Permisos excesivos
  5. Autenticación/autorización débiles
  6. Falta de monitorización y auditoría
  7. Creación y eliminación inseguras
  8. Uso malicioso de NHIs
  9. Vulnerabilidades en las plataformas de gestión de NHIs
  10. Ausencia de ciclo de vida definido

Si te interesa este tema, te recomiendo que le eches un vistazo a este listado y a los recursos enlazados en la web de OWASP.

Buenas prácticas para gestionar Identidades No Humanas

Gestionar bien estos riesgos implica adoptar un enfoque proactivo y estructurado. No es solo un tema técnico, es una cuestión de estrategia de ciberseguridad:

  • Formación y concienciación: Lo primero es formar a los equipos. Un buen reto tipo CTF que simule el abuso de una Identidad No Humana puede ser muy útil.
  • Descubrimiento e inventario: Como con los usuarios humanos, hay que identificar todas las NHIs y saber qué permisos tienen. Hay herramientas que automatizan esta parte.
  • Gestión centralizada de secretos: Usa herramientas como WALLIX Bastion o OpenBAO Vault para guardar claves y certificados de forma segura, con control de accesos y trazabilidad.
  • Principio del menor privilegio: Solo dar a cada NHI los permisos que necesita. Nada más.
  • Rotación regular de secretos: Automática, siempre que se pueda. WALLIX y otras plataformas permiten definir políticas que rotan los secretos sin intervención manual.
  • Monitorización continua: Implementa alertas y revisa el comportamiento de las NHIs.
  • Automatiza el alta y baja: Usa herramientas que gestionen de forma automática la creación y eliminación de identidades. Muchas plataformas CI/CD permiten conectar con un “vault”.
  • Ciclo de vida definido: Establece políticas claras desde la creación hasta el borrado. Añade un artículo sobre esto en tu política de seguridad. Muchos “vaults” permiten añadir etiquetas para saber quién es el dueño, para qué sirve y cuándo expira.
  • Auditorías específicas: No revises solo las apps o sistemas. Haz auditorías centradas en Identidades No Humanas, como los tokens generados por desarrolladores. Suelen tener más permisos de los que deberían y nunca se rotan.
  • Seguridad basada en hardware: Para añadir una capa más de seguridad, puedes usar chips TPM 2.0, que almacenan claves criptográficas de forma segura y permiten validar el estado de los dispositivos.

Conclusión

Las Identidades No Humanas son una parte esencial del ecosistema digital actual. Son las que permiten la automatización, la escalabilidad y la integración entre plataformas.

Pero también suponen un riesgo real. Y eso sin hablar de lo que puede pasar cuando se combinan con la inteligencia artificial (como tu asistente en VS Code accediendo a todo tu código lleno de secretos…).

Gestionarlas de forma segura ya no es opcional. Es un pilar más en cualquier estrategia de ciberseguridad.

Si lo haces bien, conviertes una debilidad potencial en una fortaleza. Y no se trata de una lista de buenas prácticas por cumplir. Se trata de proteger el futuro de tu infraestructura digital.

(Un reconocimiento especial para los equipos de IT, DevSecOps, CISO y seguridad que están detrás de todo esto, trabajando sin descanso para que sea posible).