GitLab renforce (lui aussi) ses capacités de détection de vulnérabilités

Après l’annonce de la version 13.0 de sa plateforme CI/CD, GitLab veut encore améliorer ses fonctionnalités de détection de vulnérabilités. Pour cela, il rachète deux sociétés : PeachTech et Fuzzit.

Gitlab a annoncĂ© la version 13.0 de sa plateforme de gestion de code. HabituĂ© aux mises Ă  jour mensuelles, l’éditeur a dĂ©jĂ  optimisĂ© quelques Ă©lĂ©ments dans un correctif, mais l’essentiel ne change pas. Il veut renforcer l’empreinte de sa plateforme SCM en amĂ©liorant sa disponibilitĂ©, la dĂ©tection des vulnĂ©rabilitĂ©s et la gestion des projets.

Ainsi, à l’instar de son concurrent GitHub, il optimise la fonctionnalité de scans DAST (Dynamic application security testing) pour les API REST, et la détection de secrets se fait maintenant sur l’ensemble de l’historique du dépôt de code. La fonctionnalité SAST est, elle, compatible avec le framework .NET. Par ailleurs, Gitlab apporte des modifications significatives à son modèle objet de vulnérabilité.

Auparavant, un nouveau scan effaçait le rapport concernant les failles. Sans une gestion externe des vulnĂ©rabilitĂ©s, il Ă©tait difficile de garder la trace de ce qui avait Ă©tĂ© corrigĂ© ou non. Depuis la version 13.0, chaque vulnĂ©rabilitĂ© est associĂ©e Ă  un lien URL. Sur la page Web correspondante, il est possible d’éditer le statut de cette erreur (dĂ©tectĂ©e, confirmĂ©e, rejetĂ©e ou rĂ©solue). Par ailleurs, l’éditeur a ajoutĂ© une fonctionnalitĂ© d’export de rapport d’erreurs au format CSV pour les DevSecOps ou les responsables de la sĂ©curitĂ©. De mĂŞme, ceux-ci peuvent observer les apports de chaque dĂ©veloppeur avec l’ajout de caractĂ©ristiques dans les logs d’audit. L’onglet associĂ© ajoute des filtres pour faciliter la recherche.

GitLab renforce également les intégrations avec les outils de scans tiers en proposant aux utilisateurs et aux éditeurs une guideline pour le faire. Par exemple, l’outil d’analyse de dépendances Whitesource peut être directement embarqué au sein d’un dépôt et de la chaîne CI/CD. Il doit analyser les bibliothèques associées à un grand nombre de langages de programmation.

« Ils [Whitesource] ont une portĂ©e plus limitĂ©e que ce que nous pouvons offrir, mais ils vont plus loin dans un domaine particulier et c’est en quelque sorte ce sur quoi s’appuie notre stratĂ©gie de partenariats. Nous donnons la prioritĂ© aux partenaires qui nous aident Ă  combler certaines lacunes [de notre produit] Â», dĂ©clare Cindy Blake, Senior Security Evangelist chez GitLab.

Fuzzing : PeachTech et Fuzzit rejoignent GitLab

Cette volontĂ© d’amĂ©liorer les tests contre les vulnĂ©rabilitĂ©s, GitLab la matĂ©rialise Ă©galement par deux rachats dĂ©voilĂ©s le 11 juin : PeachTech et Fuzzit. Ces deux acteurs sont spĂ©cialisĂ©s dans le fuzzing (l’injection de donnĂ©es alĂ©atoires dans un programme pour en dĂ©tecter les erreurs). Gitlab propose dĂ©jĂ  une fonctionnalitĂ© similaire, mais souhaite gonfler ses capacitĂ©s pour apporter le niveau de maturitĂ© attendu par les dĂ©veloppeurs. Les outils des deux Ă©diteurs vont rejoindre la plateforme CI/CD dès juillet.

« Ces deux rachats nous permettront d’amĂ©liorer considĂ©rablement nos capacitĂ©s d’analyse dynamique liĂ©es au fuzzing. Nous nous dotons ainsi de capacitĂ©s d’analyse structurelle et comportementale que nous allons embarquer dans GitLab de manière transparente Â», explique Cindy Blake.

