Mantener auditada la seguridad de tus desarrollos no es fácil. ¿conoces todas las librerías de tus proyectos? ¿Están siempre actualizadas? Es por esto y muchas otras razones por las que deberías evaluar y auditar tus desarrollos con una solución como Snyk.io.

La importancia de evaluar tus desarrollos

Snyk publicó hace 1 año, el informe sobre, el estado de la seguridad en entornos Open Source, bajo el nombre The State of Open Source Security. Este informe deslumbra que entre el 80 y el 90% de los desarrolladores de software comercial utilizan componentes de código abierto en sus aplicaciones. Mientras que la cantidad de vulnerabilidades halladas en bibliotecas utilizadas en este tipo de desarrollos no para de aumentar:

Evolución de vulnerabilidades en proyectos Open Source - The State of Open Source Security

Las conclusiones de Snyk en torno a su propio informe son claras, destaca la gran popularidad del Open Source, con una clara expansión, aunque por otro lado todavía queda concienciar a los desarrolladores sobre los riesgos de no utilizarlo o gestionar correctamente los recursos Open Source.

Características de Snyk

Snyk se centra en evaluar el código de tus desarrollos, automatizando la búsqueda y reparación de vulnerabilidades en las dependencias.

En la actualidad es capaz de evaluar vulnerabilidades de lenguajes como JavaScript, Node, Java, Python, Ruby, Go, PHP.... Y podrás cualificar la seguridad de tu código directamente desde tu control de versiones como GitHub, GitLab o Bitbucket, o también puedes instalar su CLI para evaluar un entorno local.

Snyk se encarga de monitorear continuamente las dependencias de tu aplicación y te permite responder rápidamente cuando se descubran nuevas vulnerabilidades.

Sus principales características son:

Búsqueda de vulnerabilidades:

Mapeando tu aplicación en busca de vulnerabilidades basadas en una completa base de firmas gestionada y validad por el equipo de Snyk.

Reparación de vulnerabilidades:

Es capaz de actualizar tu repositorio con alguna vulnerabilidad, con una nueva versión sin vulnerabilidades, parcheando con precisión, por ejemplo, el archivo package.json, o Gemfile de tu proyecto.

Prevención:

Puedes integrar Snyk en algunos IDE para identificar vulnerabilidades, además de ofrecerte librerias sin vulnerabilidades mientras desarrollas tu aplicación.

Alertas:

Puedes programar las alertas por email, Slack o Jira para estar informando de nuevas vulnerabilidades que afecten a tus proyectos.

Aunque Snyk tenga muchas de sus funcionalidades como Open Source, principalmente ofrece su core como SaaS de forma gratuita o con un coste asociado, deberías evaluar tus necesidades para escoger el plan que mejor se adapte a tu equipo de trabajo.

Actualmente Snyk ha sido nombrada como “2018 Cool Vendor by Gartner” en aplicaciones y seguridad de datos. Confían en Synk empresas como: Salesforce, Google, Microsoft, NewRelic, The Guardian, etc:

Estas integraciones en empresas como Google, dan como resultado productos indispensables como, por ejemplo, Lighthouse:

Lighthouse integra Snyk

Snyk en tu integración continúa

Como explicamos hace unas semanas, la integración continua te permite reducir el riesgo y abordar los errores de forma rápida, y en fases más tempranas, además de permitir tener rápidamente software que funcione.

Bajo la premisa de la integración continua, ‘reducir el riesgo’, es importante integrar una solución como Snyk en busca de vulnerabilidades antes de desplegar tu código. Así desde el inicio, protegerás el ciclo de vida de tu aplicación, desde el desarrollo hasta su implementación.

Snyk tiene la capacidad de integrarse con herramientas como:

  • Control de versiones: Evaluando cada uno de tus repositorios, en plataformas como GitHub, GitLab o Bitbucket, o también puedes instalar su CLI para evaluar un entorno local.
  • Herramienta de integración continua y entrega continua: facilitando la integración con tu herramientas como Jenkins, Teamcity, Travis….
  • PAAS y serverless: conectando con Heroku, Cloud Foundry, AWS Lambda, entre otros, para validar tus aplicaciones en desplegadas en producción.

Conclusión

Es vital tener visibilidad del estado de las librerías que utilizas en tus desarrollos. Es por ello que deberías integrar una herramienta como Snyk en tu integración continua para evaluar y auditar tus desarrollos. Te permitirá responder rápidamente ante nuevas vulnerabilidades. Como decimos en ITDO, auditar y monitorizar todo, es muy importante, con el fin de adelantarse a las necesidades de tu cliente.

¿Tienes implementada la seguridad continua en tus desarrollos?

Fotografía by Clément H on Unsplash

Fuentes: