L’outil soutenu par OWASP analyse localement les fichiers de verrouillage JavaScript et TypeScript, dans le but d’aider les développeurs à détecter et à remédier aux risques de dépendance avant les pannes de CI.
Alors que les assistants de codage d’IA accélèrent le développement de logiciels, un projet open source soutenu par l’OWASP affirme que les outils de sécurité des dépendances arrivent encore trop tard pour être vraiment utiles.
CVE Lite CLI, un scanner de vulnérabilités de dépendances JavaScript et TypeScript axé sur l’analyse des fichiers de verrouillage locaux, se positionne autour d’une idée simple. Les développeurs doivent constater les risques de dépendance pendant qu’ils écrivent du code, et non des heures plus tard dans un pipeline CI défaillant.
CVE Lite CLI analyse les fichiers de verrouillage npm, pnpm et Yarn à l’aide des données de vulnérabilité OSV et prétend se concentrer fortement sur les conseils de remédiation, notamment en séparant les vulnérabilités directes et transitives, en validant les cibles de mise à niveau et en recommandant des chemins de correctifs exploitables.
Le projet est présenté comme un outil de développement « local d’abord », par opposition à un remplacement des plates-formes d’analyse de composition logicielle d’entreprise (SCA), un peu comme la façon dont les développeurs utilisent déjà ESLint ou les tests unitaires localement avant que CI ne les exécute à nouveau plus tard.
CVE Lite CLI cible un problème négligé
CVE Lite CLI tente essentiellement de résoudre un problème de flux de travail, affirme Kapoor que de nombreux développeurs luttent discrètement. Les contrôles de sécurité des dépendances arrivent souvent une fois le travail terminé.
L’outil analyse localement les fichiers de verrouillage JavaScript et TypeScript dans les projets npm, pnpm et Yarn, afin que les développeurs puissent comprendre le risque de dépendance pendant qu’ils sont encore en train de coder, et pas plus tard en réponse à un pipeline CI défaillant.
Au lieu de se concentrer uniquement sur la détection, l’outil prétend examiner des questions ultérieures, comme si le problème est direct ou transitif, s’il existe un chemin de mise à niveau propre ou si la mise à niveau d’un package supprime réellement la dépendance vulnérable.
« Dans un cas réel, CVE Lite CLI a ignoré 27 versions de package avant de trouver une version plus sûre à recommander », a déclaré Kapoor, expliquant la granularité de l’outil. « C’est le genre de travail que les développeurs ne devraient pas avoir à effectuer manuellement en lisant les journaux et en réessayant les mises à niveau une par une. »
Kapoor a déclaré que l’outil peut être configuré pour les sorties JSON, SARIF ou HTML et peut également être intégré aux flux de travail CI en tant qu’action GitHub.
L’IA pourrait aggraver les choses
Cet argument arrive alors que la sécurité de la chaîne d’approvisionnement logicielle continue d’entrer en collision avec les pratiques de développement assistées par l’IA qui permettent aux développeurs de générer du code, d’intégrer des packages et de restructurer des projets beaucoup plus rapidement qu’auparavant.
Kapoor a déclaré que cette vitesse change la nature même du risque de dépendance. « Les assistants de codage IA ont rendu cela plus important, pas moins », a-t-il déclaré. « Cette rapidité est utile, mais elle signifie également que les décisions en matière de dépendance peuvent être prises rapidement et parfois sans le même niveau de révision manuelle. Je ne pense pas que les assistants IA suppriment le besoin de contrôles de sécurité. »
Au contraire, ils augmentent le besoin de contrôles rapides, locaux et explicables, pouvant être effectués pendant que les travaux sont en cours, a-t-il ajouté.
Un exemple cité impliquait des analyses par lint-staged, un package d’outils JavaScript largement utilisé. Selon Kapoor, un workflow standard « npm audit –omit=dev » n’a pas réussi à faire apparaître un problème de dépendance de production que CVE Lite CLI a identifié plus tard grâce à l’analyse du fichier de verrouillage. « Honnêtement, je ne pense pas que la plupart des développeurs comprennent ces angles morts en détail, et je ne veux pas dire cela comme une critique des développeurs », a-t-il déclaré. « Le graphe de dépendances dans un projet JavaScript moderne est extrêmement bruyant. »
Un développeur souhaitant installer une dépendance directe peut se retrouver avec des centaines ou des milliers de packages transitifs.
CVE Lite CLI ne tombe pas amoureux de l’IA
Le projet évite également délibérément de se transformer en une plate-forme AppSec plus large, malgré la pression croissante de l’industrie pour consolider les outils de sécurité dans un écosystème basé sur l’IA.
« Je pense que les outils de sécurité sont devenus trop lourds pour le flux de travail quotidien des développeurs », a déclaré Kapoor. « Cela ne veut pas dire que ces plates-formes sont mauvaises. Cela signifie qu’elles servent souvent mieux les organisations de sécurité que les développeurs individuels qui tentent de prendre une décision sûre en matière de dépendance au cours d’une session de codage normale. »
Cette philosophie s’étend également à l’approche du projet envers l’IA elle-même. Bien que CVE Lite CLI inclut des intégrations qui aident les assistants de codage IA à interpréter les résultats de l’analyse, Kapoor a déclaré que l’analyse de vulnérabilité sous-jacente reste intentionnellement déterministe.
« Je ne pense pas que l’IA devrait décider si un CVE existe », a-t-il déclaré. « Cette partie doit être ennuyeuse, reproductible et vérifiable. »
Au lieu de cela, le projet utilise l’IA comme ce que le fondateur a décrit comme une « couche d’explication et de flux de travail » autour des résultats de l’analyse plutôt que comme le scanner lui-même. « CVE Lite CLI comprend des compétences d’assistant IA qui enseignent à des outils tels que Claude Code, Codex CLI, Gemini CLI, Cursor et GitHub Copilot comment exécuter CVE Lite CLI, lire sa sortie structurée et aider le développeur à comprendre ou à prioriser le plan de remédiation », a expliqué Kapoor.
Attention à l’expansion
Kapoor a déclaré avoir reçu des commentaires positifs de la part des entreprises et des développeurs utilisant CVE Lite CLI dans des flux de travail réels, lui demandant si la même approche pourrait prendre en charge les écosystèmes .NET ou Python.
« Cet intérêt est encourageant car il me dit que le modèle local et axé sur la remédiation trouve un écho au-delà du cas d’utilisation original de JavaScript et TypeScript », a-t-il déclaré. « Mais je me méfie d’une extension trop large de l’outil actuel. »
L’explication qu’il a donnée était simple. Selon lui, chaque écosystème possède son propre comportement de gestionnaire de paquets, son propre format de fichier de verrouillage, sa sémantique de graphe de dépendances, ses sources de conseils et ses modèles de remédiation. « Les ajouter directement dans la CLI CVE Lite pourrait rendre l’outil plus lourd et moins clair pour les développeurs JavaScript et TypeScript pour lesquels il a été conçu à l’origine. » Le projet a maintenant été adopté dans l’écosystème de la fondation OWASP en tant que projet officiel de l’OWASP et est disponible gratuitement pour les développeurs sur GitHub.



