La evolución de Snyk CLI mediante un enfoque extensible
Steve Winton
7 de febrero de 2023
0 minutos de lecturaCada día, miles de desarrolladores usan Snyk CLI como parte de su flujo de trabajo de desarrollo para identificar y resolver problemas de seguridad en su código lo antes posible. ¿Y si estos desarrolladores y otros profesionales de seguridad pudieran aprovechar el poder de este enfoque centrado en los desarrolladores y también utilizar análisis de seguridad, filtros y flujos de trabajo completamente nuevos mediante un enfoque extensible? Imagina poder filtrar, ignorar y escalar resultados de forma programática según la lógica empresarial personalizada, o incorporar análisis de seguridad personalizados a un comando snyk test extensible y hacer que sus resultados estén disponibles a lo largo de todo el ciclo de vida del desarrollo de software.
Ese es el rumbo que estamos tomando con Snyk CLI y hoy anunciamos el primer paso hacia esta visión con algunos cambios importantes.
Una excelente experiencia de CLI con un modelo distribuido
Desde su primer commit de código abierto, en 2015, Snyk CLI ha experimentado un crecimiento y una adopción increíbles. Cada vez más desarrolladores confían en esta herramienta para proteger sus aplicaciones. Con un conjunto de funciones en expansión que admite muchos flujos de trabajo de seguridad centrados en los desarrolladores, abarca todos los aspectos de las aplicaciones modernas, desde el código hasta la nube.
Para hacer realidad nuestra visión extensible y seguir ampliando Snyk CLI para ofrecer valor a nuestros usuarios, sin dejar de brindar una experiencia de línea de comandos clara y coherente, estamos pasando de una aplicación de CLI centralizada y «monolítica» a un modelo distribuido. Este nuevo modelo adopta un enfoque extensible por diseño, regido por interfaces estables.
Estamos cambiando la forma en que diseñamos, desarrollamos y lanzamos Snyk CLI, de modo que los comandos de nivel superior snyk funcionen como punto de entrada común a varias extensiones, una de las cuales será la CLI heredada.
¡Es mucho para imaginar! Aquí tienes un diagrama que ilustra este enfoque:

Este enfoque ofrece varias ventajas: mantenemos la compatibilidad con versiones anteriores y, al mismo tiempo, podemos innovar e incorporar nuevas funciones en espacios de nombres dedicados. Además, podemos dividir y descomponer de forma segura y gradual la aplicación monolítica heredada de CLI en sus componentes (extensibles).
Quienes han seguido de cerca los avances recientes de CLI quizá hayan notado que ya estamos aplicando este modelo con la introducción del comando snyk sbom, que actualmente está en versión beta y se desarrolló con nuestro marco de extensibilidad.
Mantente al tanto de las próximas novedades
Con el tiempo, veremos más «extensiones de primera clase» que se incorporarán y agruparán de forma coherente bajo el espacio de nombres de nivel superior de snyk CLI. Nuestro objetivo es habilitar un ecosistema abierto de extensiones útiles que permitan personalizar e innovar en torno a Snyk CLI. Por ejemplo, una herramienta de seguridad de terceros podría ampliar los análisis que realiza snyk test para incorporar más información sobre seguridad en las herramientas y los flujos de trabajo que los desarrolladores usan y en los que confían todos los días.
Por ahora, sin embargo, aunque internamente las cosas son un poco distintas —el punto de entrada y las extensiones se distribuyen como ejecutables binarios independientes—, desde una perspectiva externa no cambia la forma de usar la CLI. Seguiremos ofreciendo versiones en GitHub y npm, y alojaremos cada versión en nuestra CDN, static.snyk.io. En el futuro, si hacemos cambios incompatibles en Snyk CLI, los anunciaremos y especificaremos explícitamente (por ejemplo, siguiendo el versionado semántico).
Mientras tanto, esperamos que sigas disfrutando de Snyk CLI para proteger tus flujos de trabajo de desarrollo. Obtén más información sobre Snyk CLI en nuestra documentación. Si tienes preguntas o necesitas ayuda, ponte en contacto.
Empieza con Capture the Flag
Aprende a resolver desafíos de Capture the Flag viendo nuestro taller virtual introductorio a pedido.