La chasse aux vulnérabilités n’est pas la seule priorité des développeurs et des entreprises qui utilisent GitLab. Ils veulent simplifier le déploiement, la maintenance et la gestion de leurs dépôts GitLab.

Concernant la haute disponibilitĂ©, GitLab veut dĂ©mocratiser une solution qu’il avait dĂ©jĂ  mise en place au sein de GitLab.com, son offre cloud. Gitaly est le projet open source qui permet Ă  l’éditeur de faire de la rĂ©plication chaude dans des clusters. Maintenant, GitLab utilise un rĂ©partiteur de charge et du clustering actif-actif pour Ă©viter les pannes, mais aussi assurer la montĂ©e Ă  l’échelle. « Cela permet d’avoir un système de fichiers natif sans avoir Ă  faire appel Ă  un autre système compliquĂ© Ă  maintenir comme NFS (Network File System) tout en maintenant automatiquement plusieurs destinations de dĂ©pĂ´ts Â», assure Brendan O’Leary, Senior Developer Evangelist, chez GitLab.

Cependant, cette architecture n’était pas disponible pour les utilisateurs qui hĂ©bergent eux-mĂŞmes GitLab. « Cette fonctionnalitĂ© s’adresse aux clients qui veulent gĂ©rer leurs propres serveurs, ce qui reprĂ©sente une grande partie de notre base d’utilisateurs Â», confirme Brendan O’Leary.

Dans la même veine, Auto DevOps, la fonctionnalité de déploiement automatisée de configurations CI/CD a été optimisée pour les déploiements sur Amazon ECS.

Gitlab annonce aussi une intĂ©gration « avancĂ©e Â» avec Hashicorp Terraform. Tout simplement, les commandes liĂ©es au système IaC sont nativement visibles depuis les requĂŞtes de merge. Il suffit de cliquer sur le lien associĂ© pour voir le code. Habituellement, les changements appliquĂ©s Ă  « Terraform plan Â» sont beaucoup moins accessibles. Par ailleurs, la fonctionnalitĂ© « http state backend Â» doit rĂ©duire le temps de configuration en automatisant l’allocation d’emplacement du fichier main.tf Ă  un espace de stockage. Par ailleurs, l’éditeur encourage les utilisateurs Ă  utiliser Hashicorp Vault pour protĂ©ger les secrets au sein de leurs Git.

Des projets d’amélioration inspirés par le lean manufacturing

Dans sa volonté de créer une plateforme DevOps, l’éditeur mise sur l’amélioration des fonctionnalités d’A/B testing en s’appuyant sur le feature flagging. Cette fonctionnalité en bêta permet entre autres d’activer ou de désactiver automatiquement des lignes de code suivant des règles préétablies. Par exemple, deux versions d’une même page web pourraient cohabiter et des métriques remontées depuis GitLab pourraient indiquer quelle version est techniquement plus pertinente. L’une des versions serait alors désactivée en conséquence.

GitLab veut également renforcer les fonctionnalités d’analyse de chaîne de valeur, principe dérivé du value stream mapping issu des méthodes de lean manufacturing. Là encore, les administrateurs pourront bénéficier de moyens pour visualiser les tâches accomplies, comptabiliser les erreurs, les commits ou encore le nombre de déploiements.

Les épopées (des corpus de tâches subdivisés en sous-tâches) sont souvent difficiles à retracer. L’outil RoadMap bénéficie désormais d’un système pour voir la filiation entre chaque tâche. Les petites améliorations associées doivent favoriser la collaboration entre les développeurs.

« Nous voulons proposer une seule plateforme DevOps qui rassemble l’ensemble des fonctionnalitĂ©s, pour gĂ©rer le cycle de vie de vos applications Â» vante Brendan O’Leary. « Ajouter des moyens de visualisation pour identifier le niveau d’efficacitĂ© de vos processus nous semble essentiel Â».

Pour approfondir sur Open Source