Skip to main content

Lecciones de seguridad con un Snyk Ambassador

Escrito por
Headshot of Andres Haro

Andres Haro

10 de octubre de 2022

0 minutos de lectura

De Andres Haro, Snyk Ambassador

La seguridad es una preocupación en la industria tecnológica desde hace años. Sin embargo, muchas empresas no siguen sus propios protocolos ni guías para proteger el código.

Es fácil pensar que los incidentes de seguridad son poco comunes (o que es poco probable que ocurran en tu organización), pero el reciente incidente de Uber es uno de muchos ejemplos que demuestran lo contrario. Todo empezó cuando una persona de 18 años usó ingeniería social para convencer a un empleado de Uber de iniciar sesión en un sitio falso de Uber. Así, logró obtener las credenciales ingresadas en tiempo real e iniciar sesión en el sitio real de Uber.

La brecha de seguridad de Uber y las lecciones aprendidas

En ese momento, Uber tenía habilitada la autenticación multifactor (MFA): una aplicación que le pedía al empleado presionar un botón de alerta en su smartphone al iniciar sesión. Para evadir esta protección, el hacker ingresó las credenciales en el sitio real varias veces. El empleado estaba confundido o cansado y, finalmente, presionó el botón. Para entonces, el hacker ya había logrado entrar.

Ahora imagina que Uber fuera una empresa que no pudiera hacer nada. Incluso con MFA, un usuario malicioso tuvo la suficiente creatividad para obtener información personal de la empresa y causar daños. Ahora imagina lo que podría haber pasado si no hubieran tomado medidas para proteger su código.

¿Cómo proteger tu código?

Si formas parte de la comunidad tecnológica, probablemente consultas Stack Overflow con frecuencia para encontrar código de código abierto y respuestas a tus preguntas. Es una excelente herramienta para colaborar y resolver problemas, pero copiar directamente en tu aplicación código de un sitio de terceros puede exponerte a muchas vulnerabilidades potenciales.

Para evitar estos posibles riesgos, te recomiendo usar la herramienta Code Checker de Snyk para analizar el código que elijas antes de copiarlo a una rama de tu entorno de producción.

Página web de Snyk Code Checker que muestra código JavaScript ingresado para un análisis de seguridad, con botones para registrarse con GitHub y Google, y un botón «Revisar código».

Quizás te preguntes qué puede hacer Snyk por mí. Además de ayudarte a analizar código de cualquier plataforma, Snyk te ofrece información sobre posibles problemas en tus repositorios actuales y consejos para solucionarlos.

En la imagen de abajo, verás que Snyk está conectado a mi cuenta de GitHub.

Panel de seguridad de Snyk que muestra tareas pendientes, proyectos vulnerables y la cantidad actual de problemas de seguridad.

Al conectar Snyk a tu cuenta de GitHub, podrás comprobar qué dependencias no están actualizadas, qué está dañando tu código y qué debes actualizar.

La siguiente imagen muestra un informe de Snyk con las vulnerabilidades que se encontraron en el análisis, clasificadas como bajas, medias, altas o críticas según su gravedad. Ahora tienes toda la información que necesitas para decidir si ignoras la vulnerabilidad o la corriges.

Panel de Snyk que muestra las vulnerabilidades de package.json, incluida una vulnerabilidad de contaminación del prototipo de lodash de alta gravedad y un botón para corregir vulnerabilidades.

Como profesional de DevSecOps, siempre doy prioridad a las vulnerabilidades críticas y animo a los equipos a revisar el puntaje y determinar si podemos corregirlas de inmediato. ¿Por qué lo digo? Porque tendrán que informar a los ingenieros de software sobre las vulnerabilidades descubiertas y ver si tienen tiempo en el sprint actual para resolverlas. Por otro lado, algunos equipos deciden corregir las vulnerabilidades altas o críticas el mismo día en que las descubren. Todo depende de los recursos y el personal de tu organización. Snyk es una herramienta especialmente útil porque permite tomar cualquiera de estas decisiones: puedes corregir una vulnerabilidad más adelante o crear un PR de inmediato.

Si haces clic en «Corregir esta vulnerabilidad», verás lo siguiente:

