Cómo crear un complemento de Snyk para VS Code: entrevista con Peter Benjamin
Tim Kadlec
16 de marzo de 2017
0 minutos de lecturaPeter Benjamin (@pmbenjamin) es ingeniero sénior de software en el equipo de ciberseguridad de Intuit. Hace poco, Peter publicó un excelente complemento para VS Code que muestra los resultados de las pruebas de Snyk directamente en el editor. Decidimos hacerle algunas preguntas sobre el complemento para conocerlo mejor.
¿Por qué empezaste a usar Snyk?
Para mi equipo y para mí, la seguridad es un elemento fundamental del desarrollo de software, sobre todo porque cada año se publican varios informes y estudios que evalúan el estado de la seguridad en la web.
Usaba Node Security Platform (nsp) para mis proyectos de Node y bundler-audit/brakeman para los de Ruby/Rails. Cada herramienta es buena a su manera: analiza los archivos de manifiesto (por ejemplo, package.json y Gemfile) para identificar las dependencias y sus versiones, y las compara con su base de datos de avisos o vulnerabilidades. Pero, una vez que se detectan vulnerabilidades conocidas, el desarrollador debe resolverlo por su cuenta. Tiene que investigar si esa vulnerabilidad conocida se notificó al responsable de la dependencia o si se lanzó una versión más reciente que la corrige, y después aplicar las correcciones por sí mismo.
Cuando escuché hablar de Snyk, decidí probarlo en un proyecto personal. Me sorprendió lo que podía hacer Snyk. No solo analiza tus dependencias y sus versiones y las compara con una base de datos de vulnerabilidades, como nsp, sino que también puede proteger y monitorear tu proyecto de forma continua. Puedo pedirle a Snyk que vigile mi proyecto y me avise si se detectan vulnerabilidades conocidas en el futuro.
Además, puedo configurar Snyk para que abra automáticamente un PR en mi proyecto y corrija esa vulnerabilidad. Y, por si eso fuera poco, Snyk me ayuda a gestionar vulnerabilidades conocidas en distintos ecosistemas (por ahora, Ruby y Node, aunque estoy seguro de que se vienen muchas otras novedades interesantes).
Nota del editor: Así es. :)
Snyk lleva la protección de proyectos contra vulnerabilidades conocidas a otro nivel y hace que para los desarrolladores sea increíblemente fácil _no incorporarla a sus ciclos habituales de desarrollo.
¿Por qué decidiste crear la extensión para VS Code?
Una vez leí que a Guy Podjarny, cofundador de Snyk, le gusta crear herramientas de seguridad de aplicaciones que faciliten la gestión de la seguridad para los desarrolladores. También creo firmemente en esta filosofía. Cuanto más fáciles de usar sean las herramientas para los desarrolladores, más se adoptarán. Como profesionales de la seguridad, sabemos cuánto necesita esta industria adoptar prácticas mejores y más seguras.
Necesitaba una forma rápida de probar mis dependencias en un momento determinado desde el editor, sin tener que cambiar a otro panel, ventana o terminal para ejecutar snyk test.

Detecté una necesidad y la cubrí con la extensión vscode-snyk.
¿Puedes describir el proceso de desarrollo de la extensión?
El proceso de creación del complemento fue relativamente sencillo. Empecé con la plantilla básica de extensiones de Microsoft, generada con yeoman, y a partir de ahí todo fue sobre ruedas.
No conocía muy bien la API programática de Snyk y no había documentación publicada, así que abrí el REPL de Node (bucle de lectura, evaluación e impresión) y exploré hasta encontrar lo que buscaba y cómo conseguirlo.
A partir de ahí, me tomó unas 2 o 3 horas tener un prototipo funcionando en mi máquina y 1 hora dejarlo listo antes de publicarlo.
Entonces, ¿cómo usas la extensión?
Snyk es una parte fundamental de mi proceso de desarrollo, tanto en mis proyectos personales como en los de trabajo. En cuanto agrego una dependencia de producción a mi proyecto, ejecuto snyk test para asegurarme de que esté libre de vulnerabilidades conocidas.

Con el complemento para VS Code, es tan sencillo como presionar “CMD + SHIFT + P”, escribir “snyk” y luego presionar “enter”.
Si alguien quiere probarlo, ¿dónde puede encontrarlo?
La forma recomendada de instalar el complemento es directamente desde el editor: escribe ext install vscode-snyk o abre el panel Extensiones y busca “snyk”.
Si alguien quiere ayudar a contribuir, vscode-snyk es de código abierto y está disponible en GitHub. Estoy abierto a recibir comentarios, solicitudes de funciones o cualquier contribución de la comunidad.
Empieza con los desafíos de Capture the Flag
Aprende a resolver desafíos de captura la bandera con nuestro taller virtual introductorio a pedido.