Skip to main content

Como o Reddit usou a API da Snyk para automatizar e ampliar a segurança de aplicações

Destaque do cliente

Spencer Koch

Security Wizard

Setor: Tecnologia
Location: San Francisco, California

Destaques:

Usou a API da Snyk para automatizar a análise de segurança em mais de 1.000 repositórios

Simplificou a adoção da Snyk com o cliente Python da Snyk

Criou uma integração da Snyk com o GitHub Enterprise para sincronizar repositórios automaticamente

O desafio: ampliar a atuação de uma pequena equipe de segurança de aplicações

A Reddit é hoje uma das maiores plataformas de mídia social, voltada à criação de comunidades em formato de fóruns para que as pessoas conversem sobre interesses em comum. Com o crescimento da empresa, também aumentaram o número de repositórios de código e a variedade de tecnologias usadas na plataforma. A Reddit formalizou suas iniciativas de segurança de aplicações ao adotar a Snyk para reduzir os riscos de sua base de código em constante evolução.

Além disso, a Reddit tinha uma pequena equipe de segurança, responsável por ampliar sua atuação para atender a diversas equipes de desenvolvimento, com quase 600 engenheiros. Como a plataforma da Snyk já era usada para análise de composição de software, a Reddit precisava de uma API robusta, capaz de se integrar facilmente a toda a sua pilha tecnológica e automatizar tarefas repetitivas de segurança de aplicações.

“Até pouco tempo atrás, eu era a única pessoa na equipe de segurança de aplicações da Reddit”, contou Spencer Koch, profissional de segurança da Reddit. “Se você tivesse poucos repositórios, não seria um problema interagir com a interface da Snyk. Mas a Reddit tem mais de mil repositórios. Eu não podia me dar ao luxo de navegar pela interface para suprimir problemas, adicionar repositórios ou cuidar de outras tarefas administrativas.”

A solução: usar a API da Snyk para automatizar a correção de vulnerabilidades

A interface da Snyk é prática para organizações com poucos repositórios de código, mas fazer alterações manualmente nela não era eficiente na escala necessária para a Reddit. Com a API da Snyk, a Reddit pôde não só automatizar tarefas repetitivas, mas também integrar de perto a análise de segurança ao GitHub Enterprise (GHE). Essa integração permite detectar vulnerabilidades de código aberto automaticamente e corrigi-las por meio de pull requests.

“Depois de limpar nossos repositórios, mudamos a estratégia: os novos pull requests passaram a ser reprovados quando apresentavam vulnerabilidades de segurança”, afirmou Koch. “Isso tirou a Reddit de uma abordagem reativa, conduzida pela equipe de segurança, e nos levou a uma abordagem centrada nos desenvolvedores, em que eles lideram as correções. Só conseguimos gerenciar todo esse trabalho com a API da Snyk.”

A API e o wrapper Python da Snyk

Além de usar diretamente a API da Snyk, a Reddit também utiliza o wrapper Python da Snyk. Como grande parte de sua pilha tecnológica é baseada em Python, o cliente pysnyk integra a Snyk mais profundamente às ferramentas já usadas pelos desenvolvedores. Essa integração reduziu os obstáculos e acelerou a adoção da plataforma da Snyk no fluxo de trabalho dos desenvolvedores, permitindo que a equipe de segurança da Reddit obtivesse imediatamente informações sobre os riscos de vulnerabilidades nas aplicações.

A Reddit também criou uma integração com o GHE e, desde então, disponibilizou seu código para a comunidade de segurança de aplicações. A empresa criou o snyk-sync para executar semanalmente uma tarefa cron que sincroniza as alterações nos repositórios do GHE. Essas atualizações incluem adicionar novos repositórios ou remover os obsoletos, definir as configurações adequadas da integração com o GHE e enviar alertas quando for necessária uma etapa manual de CI com a Snyk CLI. A Reddit também usa o pysnyk para executar ações em lote, como suprimir problemas identificados em bases de código de fornecedores terceirizados ou projetos de código aberto que não são relevantes para a base de código da Reddit.

“Gostamos da Snyk porque ela nos permite centralizar algumas ferramentas e atuar em grande escala nos fluxos de trabalho dos nossos desenvolvedores”, afirmou Koch.

“A Snyk é muito centrada nos desenvolvedores e foi fácil ampliar seu uso sem atrapalhar o trabalho deles.Os testes de PR com o GHE, que dão feedback aos desenvolvedores, se encaixaram muito bem no nosso fluxo de trabalho e reduziram os obstáculos.”

O impacto: ampliar a segurança em mais de 1.000 repositórios

Com a API e o cliente Python da Snyk, a Reddit aumentou significativamente a velocidade com que desenvolvedores e engenheiros de segurança obtêm informações úteis para monitorar a segurança e gerenciar vulnerabilidades. A equipe de segurança da Reddit implementou a plataforma da Snyk em poucas semanas, cobrindo com relativa facilidade a maior parte da base de código da empresa e viabilizando a análise de dependências de código aberto em grande escala, com rápido retorno sobre o investimento.

“O fator humano é extremamente importante”, afirmou Koch. “Sem a API da Snyk, muitas tarefas de segurança levariam muito tempo na escala da Reddit. Automatizar parte delas reduziu a carga operacional e o custo total de propriedade da adoção da plataforma da Snyk.”