
scanner di vulnerabilità delle dipendenze python, scritto in Rust.
Pyscan è uno scanner di vulnerabilità altamente concorrente scritto in Rust. Attraversa automaticamente il tuo progetto Python, estrae le dipendenze da vari formati di packaging e le incrocia con il database Open Source Vulnerabilities (OSV) in un'unica richiesta batch asincrona.
Pyscan è stato progettato per risolvere i colli di bottiglia prestazionali e di memoria dei tradizionali strumenti di sicurezza basati su Python:
pip-auditsafetyuv.lock, requirements.txt, pyproject.toml (Poetry, Hatch, PDM, Flit), o dinamicamente analizzando il codice sorgente .py grezzo.Leggi l'analisi approfondita nel Rapporto sui benchmark.
Puoi installare Pyscan tramite pipx, pip (wheel Python compilata) o cargo (binario Rust nativo):
# via pipx (recommended) (Note the "-rs" suffix)
pipx install pyscan-rs
# via pip (Note the "-rs" suffix)
pip install pyscan-rs
# via Cargo
cargo install pyscan
Esegui semplicemente pyscan nella directory principale del tuo progetto, oppure puntalo a una cartella sorgente specifica:
# Scan the current directory
pyscan
# Scan a specific directory
pyscan -d path/to/src
Se sono presenti più file sorgente, Pyscan estrae le dipendenze seguendo questa catena di priorità:
bom.json, spdx.json)uv.lockrequirements.txtpyproject.toml.py)Pyscan ripiegherà sull'interrogazione di PyPI per la versione più recente se una dipendenza viene trovata senza una versione strettamente vincolata, anche se è altamente consigliato aderire alla sintassi PEP-508.
Pyscan richiede una toolchain Rust >= v1.70 e sfrutta la rete asincrona tramite reqwest e tokio per parallelizzare le query OSV e massimizzare il throughput. Se sei interessato a come sono strutturati parser e scanner, dai un'occhiata allaPanoramica dell'architettura.
Pyscan è uno strumento altamente ottimizzato, ma non è ancora stato testato a fondo su ogni caso limite. Non garantisce che il tuo codice sia sicuro al 100% da tutti i vettori. Consiglio vivamente di utilizzare un approccio di sicurezza a strati insieme a strumenti come Dependabot, pip-audit o Trivy. PR e issue sono calorosamente benvenuti!
Ho iniziato questo progetto quando ero uno studente delle superiori al verde, e ora sono uno studente universitario al verde. Se Pyscan ha fatto risparmiare alle tue pipeline CI/CD un po' di tempo prezioso e RAM, prendi in considerazione l'idea di offrirmi un caffè: