Skip to main content

Cómo Reddit usó la API de Snyk para automatizar y ampliar la seguridad de las aplicaciones

Destacado del cliente

Spencer Koch

Security Wizard

Sector: Tecnología
Location: San Francisco, California

Aspectos destacados:

Usó la API de Snyk para automatizar el análisis de seguridad en más de 1000 repositorios

Simplificó la adopción de Snyk con el cliente de Snyk para Python

Creó una integración de Snyk con GitHub Enterprise para sincronizar repositorios automáticamente

El desafío: aprovechar un equipo pequeño de AppSec a gran escala

Reddit es una de las plataformas de redes sociales más grandes de la actualidad y se enfoca en crear comunidades tipo foro donde las personas pueden conversar sobre intereses comunes. Sin embargo, a medida que la empresa ha crecido, también han aumentado la cantidad de repositorios de código y la variedad de tecnologías en las que se basa la plataforma. Reddit formalizó sus iniciativas de AppSec al adoptar Snyk para mitigar los riesgos de una base de código en constante evolución.

Además, Reddit tenía un equipo de seguridad pequeño al que se le pidió ampliar sus esfuerzos para atender a numerosos equipos de desarrollo con casi 600 ingenieros. Reddit ya usaba la plataforma de Snyk para el análisis de composición de software y necesitaba una API robusta que pudiera integrarse fácilmente con toda su pila tecnológica para automatizar tareas tediosas de AppSec.

Hasta hace poco, el equipo de seguridad de aplicaciones de Reddit estaba compuesto únicamente por mí”, contó Spencer Koch, profesional de seguridad en Reddit. “Si solo tienes unos pocos repositorios, está bien interactuar con la interfaz de Snyk, pero Reddit tiene más de mil. No podía darme el lujo de hacer clic en la interfaz para suprimir problemas, agregar repositorios o realizar otras tareas administrativas.

La solución: usar la API de Snyk para la corrección automatizada

La interfaz de Snyk es práctica para las organizaciones que tienen pocos repositorios de código, pero hacer cambios manuales en ella no era eficiente a la escala que Reddit necesitaba. La API de Snyk le permitió a Reddit no solo automatizar tareas repetitivas, sino también integrar estrechamente el análisis de seguridad con GitHub Enterprise (GHE). Esta integración permite a Reddit detectar automáticamente vulnerabilidades de código abierto y corregirlas mediante pull requests.

“Después de limpiar nuestros repositorios, cambiamos el enfoque para que los nuevos pull requests fallaran si contenían vulnerabilidades de seguridad”, explicó Koch. “Esto hizo que Reddit pasara de un enfoque reactivo, iniciado por el equipo de seguridad, a uno centrado en los desarrolladores y liderado por ellos para corregir los problemas. La única forma de gestionar todo este trabajo era usar la API de Snyk.”

La API de Snyk y su wrapper para Python

Además de usar directamente la API de Snyk, Reddit también aprovecha el wrapper de Snyk para Python. Como una gran parte de la pila tecnológica de Reddit está desarrollada en Python, el cliente pysnyk integra Snyk más estrechamente con las herramientas de desarrollo existentes. Esta integración ha reducido las fricciones y acelerado la adopción de la plataforma de Snyk en los flujos de trabajo de los desarrolladores, lo que permitió que el equipo de seguridad de Reddit obtuviera de inmediato información sobre los riesgos de vulnerabilidades en las aplicaciones.

Reddit también creó una integración con GHE que desde entonces puso a disposición de la comunidad de AppSec como código abierto. Reddit creó snyk-sync para ejecutar una tarea cron semanal programada que sincroniza los cambios con los repositorios de GHE. Estas actualizaciones incluyen agregar repositorios nuevos o eliminar los que ya no se usan, configurar los ajustes de integración de GHE adecuados y enviar alertas cuando se requiere un paso manual de CI con Snyk CLI. Reddit también aprovecha pysnyk para realizar acciones en lote, como suprimir problemas detectados en bases de código de proveedores externos o proyectos de código abierto que no son relevantes para su base de código.

Nos gusta Snyk porque nos permite centralizar algunas de nuestras herramientas y actuar a gran escala en los flujos de trabajo de nuestros desarrolladores”, comentó Koch.

“Snyk está muy centrado en los desarrolladores y también nos resultó fácil ampliar su uso sin interrumpir su trabajo.Las pruebas de PR con GHE, que brindan comentarios a los desarrolladores, encajaron muy bien con nuestro flujo de trabajo actual y redujeron las fricciones.”

El impacto: ampliar la seguridad a más de 1000 repositorios

Al aprovechar la API de Snyk y el cliente para Python, Reddit aumentó significativamente la velocidad con la que los desarrolladores y los ingenieros de seguridad obtienen visibilidad útil sobre la seguridad y gestionan las vulnerabilidades. De hecho, el equipo de seguridad de Reddit implementó la plataforma de Snyk en un par de semanas y cubrió con relativa facilidad la mayor parte de la base de código de Reddit, con lo que logró analizar dependencias de código abierto a gran escala y obtener un rápido retorno de la inversión.

“El factor humano es sumamente importante”, dijo Koch. “Sin la API de Snyk, muchas tareas de seguridad tomarían mucho tiempo dada la escala de Reddit. Automatizar algunas de ellas ha reducido la carga operativa y el costo total de propiedad de adoptar la plataforma de Snyk.”