
scanner de vulnérabilités de dépendances Python, écrit en Rust.
Pyscan est un scanner de vulnérabilités hautement concurrentiel écrit en Rust. Il parcourt automatiquement votre projet Python, extrait les dépendances de divers formats d'empaquetage et les croise avec la base de données Open Source Vulnerabilities (OSV) en une seule requête asynchrone par lots.
Pyscan a été conçu pour résoudre les goulots d'étranglement de performance et de mémoire des outils de sécurité traditionnels basés sur Python :
pip-auditsafetyuv.lock, requirements.txt, pyproject.toml (Poetry, Hatch, PDM, Flit), ou dynamiquement en analysant votre code source .py brut.Lisez l'analyse approfondie dans le Rapport de benchmarks.
Vous pouvez installer Pyscan via pipx, pip (wheel Python compilée) ou cargo (binaire Rust natif) :
# via pipx (recommandé) (Notez le suffixe "-rs")
pipx install pyscan-rs
# via pip (Notez le suffixe "-rs")
pip install pyscan-rs
# via Cargo
cargo install pyscan
Exécutez simplement pyscan dans le répertoire racine de votre projet, ou indiquez-lui un dossier source spécifique :
# Scanner le répertoire courant
pyscan
# Scanner un répertoire spécifique
pyscan -d chemin/vers/src
Si plusieurs fichiers source sont présents, Pyscan extrait les dépendances selon cette chaîne de priorité :
bom.json, spdx.json)uv.lockrequirements.txtpyproject.toml.py)Pyscan interrogera PyPI pour obtenir la dernière version si une dépendance est trouvée sans version strictement épinglée, bien qu'il soit fortement recommandé de respecter la syntaxe PEP-508.
Pyscan nécessite une chaîne d'outils Rust >= v1.70 et exploite les réseaux asynchrones via reqwest et tokio pour paralléliser les requêtes OSV et maximiser le débit. Si vous êtes intéressé par la structure de l'analyseur et du scanner, consultez l'Aperçu de l'architecture.
Pyscan est un outil hautement optimisé, mais il n'a pas encore été éprouvé dans tous les cas extrêmes. Il ne garantit pas que votre code est 100 % sécurisé contre tous les vecteurs. Je recommande vivement d'utiliser une approche de sécurité en couches avec des outils comme Dependabot, pip-audit ou Trivy. Les PR et les issues sont chaleureusement bienvenues !
J'ai commencé ce projet quand j'étais un lycéen fauché, et maintenant je suis un étudiant fauché. Si Pyscan a fait gagner du temps et de la RAM à vos pipelines CI/CD, envisagez de m'offrir un café :