Exigência de autenticação na Snyk CLI
12 de janeiro de 2017
0 minutos de leituraDesde o lançamento da Snyk, no fim de 2015, oferecemos testes anônimos de aplicações. Hoje, lançamos uma nova versão que exige cadastro (gratuito!) e autenticação antes dos testes. Neste post, explicamos por que fizemos essa mudança e como ela afeta você.
Como prevenir o uso abusivo
Ao longo de 2016, vimos o uso da Snyk crescer bastante. A maior parte desse uso era legítima e aumentava em um ritmo rápido, mas constante. De vez em quando, porém, ocorria um aumento repentino e enorme no número de testes. Em geral, esses picos eram abusivos (às vezes, até ataques intencionais) e sobrecarregavam nosso sistema, deixando-o mais lento para os outros usuários.
Em teoria, a solução é simples: bloquear ou limitar usuários abusivos. Na prática, porém, é praticamente impossível identificar e bloquear usuários anônimos. Sistemas em nuvem, de plataformas de CI como Travis e Circle a serviços como AWS e Google Cloud, reutilizam endereços IP o tempo todo. Por isso, bloquear por IP é muito impreciso. Da mesma forma, como pacotes de código aberto são compartilhados e testados por muitos usuários, bloquear testes pelo nome do pacote também não funciona bem.
Essas foram as duas alternativas mais promissoras que exploramos, antes de concluir que a única forma de evitar o uso abusivo de um serviço como o nosso é exigir autenticação. Com os usuários autenticados, fica fácil bloquear ou limitar quem consome mais do que sua parcela justa de recursos.
Mais perto dos nossos usuários
A Snyk é uma empresa em crescimento e que se move rapidamente, e nossas ferramentas evoluem nessa mesma velocidade. Lançamos regularmente novos recursos para ajudar nossos usuários a proteger suas aplicações com menos esforço e mais precisão.
Infelizmente, quem usa a CLI da Snyk anonimamente no CI tem poucas oportunidades de conhecer esses novos recursos. Como resultado, percebemos que esses usuários ficam para trás: são os que demoram mais para ampliar o uso da Snyk e proteger mais aplicações.
A própria exigência de autenticação é um bom exemplo desse problema, pois não tínhamos uma boa forma de avisar os usuários com antecedência. Nos últimos meses, nossa CLI informava que a autenticação passaria a ser obrigatória. Isso teve algum efeito, mas não era um bom canal de comunicação.
Ao exigir autenticação, temos a oportunidade de avisar você sobre mudanças importantes, desde novos recursos empolgantes até alterações que podem afetar seu uso atual.
E quanto à aplicação de correções?
Embora agora a autenticação seja necessária para testar com a Snyk, ela não é necessária para aplicar correções da Snyk usando snyk protect, e não temos planos de mudar isso.
Corrigir vulnerabilidades com os patches da Snyk costuma fazer parte da instalação de um pacote npm. O pacote instala suas dependências e, em seguida, corrige as vulnerabilidades restantes. Esse processo é realizado por quem usa o pacote, não por quem usa a Snyk, e não há um lugar adequado para incluir um token da Snyk nesse fluxo.
Por isso, snyk protect continuará permitindo o uso anônimo, apesar do risco de abuso de recursos. Ainda bem que protect é uma ação relativamente leve para nossos servidores!
Isso significa que agora preciso pagar para usar a Snyk?
De jeito nenhum!
O cadastro na Snyk sempre foi gratuito e continua sendo. Basta executar snyk auth no terminal (ou se cadastrar em https://snyk.io/) para criar uma conta. Também oferecemos planos premium, que vale muito a pena conhecer, mas o plano gratuito da Snyk continua exatamente igual.
Depois de se cadastrar, você encontrará o comando snyk auth (com sua chave específica) no painel, após fazer login, e na página da conta. Adicione essa linha antes de snyk test e pronto. Se você usa a Snyk no CI, consulte nossa documentação para saber como configurar seu token de autenticação.
Se você usa Github ou já executa snyk auth antes de snyk test, não precisa fazer nada.
O que vem a seguir
Para facilitar a transição, por enquanto exigimos autenticação apenas na versão mais recente da nossa CLI. Nas próximas semanas, pretendemos acompanhar a adoção da nova versão e, quando chegar a hora, tornar a autenticação obrigatória no servidor.
Esperamos que você continue usando a Snyk para proteger suas aplicações. Como sempre, adoraríamos receber sua opinião sobre essa mudança ou qualquer outra pelo e-mail support@snyk.io.
Comece a participar de desafios de Capture the Flag
Aprenda a resolver desafios de Capture the Flag assistindo sob demanda ao nosso workshop virtual introdutório.