
Les chercheurs en sécurité d’Apiiro ont publié deux outils gratuits et open source conçus pour détecter et bloquer les codes malveillants avant qu’ils ne soient ajoutés aux projets logiciels afin de freiner les attaques de la chaîne d’approvisionnement.
Les deux outils consistent en un ensemble de règles complet pour Semgrep et Opengrep conçu pour détecter les modèles de code malveillant avec un minimum de faux positifs et PRevent, un scanner intégré à GitHub, qui détecte et alerte le code suspect dans les pull requests (PR).
Selon Matan Giladi, chercheur en sécurité chez Apiiro, les outils ont un taux de détection de faux positifs minimal, ce qui les rend particulièrement précieux dans la pratique réelle.
Plus précisément, la précision de détection de l’ensemble de règles pour les packages PyPI est de 94,3%, alors qu’elle tombe à l’impressionnant 88,4% pour les packages npm. PRevent signale avec succès les PR malveillants dans 91,5% des cas examinés.

Attraper du code malveillant
La stratégie de détection de code malveillant d’Apiiro est basée sur l’identification des « anti-modèles de code », qui sont des modèles suspects dans le code qui démontrent des comportements rares dans le code légitime mais courants dans les logiciels malveillants.
Le système de détection utilise l’analyse statique, ce qui signifie qu’il examine le code sans l’exécuter, protégeant ainsi l’environnement des infections accidentelles.
Ces anti-modèles incluent:
- Diverses méthodes d’obscurcissement telles que l’encodage, les transformations imbriquées et les modifications d’exécution qui aident à masquer la fonctionnalité et l’intention du code.
- Utilisation de exec (), eval () ou de fonctions similaires, qui permettent l’exécution de code arbitraire au moment de l’exécution.
- Code qui télécharge et exécute des charges utiles distantes à partir de serveurs externes inconnus.
- Méthodes d’exfiltration de données utilisateur sensibles vers des emplacements externes.
Cet ensemble de règles peut être intégré dans des pipelines CI/CD pour l’analyse automatique du référentiel, utilisé pour l’analyse des packages npm et PyPI, ou adapté à d’autres plates-formes utilisant Semgrep ou Opengrep.
PRevent, qui utilise les mêmes anti-modèles, est conçu pour analyser les événements de pull request en temps réel avant la fusion du code, arrêtant toutes les menaces avant qu’elles n’atteignent la production.

Il peut être configuré pour bloquer la fusion jusqu’à ce qu’un réviseur autorisé l’approuve ou ajouter des commentaires sur les problèmes détectés pour s’assurer que les développeurs sont alertés des risques.

Apiiro reconnaît que ses outils sont encore pratiquement limités, car ils ne peuvent pas détecter les logiciels malveillants cachés dans les binaires compilés ni analyser directement les packages npm et PyPI, mais prévoit d’ajouter plus de fonctionnalités telles que l’analyse approfondie du code et les analyses assistées par l’IA dans les futures mises à jour.
L’ensemble de règles de détection de code malveillant et l’outil de prévention sont disponibles gratuitement sur GitHub, avec des instructions sur la façon de les utiliser.
Breachtrace n’a pas testé ces outils de sécurité et ne peut garantir leur efficacité ou leur sécurité.