Skip to main content

Comment Reddit a utilisé l’API Snyk pour automatiser et déployer la sécurité des applications à grande échelle

Étude de cas client

Spencer Koch

Security Wizard

Secteur d’activité: Tech
Emplacement: San Francisco, California

Points forts:

A exploité l’API Snyk pour automatiser l’analyse de sécurité de plus de 1 000 dépôts

A simplifié l’adoption de Snyk grâce au client Python de Snyk

A créé une intégration Snyk avec GitHub Enterprise pour synchroniser automatiquement les dépôts

Le défi : déployer les capacités d’une petite équipe AppSec à grande échelle

Reddit est aujourd’hui l’une des plus grandes plateformes de réseaux sociaux. Elle s’attache à créer des communautés sous forme de forums où chacun peut échanger autour de centres d’intérêt communs. Toutefois, à mesure que l’entreprise s’est développée, le nombre de dépôts de code et la diversité des technologies sur lesquelles repose la plateforme ont également augmenté. Reddit a structuré ses efforts AppSec en adoptant Snyk pour réduire les risques liés à l’évolution de sa base de code.

Par ailleurs, Reddit disposait d’une petite équipe de sécurité chargée d’étendre ses efforts à de nombreuses équipes de développement, qui comptaient près de 600 ingénieurs. La plateforme Snyk étant déjà en place pour l’analyse de la composition logicielle, Reddit avait besoin d’une API robuste, capable de s’intégrer facilement à l’ensemble de sa pile technologique afin d’automatiser les tâches AppSec fastidieuses.

« Jusqu’à récemment, j’étais le seul membre de notre équipe de sécurité des applications chez Reddit », explique Spencer Koch, professionnel de la sécurité chez Reddit. « Avec quelques dépôts seulement, l’interface utilisateur de Snyk convient très bien. Mais Reddit en compte plus d’un millier. Je ne pouvais pas me permettre de parcourir l’interface pour supprimer des alertes, ajouter des dépôts ou effectuer d’autres tâches administratives. »

La solution : utiliser l’API Snyk pour automatiser la correction

L’interface utilisateur de Snyk est pratique pour les entreprises qui n’ont que quelques dépôts de code, mais y effectuer des changements manuels n’était pas efficace à l’échelle requise par Reddit. L’API Snyk a permis à Reddit non seulement d’automatiser les tâches répétitives, mais aussi d’intégrer étroitement l’analyse de sécurité à GitHub Enterprise (GHE). Cette intégration permet à Reddit de détecter automatiquement les vulnérabilités open source et de les corriger au moyen de demandes de tirage.

« Une fois nos dépôts assainis, nous avons inversé la logique : les nouvelles demandes de tirage échouaient dès qu’elles contenaient des vulnérabilités de sécurité », explique Koch. « Reddit est ainsi passé d’une approche réactive, pilotée par l’équipe de sécurité, à une approche centrée sur les développeurs et menée par eux. Nous n’aurions pas pu gérer tout ce travail sans l’API Snyk. »

L’API Snyk et son wrapper Python

En plus d’utiliser directement l’API Snyk, Reddit s’appuie également sur le wrapper Python de Snyk. Une grande partie de la pile technologique de Reddit étant basée sur Python, le client pysnyk intègre plus étroitement Snyk aux outils de développement existants. Cette intégration étroite a réduit les frictions et accéléré l’adoption de la plateforme Snyk dans les flux de travail des développeurs. L’équipe de sécurité de Reddit a ainsi pu obtenir immédiatement des informations sur les risques liés aux vulnérabilités des applications.

Reddit a également créé une intégration GHE, que l’entreprise a depuis mise en open source à destination de la communauté AppSec. Reddit a conçu snyk-sync pour exécuter chaque semaine une tâche cron planifiée qui synchronise les modifications avec les dépôts GHE. Ces mises à jour comprennent l’ajout de nouveaux dépôts ou la suppression de dépôts obsolètes, la configuration des paramètres d’intégration GHE appropriés et l’envoi d’alertes lorsqu’une étape CI manuelle avec Snyk CLI est nécessaire. Reddit utilise également pysnyk pour effectuer des actions groupées, comme supprimer les alertes détectées dans le code provenant de fournisseurs tiers ou de projets open source qui ne sont pas pertinents pour la base de code de Reddit.

« Nous apprécions Snyk, car il nous permet de centraliser certains de nos outils et d’intervenir à grande échelle dans les flux de travail des développeurs », explique Koch.

« Snyk est très axé sur les développeurs et nous avons pu facilement le déployer à grande échelle sans perturber leur travail.Les tests des demandes de tirage avec GHE fournissent des retours aux développeurs. Ils s’intègrent parfaitement à notre flux de travail actuel et réduisent les frictions. »

L’impact : déployer la sécurité sur plus de 1 000 dépôts

Grâce à l’API et au client Python de Snyk, Reddit a considérablement accéléré l’accès des développeurs et des ingénieurs en sécurité à des informations utiles sur la sécurité et à la gestion des vulnérabilités. En quelques semaines seulement, l’équipe de sécurité de Reddit a déployé la plateforme Snyk avec facilité sur la majeure partie de la base de code de Reddit, mettant en place à grande échelle l’analyse des dépendances open source et obtenant rapidement un retour sur investissement.

« La dimension humaine est extrêmement importante », déclare Koch. « Sans l’API Snyk, de nombreuses tâches de sécurité prendraient beaucoup de temps à l’échelle de Reddit. L’automatisation de certaines d’entre elles a donc réduit la charge opérationnelle et le coût total de possession de la plateforme Snyk. »