Informe de correcciones de seguridad que enumera paquetes vulnerables, actualizaciones disponibles, correcciones parciales y problemas sin solución

La pantalla Abrir un PR de corrección muestra todas las vulnerabilidades encontradas en el análisis y puede generar algunas preguntas específicas. Para obtener más información sobre un problema de la lista del PR, haz clic en una de las vulnerabilidades. En este caso, haremos clic en denegación de servicio por expresión regular (ReDoS), en Problemas con una corrección.

Página de la base de datos de vulnerabilidades de Snyk que detalla una vulnerabilidad de denegación de servicio por expresión regular de alta gravedad en el paquete npm ansi-html.

Esto te dará un desglose completo de lo que estás enfrentando. Si el problema no es real o se marcó por error, siempre puedes reportarlo haciendo clic en «¿Encontraste un error?». Se abrirá otra pantalla donde podrás compartir los detalles.

Si no conoces una vulnerabilidad, puedes obtener más información en Snyk Learn. Para ver nuestro ejemplo, visita la página de lecciones sobre ReDoS.

Ahora que tenemos más confianza y estamos mejor informados, podemos crear el PR. En GitHub, debería verse más o menos así:

pull request de GitHub de Snyk titulado «Solución para 8 vulnerabilidades», que enumera dependencias de npm vulnerables y su gravedad, problemas y nivel de madurez de explotación.

Después, tendrás la opción de fusionar el nuevo PR y la nueva rama con todas las correcciones.

pull request de GitHub que muestra que todas las verificaciones pasaron, que no hay conflictos de fusión y la opción de fusionar el pull request

Si decides fusionar, verás lo siguiente:

Interfaz de GitHub con tema oscuro que muestra un pull request fusionado y cerrado correctamente, con un editor de comentarios y un botón para eliminar la rama.

Si quieres saber qué cambió en tu repositorio, tendrás que revisar los archivos modificados en GitHub:

Diferencia de código con tema oscuro que muestra actualizaciones de versiones de dependencias en package.json, con una gran diferencia contraída de package-lock.json arriba

Como puedes ver, hicimos algunas actualizaciones para mantener todo al día. Ahora podemos volver al panel de Snyk y comprobar si se corrigieron todos los problemas. Si necesitas enviar un informe a la gerencia, te sugiero agregar a esas personas a tu cuenta de Snyk y compartir este tipo de informe con ellas.

Panel de informe de seguridad que muestra totales de problemas por gravedad, problemas de licencias, tendencias a lo largo del tiempo, ventanas de exposición y métricas de actividad

Amplía tus conocimientos de seguridad con Snyk

Si quieres aprender más sobre seguridad para desarrolladores, visita Snyk Learn: encontrarás muchas lecciones interactivas sobre vulnerabilidades en diversos lenguajes y ecosistemas. O, si prefieres los videos, visita el canal oficial de YouTube de Snyk. Si necesitas consejos de seguridad, no dudes en contactar a cualquiera de los Snyk Ambassadors: son un grupo de personas increíbles con amplios conocimientos de ciberseguridad, y la comunidad sigue creciendo.

Leer más

illustration hero ai
Blog

PHP corrige dos vulnerabilidades críticas de RCE sin autenticación (CVE-2026-109618, CVE-2026-109619): actualiza ahora

Dos fallas críticas en el ciclo de solicitudes de PHP pueden permitir la ejecución remota de código sin autenticación. Actualiza a una versión corregida o instala una corrección retroportada por un proveedor para las versiones anteriores.

blog feature ai lilac
Blog

Convierte tu backlog de vulnerabilidades en pull requests con la remediación agéntica

Evo Remediation Agent ya está disponible en Open Preview e incorpora la resolución automatizada de dependencias a Evo Agentic AppSec. Ahora, los equipos de AppSec pueden ejecutar campañas de remediación continuas

AI Background min crop
Blog

La IA activa todos los riesgos que has aceptado: siete ideas del panel de seguridad de IA sin filtros

La IA hace que los ataques sean más baratos y rápidos, y deja al descubierto riesgos que las organizaciones ya enfrentan. Cuatro líderes de seguridad explican por qué la defensa a velocidad de máquina y la corrección más rápida son esenciales.