IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)

Vous êtes nouveau sur Developpez.com ? Créez votre compte ou connectez-vous afin de pouvoir participer !

Vous devez avoir un compte Developpez.com et être connecté pour pouvoir participer aux discussions.

Vous n'avez pas encore de compte Developpez.com ? Créez-en un en quelques instants, c'est entièrement gratuit !

Si vous disposez déjà d'un compte et qu'il est bien activé, connectez-vous à l'aide du formulaire ci-dessous.

Identifiez-vous
Identifiant
Mot de passe
Mot de passe oublié ?
Créer un compte

L'inscription est gratuite et ne vous prendra que quelques instants !

Je m'inscris !

L'éditeur de code Zed télécharge automatiquement des binaires et des paquets NPM depuis internet sans le consentement de l'utilisateur
Contrairement à VSCode qui n'installe rien sans demander à l'utilisateur

Le , par Anthony

16PARTAGES

4  0 
Selon une issue publiée sur GitHub, l'éditeur de code Zed, conçu par les créateurs d'Atom et Tree-sitter, téléchargerait automatiquement des binaires et des paquets NPM à partir d'internet sans le consentement ou la notification de l'utilisateur, exposant potentiellement ce dernier à des menaces de cybersécurité.

Les éditeurs de code sont devenus un outil indispensable pour les développeurs, car ils leur permettent d'écrire, d'éditer et de collaborer efficacement sur le code. Un nouveau concurrent est apparu et a rejoint la compétition des éditeurs de code, et il promet de révolutionner la façon dont les développeurs travaillent : Zed, un éditeur de code multijoueur entièrement écrit en Rust.

Zed est un nouvel éditeur de code multijoueur open source écrit en Rust. Il a été développé par les créateurs d'Atom et de Tree-sitter - Nathan Sobo, Antonio Scandurra et Max Brunsfeld. L'équipe a lancé Zed au début de l'année 2023 et l'a mis en open source en 2024. Zed se distingue par ses performances rapides comme l'éclair et ses fonctionnalités collaboratives de pointe. Il se positionne comme l'éditeur de code le plus rapide du moment et se targue d'être plus performant que des alternatives telles que VS Code, Sublime Text et CLion.

Au cœur de la rapidité de Zed se trouve son interface utilisateur innovante basée sur le GPU (GPUI). Ce framework GPUI exploite la puissance des processeurs graphiques modernes (GPU) pour rastériser l'ensemble de la fenêtre de l'éditeur, offrant ainsi une fluidité et une réactivité de haut niveau. Il est important de noter que l'éditeur de code Zed ne se contente pas d'offrir de meilleures performances. Il offre également une expérience de codage collaboratif riche, ce qui est hautement nécessaire dans le monde d'aujourd'hui où l'on travaille d'abord à distance.


Quelques-unes des fonctionnalités offertes par Zed sont énumérées ci-dessous :

Intégration de l'IA

Voici un aperçu des capacités de Zed en matière d'intelligence artificielle :

  • Prise en charge de GitHub Copilot : Copilot peut vous fournir des suggestions en temps réel basées sur l'IA. Cependant, Zed ne prend pas en charge la fonction de chat de Copilot, et c'est là que les modèles Open AI et GPT entrent en jeu.
  • Support pour les LLM d'OpenAI : Zed utilise des modèles GPT pour son assistant IA. Vous pouvez demander à l'assistant d'effectuer diverses tâches telles que la génération de code, la conversion de code d'un langage à l'autre et la documentation.



Framework GPUI

Comme indiqué précédemment, le secret de la rapidité de l'éditeur Zed réside dans son interface utilisateur basée sur GPU (GPUI). Ce framework s'appuie sur une nouvelle approche de la construction d'interfaces utilisateur 2D - comme la fenêtre de l'éditeur de code - pour les applications.

