Requerir autenticación en Snyk CLI
12 de enero de 2017
0 minutos de lecturaDesde el lanzamiento de Snyk a finales de 2015, hemos permitido probar aplicaciones de forma anónima. Hoy, lanzamos una nueva versión que requiere registrarse (¡gratis!) y autenticarse antes de realizar pruebas. En esta publicación explicamos por qué hicimos este cambio y cómo te afecta como usuario.
Cómo prevenir el uso abusivo
A lo largo de 2016, observamos un uso amplio y creciente de Snyk. La mayor parte era legítima y crecía a un ritmo rápido pero constante, pero de vez en cuando recibíamos una cantidad enorme de pruebas. Por lo general, estos picos se debían a un uso abusivo (a veces, incluso a ataques intencionales) y aumentaban drásticamente la carga de nuestro sistema, lo que lo ralentizaba para otros usuarios.
En teoría, la solución es sencilla: bloquear o limitar el uso de los usuarios abusivos. Sin embargo, en la práctica es casi imposible identificar y bloquear a usuarios anónimos. Los sistemas en la nube, desde plataformas de CI como Travis y Circle hasta plataformas en la nube como AWS y Google Cloud, reutilizan direcciones IP constantemente, por lo que bloquear por IP es muy poco preciso. Del mismo modo, el uso compartido (y las pruebas compartidas) de paquetes de código abierto también hacen que bloquear pruebas por nombre de paquete sea poco preciso.
Esas fueron las dos opciones más prometedoras que exploramos antes de concluir que la única manera de evitar el uso abusivo de un servicio como el nuestro es exigir que los usuarios se autentiquen. Una vez autenticado, resulta fácil bloquear o limitar el uso de quien consume más de lo que le corresponde.
Conectar con nuestros usuarios
Snyk es una empresa en crecimiento y de ritmo acelerado, y nuestras herramientas evolucionan rápidamente. Lanzamos nuevas funciones con regularidad para ayudar a nuestros usuarios a proteger sus aplicaciones con menos esfuerzo y mayor precisión.
Lamentablemente, quienes usan Snyk CLI de forma anónima en CI tienen pocas oportunidades de conocer estas nuevas funciones. Como resultado, hemos observado que estos usuarios anónimos se quedan atrás: son quienes más tardan en ampliar el uso de Snyk a más aplicaciones y en aprovechar sus novedades.
Este cambio, que exige autenticación, es un buen ejemplo del problema: no teníamos una buena manera de avisar a los usuarios que pronto sería necesaria. Durante los últimos meses, CLI indicó que pronto exigiríamos autenticación. Esto tuvo cierto efecto, pero fue una forma de comunicación poco eficaz.
Al exigir autenticación, tenemos la oportunidad de informarte sobre cambios importantes, desde nuevas funciones interesantes hasta cambios que pueden afectar tu uso actual.
¿Y qué pasa con la aplicación de parches?
Aunque las pruebas de Snyk ahora requieren autenticación, aplicar parches de snyk con snyk protect no la requiere, y no tenemos planes de cambiarlo.
La corrección de vulnerabilidades con los parches de Snyk suele formar parte de la instalación de un paquete npm. El paquete instala sus dependencias y luego aplica parches a las vulnerabilidades restantes. Este proceso lo realizan quienes usan el paquete, no quienes usan snyk, y no hay un lugar adecuado para incluir un token de Snyk en este flujo.
Por lo tanto, snyk protect seguirá permitiendo el uso anónimo, pese a cierto riesgo de abuso de recursos. ¡Por suerte, protect es una acción relativamente ligera para nuestros servidores!
¿Esto significa que ahora tengo que pagar para usar Snyk?
¡Para nada!
El registro en Snyk siempre ha sido gratis y lo sigue siendo. Solo tienes que ejecutar snyk auth en tu terminal (o registrarte en https://snyk.io/) para crear una cuenta. También ofrecemos planes premium que te recomendamos explorar, pero el plan gratuito de Snyk sigue exactamente igual que antes.
Una vez que te registres, encontrarás el comando snyk auth (con tu clave específica) en tu panel después de iniciar sesión y en la página de tu cuenta. Agrega esa línea antes de snyk test y listo. Si usas Snyk en tu CI, consulta nuestra documentación para saber cómo configurar allí tu token de autenticación.
Si usas Github o ya ejecutas snyk auth antes de snyk test, no tienes que hacer nada.
¿Qué sigue?
Para que nuestros usuarios puedan adaptarse poco a poco, por ahora solo exigimos autenticación en la versión más reciente de CLI. En las próximas semanas, planeamos hacer seguimiento a la adopción de la nueva versión y, cuando sea el momento adecuado, exigir la autenticación desde el servidor.
Esperamos que sigas usando Snyk para proteger tus aplicaciones. Como siempre, nos encantará conocer tus comentarios sobre este cambio o cualquier otro en support@snyk.io.
Empieza con Capture the Flag
Aprende a resolver desafíos de Capture the Flag viendo nuestro taller virtual introductorio a pedido.