Pour gérer vos consentements :
Categories: Sécurité

Sécurité du code : le bilan de GitLab

À quelles composantes porter attention pour assurer la sécurité des développements logiciels ? Le rapport Security Trends de GitLab donne des indications.

Un premier volet était paru en avril. L’éditeur américain vient d’en publier un second. Il l’a ponctué de graphiques interactifs qui illustrent l’évolution des tendances.

Son analyse a englobé des « milliers » de projets hébergés sur la plate-forme. Elle a impliqué quatre outils de scan : statique, dynamique, dépendances et conteneurs.

Toutes les failles détectées ont été associées à leur principale classe CWE.
La CWE-20 (mauvaise validation d’entrée) était la plus répandue au mois d’août. 61 % des projets présentaient au moins une faille entrant dans cette catégorie.
C’est l’analyseur de conteneurs qui en a trouvé le plus, essentiellement dans les bibliothèques glibc et apt. L’analyseur de dépendances a quant à lui trouvé des CWE-20 essentiellement dans ajv (validation de formulaires), sockjs (émulation WebSocket), minimist et yargs-parser (pour le développement d’outils en ligne de commande).

Deuxième catégorie de vulnérabilités la plus fréquente : CWE-787 (écriture hors limites), avec 51 % des projets concernés. Là encore, côté conteneurs, glibc domine, devant openexr (pour le traitement du format de fichier du même nom) et ghostscript (transformation de données PostScript). Côté dépendances, la palme revient à execa (amélioration des processus enfants).

Troisième catégorie : CWE-400 (consommation non contrôlée de ressources), avec 44 % des projets. mixin-deep (fusion de propriétés d’objets), mysql et nghttp2 (implémentation C de HTTP2) tiennent le haut du pavé.

Des failles anciennes subsistent

Le taux de projets qui exploitent au moins une dépendance vulnérable a nettement progressé : 69 %, contre environ 50 % en avril. En tête de liste, lodash (manipulation de données). suivent execa, mixin-deep et kind-of (obtention du type natif d’une valeur ; déjà présent en avril).

À l’inverse, sous le prisme des conteneurs, le taux de projets vulnérables baisse, de 50 % à 41 %. Avec en première ligne glibc, libx11 (associée au système de fenêtrage X11) et systemd. On notera que parmi les éléments affectés, plus de 40 % présentent au moins une faille qui date de 2017 ou d’avant.

Sur l’analyse statique, on est revenu à la proportion d’il y a un an : environ 50 % de projets vulnérables. Le plus souvent, le problème tient à la transmission non sécurisée de mots de passe dans des URL. Dans une moindre mesure, il peut être la conséquence d’un usage non sécurisé de fichier ou de dossier temporaire. Ou encore de la prédictibilité d’un générateur de nombres aléatoires.

Le code expose aussi parfois des secrets. En l’occurrence, des clés RSA privées pour 14 % des projets, des clés PKCS8 pour 10 % et des clés d’API AWS pour 7 %.

Illustration principale © Smeisatch – shutterstock.com

Recent Posts

Le Réseau interministériel de l’État, sujet à dépendance

La Cour des comptes appelle à formaliser et à professionnaliser certains aspects du RIE, tout…

12 heures ago

Etalab en position de faiblesse au sein de la Dinum

La Cour des comptes attire l'attention sur le risque d'affaiblissement d'Etalab, privé, ces dernières années,…

14 heures ago

Une Dinum « balbutiante » sur l’open data et les logiciels libres

Missions historiques de la Dinum, l'ouverture des données publiques et la promotion des logiciels libres…

16 heures ago

Pour son premier LLM codeur ouvert, Mistral AI choisit une architecture alternative

Pour développer une version 7B de son modèle Codestral, Mistral AI n'a pas utilisé de…

1 jour ago

Microsoft x Inflection AI : l’autorité de la concurrence britannique lance son enquête

L’Autorité de la concurrence et des marchés (CMA) britannique ouvre une enquête sur les conditions…

2 jours ago

Thomas Gourand, nouveau Directeur Général de Snowflake en France

Thomas Gourand est nommé Directeur Général pour la France. Il est chargé du développement de…

2 jours ago