C'est fou comme on a du mal à avoir une discussion posée ici. Tu sais, on peut discuter sans chercher la petite bête dans ce que l'autre écrit et lui donner le bénéfice du doute quant à sa cohérence. On peut aussi ne pas être d'accord et avoir tous les deux raisons car des enjeux différents.
Pour expliquer ce que je disais :
Mais pour chaque composant utilisé, il faut être sûr du code existant, sûr de l'équipe et sûr du futur du composant et que l'équipe ne sera jamais gangrénée
Cette partie-là désigne un absolu. Si tu veux être sûr de ton composant, il faut que toute la chaîne soit sure. C'est infaisable dans les faits d'avoir la capacité à vérifier chaque maillon de la chaîne à chaque instant. Mais il est important de le savoir et d'en être conscient.
Du coup, il est de la responsabilité de chaque maillon à son échelle de faire du mieux qu'il peut et d'éviter les comportements les plus dangereux. Parce que tout le reste de la chaîne va en payer le prix.
D'où le :
Ca veut juste dire que certaines pratiques ne sont pas souhaitables et qu'il faut qu'on fasse un peu plus attention à ce qu'on fait en tant que développeurs de composants réutilisés.
Et par rapport à ce que tu dis toi :
Quant au github actions, tu avais déjà ça avec des plug-ins maven ou de ton IDE (vim et emacs inclus).
Il y a une petite nuance et elle est importante, je l'avais précisé plus haut : tout est plus facile de nos jours, ce qui rend les comportements dangereux moins visibles. Entre utiliser un plugin Maven qui a dû être déployé sur Maven Central (et donc quand même avoir quelques petits checks au cours de la démarche, même si pas idéal) et juste pointer vers un repo GitHub arbitraire, il y a un monde. Tu pourras me dire qu'on pouvait ajouter un repo Maven externe. Sûr mais c'était moins fluide et j'ai l'impression que plus de gens se rendaient compte qu'il fallait faire attention dans ce cas. Ca ne m'empêchait pas de le faire parfois mais je mesurais quand même ce que ça m'apportait par rapport au risque.
Mon point c'est que quelque chose de dangereux est devenu super fluide, naturel, sans aucune vérification et sans aucune prise de recul de la part des développeurs. Et je m'en rends bien compte car j'ai le plus grand mal du monde à convaincre des ingénieurs par ailleurs brillants que c'est un souci d'envoyer sa passphrase à du code externe (et mouvant vu que pointant sur un tag mouvant genre v2 pour suivre toutes les évolutions du dit repo). Et oui, le maven-gpg-plugin, on lui envoie aussi la passphrase. Mais c'est du Apache et leur mode de fonctionnement est très sécurisant vis à vis de la malveillance organisée. Donc c'est un risque que je suis prêt à accepter.
Bref, perso, je vais m'arrêter là parce que ça ne m'intéresse pas trop d'avoir des conversations avec gens qui cherchent la petite bête plutôt que d'essayer de comprendre le raisonnement de l'autre (ce qui n'empêche pas de ne pas être d'accord par ailleurs).
Je comprends très bien ta position mais je pense que les choses sont beaucoup plus nuancées et que généraliser des pratiques dangereuses (et inutiles dans certains cas, cf mon exemple) en se disant qu'il y a bien quelqu'un qui trouvera la faille un jour, ça ne me semble pas la meilleure manière de faire les choses et qu'avoir un comportement plus responsable et conscient des dangers à chaque étage est souhaitable. Ce qui n'empêche pas de prendre des risques quand ça en vaut la chandelle mais au moins on en est conscient et ça change tout.
Ca n'empêchera pas les boulettes et c'est la vie. Mais franchement, évitons les risques inutiles.
[^] # Re: Ca vaut ce que ça vaut mais...
Posté par Guillaume Smet (site web personnel) . En réponse au journal log4shell : Et après ?. Évalué à 3.
C'est fou comme on a du mal à avoir une discussion posée ici. Tu sais, on peut discuter sans chercher la petite bête dans ce que l'autre écrit et lui donner le bénéfice du doute quant à sa cohérence. On peut aussi ne pas être d'accord et avoir tous les deux raisons car des enjeux différents.
Pour expliquer ce que je disais :
Cette partie-là désigne un absolu. Si tu veux être sûr de ton composant, il faut que toute la chaîne soit sure. C'est infaisable dans les faits d'avoir la capacité à vérifier chaque maillon de la chaîne à chaque instant. Mais il est important de le savoir et d'en être conscient.
Du coup, il est de la responsabilité de chaque maillon à son échelle de faire du mieux qu'il peut et d'éviter les comportements les plus dangereux. Parce que tout le reste de la chaîne va en payer le prix.
D'où le :
Et par rapport à ce que tu dis toi :
Il y a une petite nuance et elle est importante, je l'avais précisé plus haut : tout est plus facile de nos jours, ce qui rend les comportements dangereux moins visibles. Entre utiliser un plugin Maven qui a dû être déployé sur Maven Central (et donc quand même avoir quelques petits checks au cours de la démarche, même si pas idéal) et juste pointer vers un repo GitHub arbitraire, il y a un monde. Tu pourras me dire qu'on pouvait ajouter un repo Maven externe. Sûr mais c'était moins fluide et j'ai l'impression que plus de gens se rendaient compte qu'il fallait faire attention dans ce cas. Ca ne m'empêchait pas de le faire parfois mais je mesurais quand même ce que ça m'apportait par rapport au risque.
Mon point c'est que quelque chose de dangereux est devenu super fluide, naturel, sans aucune vérification et sans aucune prise de recul de la part des développeurs. Et je m'en rends bien compte car j'ai le plus grand mal du monde à convaincre des ingénieurs par ailleurs brillants que c'est un souci d'envoyer sa passphrase à du code externe (et mouvant vu que pointant sur un tag mouvant genre
v2pour suivre toutes les évolutions du dit repo). Et oui, le maven-gpg-plugin, on lui envoie aussi la passphrase. Mais c'est du Apache et leur mode de fonctionnement est très sécurisant vis à vis de la malveillance organisée. Donc c'est un risque que je suis prêt à accepter.Bref, perso, je vais m'arrêter là parce que ça ne m'intéresse pas trop d'avoir des conversations avec gens qui cherchent la petite bête plutôt que d'essayer de comprendre le raisonnement de l'autre (ce qui n'empêche pas de ne pas être d'accord par ailleurs).
Je comprends très bien ta position mais je pense que les choses sont beaucoup plus nuancées et que généraliser des pratiques dangereuses (et inutiles dans certains cas, cf mon exemple) en se disant qu'il y a bien quelqu'un qui trouvera la faille un jour, ça ne me semble pas la meilleure manière de faire les choses et qu'avoir un comportement plus responsable et conscient des dangers à chaque étage est souhaitable. Ce qui n'empêche pas de prendre des risques quand ça en vaut la chandelle mais au moins on en est conscient et ça change tout.
Ca n'empêchera pas les boulettes et c'est la vie. Mais franchement, évitons les risques inutiles.