Le défi : multiplier l’efficacité d’une équipe AppSec réduite
Reddit fait partie des plus grandes plateformes de médias sociaux du moment. Ses communautés se réunissent au sein de forums pour y débattre autour de centres d’intérêt partagés. Au fil de sa croissance, l’entreprise a créé un nombre toujours plus important de dépôts de code et utilisé toujours plus de technologies. Elle a donc décidé de formaliser ses initiatives AppSec en adoptant Snyk pour se prémunir des risques générés par sa base de code en constante évolution.
Par ailleurs, l’équipe de sécurité de Reddit est réduite, mais devait prendre en charge de nombreuses équipes de développement totalisant presque 600 ingénieurs. La plateforme de Snyk se chargeant déjà de l’analyse de la composition des logiciels, Reddit avait désormais besoin d’une API puissante, capable de s’intégrer à l’ensemble de son infrastructure technologique, afin d’automatiser les tâches AppSec pénibles.
« En vérité, l’équipe de sécurité des applications de Reddit, c’était uniquement moi jusqu’il y a peu », révèle Spencer Koch, professionnel de la sécurité pour l’entreprise. « Avec seulement quelques dépôts, on peut passer sans problème par l’interface de Snyk. Le problème, c’est que Reddit en a plus de mille. Je n’avais pas le temps de cliquer dans l’interface pour supprimer des problèmes, ajouter des dépôts et gérer d’autres tâches administratives.
La solution : utiliser l’API de Snyk pour automatiser la correction
L’interface de Snyk est pratique pour les entreprises ne disposant que de quelques dépôts de code, mais elle impose un processus manuel qui n’est pas adapté aux besoins importants de Reddit. Avec l’API de Snyk, l’entreprise a pu automatiser les tâches répétitives, mais aussi intégrer de manière approfondie les scans de sécurité dans GitHub Enterprise (GHE). Avec cette intégration, Reddit est en mesure de détecter automatiquement les vulnérabilités du code open source et de les corriger par le biais de pull requests.
« Après avoir nettoyé nos dépôts, nous avons renversé le processus de sorte que les nouvelles pull requests échouent si elles contiennent des vulnérabilités de sécurité », explique Spencer Koch. « Reddit a ainsi pu abandonner son approche réactive, pilotée par l’équipe de sécurité, au profit d’une approche de remédiation dirigée par les développeurs. Si nous y sommes parvenus, c’est uniquement grâce à l’API de Snyk. »
API Snyk et encapsuleur Python
Reddit utilise directement l’API de Snyk, mais aussi son encapsuleur Python. Une grande partie de l’infrastructure technologique de Reddit étant basée sur Python, le client pysnyk permet d’intégrer Snyk plus étroitement aux outils de ses développeurs. Cette intégration rapprochée a simplifié et accéléré l’adoption de la plateforme Snyk, ce qui a permis à l’équipe de sécurité de Reddit de visualiser immédiatement les risques générés par les vulnérabilités des applications.
Reddit a également développé une intégration à GHE que l’entreprise a depuis mis à la disposition de la communauté AppSec dans le cadre d’une licence open source. Reddit a créé snyk-sync pour synchroniser chaque semaine les modifications des dépôts GHE via une tâche cron. Ces mises à jour incluent l’ajout de dépôts, la suppression des dépôts obsolètes, la configuration des paramètres d’intégration de GHE et la génération d’une alerte lorsqu’une étape de CI manuelle via Snyk CLI est nécessaire. Reddit utilise également pysnyk pour effectuer des actions en masse, comme la suppression des problèmes signalés dans les bases de code de fournisseurs tiers ou de projets open source sans lien avec sa propre base de code.
« Nous aimons la capacité de Snyk à centraliser certains de nos outils et à réaliser des déploiements massifs au sein des workflows de nos développeurs », affirme Spencer Koch.
« Snyk est une plateforme vraiment axée sur les développeurs, ce qui nous permet de la déployer très largement sans les perturber.Les tests de PR avec GHE pour fournir des commentaires aux développeurs se sont très bien intégrés à notre workflow actuel et ont fluidifié le processus. »
L’impact : sécurisation de plus de 1 000 dépôts
En utilisant l’API et le client Python de Snyk, Reddit a accéléré considérablement l’observabilité de la sécurité et la gestion des vulnérabilités pour les développeurs et les ingénieurs en sécurité. En vérité, l’équipe de sécurité de Reddit a même déployé la plateforme Snyk en deux semaines et couvert relativement facilement la majorité de la base de code de Reddit, avec un scan complet des dépendances open source, ce qui a généré un retour sur investissement rapide.
« La composante humaine est essentielle », affirme Spencer Koch. « Sans l’API de Snyk, beaucoup de tâches de sécurité prendraient un temps fou à l'échelle de Reddit. L’automatisation nous a permis d’alléger les opérations et de réduire le coût de possession lié à l’adoption de la plateforme Snyk. »