Qu’est-ce que l’AUR dans Arch Linux et devriez-vous l’utiliser ?
Le référentiel Arch Linux AUR contient un logiciel communautaire qui peut être utilisé en toute sécurité si vous prenez quelques précautions simples. Même si vous ne comprenez pas les scripts shell, il existe des indicateurs que vous pouvez utiliser pour juger si un paquet est sûr ou non.
L’AUR est l’un des joyaux de la couronne d’Arch Linux, fournissant des milliers de packages logiciels supplémentaires. Mais ce référentiel piloté par l’utilisateur est-il sûr à utiliser ou devriez-vous l’éviter ?
Sommaire
Qu’est-ce que l’AUR ?
L’AUR (Arch User Repository) est un référentiel de logiciels piloté par la communauté qui fournit plus de 85 000 packages logiciels aux utilisateurs d’Arch Linux. Contrairement à d’autres référentiels Arch tels que les référentiels core, extra et multilib, l’AUR n’héberge pas de packages prêts à installer. En fait, il n’héberge pas du tout de fichiers binaires ou de logiciels packagés.
Les fichiers de construction de packages d’hôtes AUR, appelés PKGBUILDs. Ce sont des scripts shell qui sont exécutés par l’Arch makepkg
outil. Quand makepkg
s’exécute, il recherche un fichier appelé « PKGBUILD ». S’il en trouve un, il l’ouvre et suit les instructions qu’il contient pour créer une archive de progiciels sur votre ordinateur. Si vous êtes familier avec la compilation en ligne de commande, un fichier PKGBUILD et makepkg
fonctionnent ensemble de la même manière qu’un MAKEFILE et le make
utilitaire.
Les instructions PKGBUILD téléchargent les fichiers de code source et d’autres fichiers nécessaires à la création de l’archive de package. Le pacman
L’outil est appelé automatiquement pour installer le logiciel à partir de l’archive du package.
Au risque d’introduire une certaine confusion, certains packages AUR faire livrer des binaires pré-compilés. Mais ces fichiers binaires ne sont pas hébergés dans l’AUR, ils sont stockés ailleurs sur Internet. L’entrée AUR de ces packages ne contient qu’un fichier PKGBUILD qui télécharge le binaire précompilé sur votre ordinateur.
L’AUR permet à quiconque de créer un PKGBUILD pour un logiciel qu’il souhaite mettre à la disposition d’autres utilisateurs d’Arch. Il peut s’agir de packages open source ou fermés, ou même de logiciels commerciaux. Les packages AUR qui obtiennent suffisamment de votes des utilisateurs peuvent être promus vers un référentiel Arch standard appelé référentiel communautaire.
Le problème avec l’AUR devient apparent lorsque vous le résumez à l’essentiel. C’est une collection de scripts d’utilisateurs aléatoires sur Internet. Et ils aimeraient que vous les exécutiez sur votre ordinateur.
Pour atténuer les risques, les scripts téléchargés sont examinés par des bénévoles qualifiés et respectés, connus sous le nom d’utilisateurs de confiance. Les utilisateurs de confiance inspectent et testent les PKGBUILDS et suppriment ceux qui contiennent des erreurs dangereuses ou des intentions malveillantes.
Les dangers de l’utilisation de l’AUR
C’est un événement très rare, mais parfois, les choses passent à travers le filet, malgré la diligence des utilisateurs de confiance. En 2015, un script Valve Software Steam effaçait votre répertoire personnel si vous aviez précédemment déplacé le répertoire Steam vers un nouvel emplacement.
Plus sinistre a été l’incident de 2005, lorsqu’un paquet AUR orphelin a été repris par un nouveau responsable qui a délibérément ajouté du code malveillant au fichier PKGBUILD. Ces exemples sont anciens et rares, mais les mêmes choses pourraient se reproduire.
Bien sûr, si vous êtes suffisamment compétent, vous pouvez vérifier vous-même le contenu du fichier PKGBUILD. Cette transparence est l’une des forces de l’AUR, mais elle nécessite une connaissance suffisante des scripts pour en bénéficier. Et cela ne couvre que le fichier PKGBUILD lui-même. S’il extrait une masse de code source d’application, cela devrait également être vérifié théoriquement.
D’autres dangers liés à l’utilisation de l’AUR sont basés sur la distribution. Toutes les distributions basées sur Arch ne ressemblent pas suffisamment à Arch pour que l’AUR fonctionne parfaitement. L’AUR suppose qu’il s’installe sur un véritable Arch Linux, ainsi qu’une version entièrement corrigée et mise à jour. Manjaro, par exemple, ne prend pas officiellement en charge l’AUR même s’il est basé sur Arch.
Mais, étant donné que votre distribution prend en charge l’AUR, que pouvez-vous faire pour vous assurer que vous l’utilisez de la manière la plus sûre possible, que vous compreniez ou non le code source et les scripts shell ?
Sécurité AUR : vérifiez les détails et la réputation du package
Même sans revue de code, vous pouvez suivre certaines étapes pour vous aider à décider si vous pouvez faire confiance à un package AUR.
Trouvez votre forfait sur l’AUR
Il y a une page dans l’AUR pour chaque paquet. La page Web du package décrit le package, ses dépendances, les packages qui en dépendent et d’autres informations utiles. Commencez votre enquête en vous rendant à l’AUR et en recherchant votre colis.
Quelle est sa réputation ?
Les packages peuvent être votés par les utilisateurs, et un score de popularité est également attribué à chaque package. Plus il y a de votes et plus la popularité est élevée, mieux c’est. Cela signifie que le package est bien connu et largement utilisé. En d’autres termes, c’est un package réputé.
La réputation du paquet est une bonne indication de sa fiabilité. Plus il y a de gens qui l’utilisent et votent pour lui, plus vous vous sentirez à l’aise de l’utiliser.
Vérifiez les dates d’activité
Dans la section « Détails du package », vous verrez ses votes, son score de popularité et deux dates. La première est la date à laquelle les packages ont été introduits pour la première fois dans l’AUR et la seconde est la date à laquelle le package a été mis à jour pour la dernière fois.
La date de « dernière mise à jour » vous indiquera si le package est activement maintenu. Les colis inactifs depuis longtemps doivent être traités avec prudence.
L’URL en amont est-elle un emplacement valide ?
Vérifiez également « l’URL en amont » et vérifiez qu’elle renvoie à une page Web valide ou à un référentiel de code pour le package ou le projet. Si ce n’est pas le cas, quelque chose ne va pas.
Lire les commentaires des utilisateurs
Il y a des commentaires d’utilisateurs au bas de chaque page AUR. Ceux-ci peuvent s’étendre sur plusieurs pages. Découvrez ce que les autres utilisateurs disent du package et le type de questions qu’ils posent. Voyez également quelles solutions sont proposées aux problèmes soulevés. Y a-t-il des commentaires récents ? Ce package a-t-il encore une base d’utilisateurs actifs ?
Inscrivez-vous et participez
Si vous vous inscrivez sur l’AUR et créez un compte gratuit, vous pourrez laisser des commentaires et poser des questions. Utilisez également d’autres ressources telles que des forums et des subreddits pour poser des questions sur le package.
Même si vous ne comprenez pas les scripts shell, vous pouvez toujours vérifier certaines choses.
Vérifier le contenu du PKGBUILD et des autres fichiers
Un moyen courant d’accéder à l’AUR consiste à utiliser une ligne de commande « AUR helper » telle que yay
mais vous pouvez également utiliser l’AUR de manière pratique et manuelle.
Les bons assistants AUR vous donnent la possibilité d’inspecter le fichier PKGBUILD, en interrompant l’installation si vous ne voulez pas continuer. Dans le processus manuel, vous recherchez le package sur l’AUR, téléchargez le fichier PKGBUILD et l’inspectez avant de l’utiliser. Si vous êtes heureux de continuer après l’avoir examiné, vous exécutez makepkg
manuellement.
C’est une bonne idée d’installer au moins un paquet manuellement, afin que vous connaissiez les mécanismes de ce que fait l’assistant AUR en arrière-plan. Nous utiliserons l’assistant yay AUR comme exemple.
Le package a été soumis pour la première fois en 2016 et a été mis à jour pour la dernière fois en mai 2023. Au moment de la rédaction, il s’agit d’une mise à jour très récente. Il convient également de noter que l’expéditeur d’origine, le responsable actuel et la dernière personne à avoir empaqueté le logiciel sont tous la même personne. Cette continuité est un bon signe.
Cliquez sur le lien URL « Git Clone URL » dans la section « Package Details » pour le copier dans le presse-papiers.
Dans une fenêtre de terminal, tapez « git clone », un espace, puis appuyez sur Maj + Ctrl + V pour coller l’URL sur la ligne de commande. Appuyez sur « Entrée » pour lancer le téléchargement.
git clone https://aur.archlinux.org/yay.git
Une fois le téléchargement terminé, accédez au nouveau répertoire « yay ».
cd yay
Voyons quels fichiers nous avons.
ls
Il y a un seul fichier, le fichier PKGBUILD. Il existe souvent un ou deux fichiers d’aide supplémentaires. Regardez-les aussi. Nous utiliserons less
pour lire notre dossier unique.
less PKGBUILD
Quelles URL le fichier PKGBUILD utilise-t-il ?
Un fichier PKGBUILD bien formé qui suit les conventions créera des variables pour contenir les URL qu’il utilise. Cela nous donne une liste soignée en haut du fichier des URL que PKGBUILD référencera. Dans ce cas, il n’y en a qu’un.
Nous pouvons voir qu’il pointe vers une page GitHub pour le yay
projet.
La page GitHub appartient à un utilisateur portant le même nom que le responsable répertorié sur la page AUR de ce package. Ce sont deux bonnes indications qu’il s’agit d’un emballage sûr.
Mais nous allons continuer et regarder un peu plus en profondeur.
Recherchez les commandes de téléchargement
Utilisez le less
fonction de recherche pour rechercher dans le fichier les utilisations de wget
ou curl
. Ces deux outils peuvent être utilisés pour récupérer des fichiers distants. Un PKGBUILD bien élevé ne devrait pas avoir besoin d’une telle activité.
Si vous trouvez des occurrences, traitez-les comme un drapeau rouge et n’installez pas le paquet tant que vous n’êtes pas certain qu’il est bénin. Quelle est l’URL que le wget
ou curl
les commandes font référence ? Ont-ils l’air légitimes et liés au colis ?
Si vous pouvez obtenir la confirmation d’une source fiable que le PKGBUILD est digne de confiance et qu’il est simplement écrit d’une manière qui ne suit pas les conventions, vous pouvez toujours choisir de l’installer.
Recherchez rm, mv et autres commandes dangereuses
De même, il n’est pas nécessaire qu’un fichier PKGBUILD contienne le rm
ou mv
commandes, et ils ne devraient pas non plus avoir besoin de référencer quoi que ce soit dans le répertoire « /dev ». Si le PKGBUILD appelle directement pacman
ou mentions systemctl
, systemd
ou tout autre composant vital du système tel que grub
considérez le fichier PKGBUILD comme dangereux et ne l’exécutez pas.
Vous pouvez effectuer les étapes que nous avons utilisées jusqu’à présent même si vous ne pouvez pas lire les scripts shell. Si vous connaissez des scripts shell, vous pouvez revoir le code réel dans le PKGBUILD.
Méfiez-vous du code obscurci
Les personnes qui écrivent du code malveillant essaient souvent de cacher ses intentions en l’obscurcissant. Ils utilisent une syntaxe minimaliste, concise et impénétrable, il est donc difficile de déchiffrer ce qu’ils essaient de faire. Si vous voyez des lignes qui utilisent la redirection ou l’appel sed
ou awk
traitez-les comme suspects.
Copier ces lignes et les déposer dans un analyseur en ligne tel que EXPLAINSHELL.com les décompressera afin que vous puissiez voir ce qu’ils font réellement. Si vous êtes confronté à un désordre dense de parenthèses, de points-virgules et d’esperluettes, il vaut la peine d’utiliser un analyseur en ligne pour vérifier que vous avez correctement interprété ce que la ligne essaie de faire. Mais en général, un code difficile à lire est un signe d’avertissement.
Votre /home devrait être votre château
PKGBUILD compile et construit dans un chroot
environnement.
Il s’agit de mini-systèmes de fichiers isolés qui permettent aux développeurs d’effectuer des processus de bac à sable en limitant leur accès au reste du système de fichiers de votre ordinateur et en réduisant leur accès aux autres commandes système.
Si le PKGBUILD manipule directement votre répertoire personnel, considérez cela comme un drapeau d’avertissement. Assurez-vous de bien comprendre ce qu’il fait avant de décider de l’exécuter.
Vous pouvez aider d’autres utilisateurs AUR
Avec des forfaits extrêmement populaires, vous êtes très susceptible d’être en sécurité. En raison du nombre élevé d’utilisateurs, les problèmes sont détectés et signalés plus rapidement. Vous pouvez faire votre part en signalant tous les problèmes que vous rencontrez et en votant pour de bons packages pour améliorer leur réputation.
Si vous trouvez qu’il y a un problème avec un paquet qui vous empêche de l’installer, vous pouvez vous retrouver dans une impasse parce que vous aviez besoin de ce paquet. Une solution consiste à demander sur les forums des suggestions d’autres packages pouvant répondre à ce besoin particulier.
Linux a généralement de nombreuses façons de dépecer un chat donné.