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

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Déploiement/Installation Python Discussion :

Installation Package Virus


Sujet :

Déploiement/Installation Python

  1. #1
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Août 2023
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Août 2023
    Messages : 4
    Par défaut Installation Package Virus
    Bonjour à tous,

    Débutant dans le codage Python, je souhaite télécharger des package sur Pypi.org.
    Auriez-vous une technique permettant de vérifier si ce que l'on installe ne cache pas de virus/malware ?

    Après avoir installé un package, le terminal renvoi une ligne indiquant ce qui a été téléchargé et quelle version.
    Pouvons-nous nous baser sur ça ?

    Je sais que c'est un sujet très large mais il me semble important de ne pas installer n'importe quoi.

    Merci pour vos réponses !

  2. #2
    Expert éminent
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 762
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 762
    Par défaut
    Salut,

    Les packages s'installent généralement avec pip qui permet de vérifier ce qui est mentionné dans la documentation.
    Si vous voulez quelque chose de plus robuste, vous pouvez inspecter les sources puis reconstruire la distribution, passer les tests,... sur un environnement isolé avant de le tamponner "bon pour le service"...

    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

  3. #3
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Août 2023
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Août 2023
    Messages : 4
    Par défaut
    Salut Wiztricks,

    Merci pour ta réponse !

    En bref, c'est pas simple de vérifier manuellement tout ce que l'on souhaite installer...
    Il y a t'il une règle (sur le site depuis + 1an par exemple) qui pourrait annoncer un package sur le principe sûr ?

    Il y en a un en particulier que j'ai installé mais aucune "stars" ni rien sur GitHub et j'aimerais vérifier qu'il soit bon..
    J'ai fait dans la précipitation

  4. #4
    Expert éminent
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 762
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 762
    Par défaut
    Citation Envoyé par Code2589 Voir le message
    En bref, c'est pas simple de vérifier manuellement tout ce que l'on souhaite installer...
    Il y a t'il une règle (sur le site depuis + 1an par exemple) qui pourrait annoncer un package sur le principe sûr ?
    C'est assez simple mais ça prend du temps.

    Pour les règles... vous n'allez pas installer des packages obscurs mais préférez ceux qui sont populaires. Vous préférerez rester en version n-2 ou n-1 plutôt que de vous précipiter à installer les dernières versions (sauf bonne raison). C'est juste du bon sens que vous appliquez déjà sans doute pour vos achats sur Internet.

    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

  5. #5
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Août 2023
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Août 2023
    Messages : 4
    Par défaut
    C'est vrai que c'est du bon sens, comme partout vous avez raison

    Si je désinstalle le package en question c'est déjà mieux que rien ou c'est trop tard ?
    Je peux vous donner le nom en MP si besoin.

  6. #6
    Expert éminent
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 762
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 762
    Par défaut
    Citation Envoyé par Code2589 Voir le message
    Si je désinstalle le package en question c'est déjà mieux que rien ou c'est trop tard ?
    S'il contenait un virus vicieux, c'est probablement trop tard. Mais bon, il ne faut pas être trop parano sinon vous ne démarreriez jamais un ordinateur connecté à Internet.

    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

  7. #7
    Membre Expert
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    721
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2006
    Messages : 721
    Par défaut
    Ces derniers temps, Pypi a été utilisé comme tremplin de supply chain attack, donc il ne faut pas sous-estimer le risque.
    Il vaut mieux auditer le code, ce qui n'est pas forcément facile, et si le "virus" est bien fait, il peut passer inaperçu pour un observateur non entraîné.
    Mais au moins, l'open source a cet avantage de la transparence.

    Je tenterais d'installer le package dans un container Docker par exemple, et sniffer le trafic avec Wireshark pour vérifier qu'il n'y a pas une connexion louche qui se fait subrepticement après l'install ou la première utilisation.
    On peut aussi utiliser un outil comme strace pour contrôler l'activité au niveau système (fichiers lus, flux réseau par exemple).
    Il faut prendre aussi en considération la réputation du développeur. Même si le package n'est pas répandu/populaire, le développeur a peut-être quand même d'autres projets plus populaires et une bonne réputation en général.

    De toute façon, je conseillerais d'utiliser non seulement un virtualenv mais systématiquement des containers type Docker pour le dév afin d'isoler sa machine et d'avoir un meilleur contrôle de l'environnement d'exécution. Pire des cas, le container est compromis et votre code source fuite, mais votre machine devrait être protégée.

  8. #8
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Août 2023
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Août 2023
    Messages : 4
    Par défaut
    Merci pour vos réponses, toujours très intéressant d’avoir vos avis.
    Malheureusement, sans aucunes connaissances informatiques gérer Wireshark, Dock etc en plus sous MacOS me paraît assez difficile. Je pense apprendre à utiliser tout cela pour plus tard, lorsque j’aurais besoin d’autres packages.
    Je pense réinstaller MacOS car je ne peux pas vérifier le code du package installé (puis désinstallé depuis) avec un niveau python proche de 0.
    La réinstallation me permettra de repartir sur des bases saines ?

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo