Études de cas HackerOne
+

HackerOne réalise des déploiements 5  fois plus rapides avec la sécurité intégrée de GitLab

Déploiements plus rapides
Moins de changement de contexte
Consolidation des outils
Secteur Technologie
Employés Plus de 300
Emplacement San Francisco, États-Unis ; Londres, Royaume-Uni ; Groningen, Pays-Bas

Vous souhaitez découvrir ce que GitLab Ultimate peut offrir à votre équipe ?

Essayer GitLab Ultimate gratuitement

HackerOne, l'entreprise de sécurité alimentée par des pirates informatiques la plus réputée au monde, a adopté GitLab pour éliminer les chaînes d'outils hétérogènes et contrôler la sécurité en amont.

HackerOne a amélioré le temps d'exécution des pipelines, la rapidité de déploiement, la réactivité et le rendement de ses développeurs grâce à GitLab Ultimate.

GitLab nous aide à détecter rapidement les failles de sécurité et cette fonctionnalité est intégrée dans le workflow des développeurs. Les développeurs peuvent pousser du code dans GitLab CI et immédiatement recevoir des commentaires lors de l'une des nombreuses étapes d'audit en cascade. Ils peuvent ainsi constater la présence éventuelle d'une vulnérabilité de sécurité. Ils peuvent même créer de nouvelles étapes qu'ils jugent nécessaires pour tester des problèmes de sécurité très spécifiques.
- Mitch Trale, Head of Infrastructure, HackerOne

Plateforme de sécurité alimentée par des pirates

HackerOne aide le monde à construire un Internet plus sûr. En tant que plateforme de sécurité la plus fiable au monde, HackerOne permet aux entreprises d'accéder à la plus grande communauté de pirates informatiques de la planète. Grâce à la base de données la plus complète sur les tendances en matière de vulnérabilités et les benchmarks sectoriels, cette communauté de pirates informatiques contribue à réduire les risques informatiques. Pour cela, elle mène des recherches approfondies, identifie et signale de manière sécurisée les failles de sécurité réelles des entreprises, quel que soit leur secteur d'activité ou l'étendue de leur surface d'attaque.

Alors que le monde gagne en connectivité et que les entreprises se tournent vers l'informatique dans le cloud, la cybersécurité doit suivre le mouvement. HackerOne aide les équipes de sécurité à s'adapter à leurs surfaces d'attaque agiles en fournissant des tests de sécurité alimentés par ses pirates informatiques. Elles partagent également des informations clés sur les vulnérabilités qui permettent de réduire les risques tout au long du cycle du développement logiciel.

Rapidité de développement et de déploiement

L'envergure mondiale de HackerOne crée des interdépendances entre les équipes pour assurer le réussite des projets. Il arrivait fréquemment qu'un développeur basé aux Pays-Bas travaille sur un code, puis qu'un autre en Amérique du Nord prenne le relais là où le premier s'était arrêté. Les longs délais de pipeline pouvaient perturber la continuité du travail par le développeur suivant. Mitch Trale, Head of Infrastructure chez HackerOne explique : « Dans de nombreux cas, une merge request se retrouvait bloquée alors que nous souhaitions justement l'exécuter... si nous avions disposé d'outils plus efficaces, nous aurions pu effectuer le push plus rapidement. »

HackerOne utilisait des outils hétérogènes pour le contrôle des versions de code et l'intégration continue. L'entreprise ne cessait de se développer, avec une équipe d'ingénierie passant de 10 à 30 membres. Mitch Trale indique que ces outils étaient « considérablement limités … Par exemple, le temps qu'il fallait pour exécuter un seul pipeline dans notre ancien système rendait cette opération fréquemment impossible ». « Les ingénieurs ont donc commencé à contourner ces limitations. Nous avons alors commencé à provoquer des pannes en aval, dont nous devions nous occuper séparément. » L'équipe avait besoin d'un outil capable de s'adapter aux besoins croissants de HackerOne et de gérer de multiples projets impliquant plusieurs équipes.

HackerOne a donc envisagé d'adopter de nouveaux outils logiciels. Ses principaux critères de choix se portaient sur la rapidité du développement et du déploiement, ainsi que la satisfaction des développeurs. « Nous optimisons nos efforts pour que nos ingénieurs soient heureux, dans la mesure du possible. De meilleurs outils nous aident à automatiser davantage de processus, ce qui nous permet d'obtenir un meilleur rendement et une meilleure qualité », précise Mitch Trale. L'équipe avait besoin d'une plateforme qui améliorerait l'expérience développeur à chaque étape, du développement au déploiement.

Évolutivité et adoption par les développeurs

HackerOne a adopté GitLab fin 2018 pour la gestion du code source, la gestion des tickets, la gestion du pipeline CI/CD, et les fonctionnalités de sécurité et de conformité qui n'existaient pas dans la précédente chaîne d'outils de l'équipe. GitLab a considérablement gagné en popularité au sein de l'entreprise grâce à ses diverses solutions agiles adaptées à différents environnements. « HackerOne a adopté GitLab à l'échelle de l'entreprise. Nous avons également découvert de nouvelles fonctionnalités dont nos chefs de produit et nos responsables de sprint ont pu tirer parti. Aujourd'hui, nous constatons que les équipes s'engagent dans une planification transversale à plus long terme », rapporte Mitch Trale. « Par exemple, nous utilisons des diagrammes de Gantt pour représenter les dépendances. Ce niveau de sophistication était crucial à ce stade du développement de HackerOne, alors que nous étions en pleine phase de croissance. »

GitLab n'a pas seulement permis aux équipes de se développer, il a également permis aux processus de développement d'applications de devenir plus égalitaires. Grâce à l'interface utilisateur intuitive de GitLab, le nombre d'utilisateurs chez HackerOne a augmenté. « Nous avons des chefs de produits techniques qui peuvent désormais apporter des modifications au code pour copier du texte sur le site ou modifier, par exemple, la couleur d'une police de caractères », ajoute Mitch Trale. « Les utilisateurs peuvent désormais profiter plus facilement des outils d'édition visuelle de GitLab. De même pour les merge requests qui peut facilement être approuvées et déployées de manière atomique. Ce n'était tout simplement pas viable auparavant. »

La facilité d'utilisation de GitLab rend le travail au sein de la plateforme plus facile à gérer pour les développeurs et les ingénieurs. En tant que logiciel open source, GitLab est moderne, mais pas trop complexe. GitLab offre de nombreuses possibilités, facilement accessibles aux ingénieurs à tous les niveaux de l'entreprise. « Nous pouvons désormais démocratiser le contrôle de nos pipelines. Chaque développeur peut assumer plusieurs rôles, tels qu'ingénieur DevOps, en charge de l'infrastructure… et administrer les outils d'une manière tout simplement impossible auparavant. Nos anciens outils étaient compliqués, ils nécessitaient beaucoup de maintenance et étaient difficiles à gérer », explique Mitch Trale.

La sécurité intégrée permet des déploiements plus rapides

L'un des plus grands avantages de l'adoption de GitLab est la possibilité de détecter les problèmes dans le code plus tôt dans le pipeline. En combinant ce système avec des pipelines plus rapides, les équipes peuvent désormais travailler de manière itérative pour résoudre les failles de sécurité. L'équipe d'ingénierie passait au moins 60 minutes par pipeline d'intégration. Le processus complet, depuis la validation du code jusqu'au déploiement, en passant par toutes les étapes de test initiaux, de smoke test, de tests plus approfondis, prenait facilement une heure. En cas d'erreur, même unique, l'équipe devait relancer l'ensemble du processus.

« Cette situation a rendu les développeurs excessivement prudents lorsqu'il s'agit d'effectuer un push de code. Ce que nous voulons vraiment, c'est réduire au maximum la durée du cycle ainsi que le risque associé à chaque sortie d'une nouvelle version  », explique Mitch Trale. « GitLab a donc revêtu une importance stratégique pour nous, car la plateforme nous a vraiment permis de perfectionner notre code et de le construire conformément à nos propres spécifications en termes de qualité du code. »

