Je regarde spécifiquement la barre emacs , qui a les propriétés suivantes:
- il a des milliers de commits
- il est largement maintenu par un utilisateur
- le mainteneur n'a pas d'autres profils (réseaux sociaux, etc.) que j'ai pu trouver sur quelques recherches
- il est activement maintenu (aujourd'hui)
Comme je suis sur le point d'installer du code arbitraire sur mon ordinateur pour l'utiliser dans mon éditeur de texte, je voulais vérifier si cela a subi un processus de révision. Je voudrais dire "eh bien c'est open source" mais je suis vraiment loin de la capacité évidente d'auditer tout le code moi-même. J'aimerais supposer que d'autres membres de la communauté l'ont examiné, mais l'un est probablement faux, et deux il y a des commits à la minute près. Y a-t-il d'autres stratégies qui me manquent?
Pour mémoire, le vecteur est simple: "l'open source" n'a pas beaucoup d'importance si le contributeur travaille sous un compte jetable, ou s'il n'y a pas de processus de révision.
mapatoms
pourrait être mis dans le groupe "dangereux" avecstart-process
,eval
etfuncall
. Bien sûr, il y aurait des faux positifs, mais si le package n'utilise aucune de ces fonctions, il peut être marqué comme inoffensif avec une grande certitude.make-process
, ainsi quecall-process
,dbus-<foo>
,make-network-stream
et puisvc-do-command
,vc-git-command
.... Et si vous mettezeval
etfuncall
dans la catégorie « dangereux », alors la plupart / tous les paquets sont dangereux.Réponses:
La réponse courte est que si vous ne lisez pas vous-même le code, vous prenez beaucoup confiance. Cela dit, faire confiance à un projet provenant d'un SCM en amont est un peu plus sûr qu'un projet tiré directement du Wiki Emacs par exemple. Cependant, fondamentalement, vous faites confiance à l'auteur du paquet pour ne pas tourner le dos et abuser de la possibilité d'exécuter du code arbitraire sous votre session Emacs.
Certaines choses peuvent vous rassurer:
Bien que les packages populaires ne soient pas automatiquement examinés davantage, le fait qu'ils aient plus d'utilisateurs signifie que les chances de détection d'un comportement malveillant avant qu'il ne vous affecte augmentent.
Sur github, vous pouvez obtenir une assez bonne vue de l'historique des contributions des projets. Même si l'auteur principal fait la plupart des commits, avoir un large éventail d'auteurs montre qu'il y a d'autres personnes qui s'intéressent activement à la stabilité et à l'efficacité du code.
Bien que vivre à la pointe de la technologie ait un certain attrait pour ceux qui veulent les dernières fonctionnalités brillantes, cela signifie que vous pourriez être le premier à accepter le dernier commit dans votre environnement. Même s'il n'est pas malveillant, vous pouvez très bien obtenir un paquet dans un état de flux tandis qu'une version "officielle" aura au moins une sorte de révision superficielle. Par exemple, les paquets GNU ELPA ne seront validés que par les utilisateurs emacs-devel disposant de droits de validation.
En fin de compte, je suis sûr qu'il y aura à un moment donné une faille de sécurité via le système de package, même si ce n'est qu'une expérience de preuve de concept. Ce sera le point sur lequel vous devrez peut-être compter sur vos sauvegardes régulières.
la source