Les interfaces utilisateur sont traditionnellement rendues sur l'unité centrale de traitement (CPU). Cependant, avec le GPUI, l'ensemble de la fenêtre - y compris le texte, les graphiques, etc. - est tramée ou convertie en pixels sur l'unité de traitement graphique (GPU), qui est conçue pour traiter les tâches de rendu graphique plus efficacement que les CPU. Cette approche se traduit par une livraison plus rapide et plus fluide des pixels à l'écran et permet de mettre à jour et de redessiner plus rapidement l'interface utilisateur de l'éditeur de code.


Mode Vim

Zed s'adresse aux développeurs qui aiment utiliser Vim en proposant un mode appelé "Vim mode". L'objectif du mode Vim est de rendre Zed familier aux utilisateurs de Vim. Cependant, le mode Vim ne sera pas 100 % compatible avec Vim, et Zed introduira ses propres fonctionnalités quand et où cela sera nécessaire.

Pourquoi Zed a-t-il créé un mode Vim ? Parce qu'il est écrit en Rust, et que Vim est l'un des meilleurs éditeurs de code pour les développeurs Rust. Ainsi, la création d'un mode Vim permet aux utilisateurs de Vim de passer plus facilement à Zed. Zed fournit des bindings Vim en mode Vim et utilise Neovim pour les bindings.

Selon une alerte publiée sur GitHub, l'éditeur de code Zed téléchargerait des binaires NodeJS et des paquets npm sur Internet sans le consentement de l'utilisateur

J'ai remarqué que Zed téléchargeait automatiquement le binaire NodeJS depuis https://nodejs.org sans demander ni même en informer l'utilisateur. Juste après le démarrage et l'ouverture d'un fichier, sans rien faire d'autre. Et il n'y a pas d'option pour le désactiver.

C'est tout à fait inacceptable !

Non seulement pour des raisons de sécurité, mais aussi du point de vue de la convivialité. Je suis actuellement connecté via un LTE avec compteur, et Zed vient de consommer 14 MiB de mon forfait. De plus, j'ai déjà installé node et je l'ai dans PATH. De plus, le binaire téléchargé est en quelque sorte corrompu et il ne fonctionnerait pas sur mon système de toute façon parce qu'il est construit contre la glibc (c'est comme ça que je l'ai remarqué en premier lieu).

Et pour aggraver les choses, s'il fonctionnait, il commencerait à installer des paquets arbitraires de npmjs.com via npm et exécuterait leurs scripts. Cela représente un énorme vecteur d'attaque.

Cette approche est totalement inacceptable pour quiconque se préoccupe de cybersécurité et pour pratiquement toutes les entreprises, du moins dans l'UE, en raison des lois sur la cybersécurité, des certifications et des audits qui y sont liés.

EDIT : J'ai découvert qu'il télécharge (ici) même un binaire propriétaire de https://supermaven.com, c'est-à-dire un code non audité et non vérifiable, sans aucune vérification (à l'exception de TLS) ! Au moins, ce n'est pas téléchargé par défaut... j'espère...

EDIT2 : Zed télécharge et exécute aussi automatiquement des serveurs de langage préconstruits pour C#, Clojure, Deno, Elixir, Gleam, GLSL, Lua, Terraform, Toml et Zig. Il résout automatiquement la dernière version disponible sur GitHub et la télécharge, encore une fois, sans aucune vérification.
Source : GitHub

Et vous ?

Quelle lecture faites-vous de cette situation ?
Que pensez-vous de l'éditeur de code Zed ? Trouvez-vous qu'il s'agit d'une alternative intéressante à VSCode ?

Voir aussi :

Zed, un éditeur de code collaboratif très performant des créateurs d'Atom et de Tree-sitter, est désormais open source

Visual Studio Code : un éditeur libre ou un piège pour les développeurs ? Une analyse de Geoffrey Huntley, ingénieur logiciel et un ingénieur DevOps

Une erreur dans cette actualité ? Signalez-nous-la !