L'équipe peut également réexécuter des parties spécifiques du pipeline, ce qui n'était pas possible auparavant. Elle peut ainsi se concentrer sur la partie du pipeline d'intégration continue qui pourrait être défaillante, sans avoir à recommencer tout depuis le départ. « La rapidité du processus compte... maintenant, cela ne prend que huit minutes d'exécuter un pipeline. Ces huit minutes sont un exploit. Rien que cette promesse d'un pipeline d'intégration continue exécuté à grande vitesse aurait été suffisante pour que nous envisagions de modifier notre processus. », souligne Mitch Trale. Par ailleurs, la visibilité des journaux d'audit est renforcée. Elle permet de vérifier ce qui se passe en coulisses et de comprendre ce qui contribue à la dégradation des performances.

En utilisant l'API et les capacités de sécurité de GitLab, l'équipe d'ingénieurs a créé un robot qui génère automatiquement des merge requests basées sur des paquets obsolètes. Le bot analyse les dépôts et crée des merge requests en fonction du code qui doit être mis à jour. Il suffit aux ingénieurs de les examiner et de les approuver pour pouvoir ensuite déployer le code actualisé. Cette automatisation permet d'économiser le temps d'un cycle manuel et d'accélérer le processus de scanning de sécurité. Plus personne n'a à passer une heure de plus par déploiement pour tester ces éléments. « Nous déployons du code plusieurs fois par jour. Au moins cinq fois par jour, de nouvelles versions de HackerOne sont mises en ligne sur le web. Auparavant, un ingénieur passait au moins une heure sur chaque version », décrit Mitch Trale. « Ou, peut-être une demi-heure s'il partageait le travail avec un autre ingénieur pour que le code est cohérent. Selon moi et sans exagérer, nous économisons au moins quatre à cinq heures d'efforts par jour et par ingénieur en consolidant ce travail à l'aide de ces outils. »

Avant d'utiliser GitLab, le cycle de déploiement de HackerOne était plus proche d'une à deux fois par jour. Désormais, comme tout le processus est centralisé, correctement étiqueté et bien organisé, les chefs de projet et les équipes en charge des sprints peuvent désormais choisir ce sur quoi ils veulent concentrer leurs efforts. « GitLab nous aide à détecter ces problèmes rapidement, et les intègre dans le workflow des développeurs.

Le fait de disposer de tous les outils au même endroit a facilité l'analyse et les audits de sécurité par rapport au précédent workflow de l'équipe. « Le coût de l’exécution de scans de sécurité dans GitLab est nettement inférieur à ce qu’il était auparavant. Nous sommes donc beaucoup plus enclins à effectuer des scans plus approfondis, plus rapidement. Que ce soit sur des paquets individuels ou même en exécutant une suite de tests de sécurité. Je pense que nous en sommes beaucoup plus conscients et que nous utilisons GitLab à cette fin », explique Mitch Trale.

L'équipe d'ingénierie a également créé un bot Slack personnalisé qui s'intègre à GitLab et déclenche les déploiements. Tous les déploiements sont annoncés publiquement sur le canal Slack, où HackerOne réalise une grande partie de son travail. Grâce à l'intégration, le public intéressé peut consulter le statut de déploiement dans Slack, plutôt que d'avoir à localiser le pipeline ou le journal d'audit. Si le déploiement ne se déroule pas comme prévu, 30 personnes peuvent vous aider à le déboguer en temps réel. La proximité des déploiements avec Slack et l'utilisation de GitLab pour le CI/CD permettent un accès plus facile et plus rapide au code et à la gestion de la sécurité.

Si la consolidation des outils et la rapidité de déploiement sont des priorités qui ont conduit HackerOne à faire ce choix, c'est le développement actif de GitLab qui continue d'impressionner les collaborateurs. GitLab propose des sorties mensuelles qui s'appuient sur les fonctionnalités existantes, comme celle de la sécurité, en utilisant les commentaires des clients. « Le partenariat que nous avons avec GitLab ne cesse de se consolider. Certains des autres outils que nous avons évalués n'avaient pas la même force de développement, ni la même dynamique que GitLab », déclare Mitch Trale. « La cadence mensuelle en témoigne : de nouvelles fonctionnalités sortent fréquemment et nous pouvons en profiter. Ce développement actif fait partie d'une attitude contemporaine propre à GitLab, et c'est ce qui nous a séduits. »

À la date de publication, toutes les informations et les personnes mentionnées dans l'étude de cas sont exactes.

Lancez-vous dès maintenant

Découvrez comment la plateforme DevSecOps unifiée de GitLab peut aider votre équipe.