Le code source est la composante fondamentale de toute application ou de tout logiciel. Il constitue l'épine dorsale de toute organisation centrée sur la technologie. Le code source contient des informations exclusives sur les propriétés intellectuelles de votre entreprise et protège les données qui permettent à votre entreprise de fonctionner.
L'intégration de composants open-source tiers permet aux équipes logicielles d'utiliser facilement le code déjà disponible, sans avoir à développer à partir de zéro. Malheureusement, l'inconvénient de cette commodité réside dans les risques qui ciblent les fournisseurs tiers, provoquant des attaques de la chaîne d'approvisionnement. Lors d'une attaque de la chaîne d'approvisionnement, les cybercriminels peuvent insérer des logiciels malveillants dans le code ou les systèmes de construction de fournisseurs tiers, et les transmettre ainsi à l'organisation et à ses clients.
Dans ce blog, je vais montrer comment prévenir les logiciels malveillants dans le code source à l'aide du plugin MetaDefender Jenkins.
Secure Builds avec MetaDefender Plugin pour Jenkins
Le pluginMetaDefender for Jenkins analyse les builds Jenkins à la recherche de logiciels malveillants et vérifie que votre code source et vos artefacts ne sont pas menacés. Les logiciels malveillants avancés peuvent facilement contourner un seul moteur antivirus (AV), ce qui met le code source en danger. Les faux positifs dans la détection des logiciels malveillants sont également un effet secondaire courant dans la plupart des solutions AV, ce qui entraîne une perte d'efforts, de temps et de ressources en matière de remédiation. MetaDefender for Jenkins utilise Metascan, unetechnologie de multiscanning, pour augmenter les taux de détection et réduire les temps de détection des épidémies pour vos builds de logiciels.
Voici deux scénarios montrant comment les logiciels malveillants peuvent s'infiltrer : dans le code source et pendant le processus de construction.
Scénario 1 : logiciel malveillant dans le code source
Dans ce cas, le code source peut être votre propre code source (provenant de la machine compromise d'un développeur) ou d'une bibliothèque tierce. Dans le premier scénario, je voulais vérifier le dépôt d'une bibliothèque tierce sur GitHub. Pour m'assurer que le dépôt est exempt de menaces, j'ai ajouté une étape de construction à analyser avec le plugin MetaDefender pour Jenkins.

Je voulais également que la compilation renvoie la mention "failed" en cas de menaces dans le code source.

Après avoir tenté d'exécuter la construction, le résultat a été marqué comme "échoué" en raison des fichiers infectés détectés par le plugin MetaDefender Jenkins.

Scénario 2 : Logiciels malveillants introduits dans le processus de construction
Si vous pensez que l'analyse de votre référentiel suffit à protéger votre code source, ce n'est pas toujours le cas. Certains logiciels malveillants n'existent pas dans le dépôt de code source d'origine, mais peuvent être introduits lorsque vous téléchargez des composants tels que des dépendances ou des bibliothèques. Dans cette deuxième vidéo, j'ai montré un exemple de ce deuxième scénario et comment l'éviter à l'aide du plugin MetaDefender Jenkins.
Comme vous pouvez le constater, aucun problème n'a été détecté après que j'ai analysé le code source lors de la première exécution.

Ensuite, j'ai ajouté une nouvelle étape de construction au processus en utilisant un fichier build.bat et j'ai relancé la construction.

À des fins de démonstration, j'ai utilisé npm pour télécharger un paquet de test EICAR afin de simuler l'installation d'un logiciel malveillant dans un scénario réel. Dans ce cas, bien qu'il n'y ait pas de menaces dans le code source original, le paquet npm malveillant est apparu dans le script pendant la construction. Le plugin MetaDefender Jenkins a détecté la menace, marquant la construction comme un échec.

Les résultats détaillés de l'analyse sont présentés sur le site MetaDefender Core .

À propos de OPSWAT MetaDefender pour Jenkins
OPSWAT MetaDefender pour Jenkins vérifie l'absence de logiciels malveillants et de secrets dans vos builds avant de rendre votre application publique. Grâce aux capacités complètes de la plateforme MetaDefender , qui comprend plus de 30 moteurs antivirus de premier plan, Deep CDRet Proactive DLPle plugin MetaDefender pour Jenkins analysera minutieusement votre code source et vos artefacts pour détecter toute menace. Vous serez informé des problèmes potentiels grâce à des sécurités intégrées qui permettent d'éviter les épidémies de logiciels malveillants et les fuites de données sensibles. En savoir plus sur MetaDefender pour Jenkins et d'autres outils gratuitsOPSWAT .
Pour plus d'informations, veuillez contacter nos experts en cybersécurité.