python dependency vulnerability scanner
Project description
🐍 Pyscan
A dependency vulnerability scanner for your python projects, straight from the terminal.
- can be used within large projects. (see benchmarks)
- automatically finds dependencies either from configuration files or within source code.
- support for poetry,hatch,filt,pdm and can be integrated into existing build processes.
- hasn't been battle-hardened yet. PRs and issue makers welcome.
🕊️ Install
pip install pyscan-rs
look out for the "-rs" part or
cargo install pyscan
check out the releases.
🐇 Usage
Go to your python source directory (or wherever you keep your requirements.txt
/pyproject.toml
) and run:
> pyscan
or
> pyscan -d path/to/src
Pyscan will find any dependencies added through poetry, hatch, filt, pdm, etc. Here's the order of precedence for a source/config file:
requirements.txt
pyproject.toml
- your source code (
.py
)
Pyscan will use your pip
to find unknown versions, otherwise pypi.org for the latest version. Still, Make sure you version-ize your requirements and use proper pep-508 syntax.
Building
pyscan requires a rust version of < v1.70
, and might be unstable on previous releases.
There's an overview of the codebase at architecture. Grateful for all the contributions so far.
🦀 Note
pyscan doesn't make sure your code is safe from everything. Use all resources available to you like safety Dependabot, pip-audit
, trivy and the likes.
🐰 Todo
As of October 15, 2023:
- Gather time to work on it (incredible task as a high schooler)
- Persistent state representation of a project's security.
- Graphical analysis of dependencies and their dependencies, and so on.
- Better display, search, filter of vulns
🐹 Donate
While not coding, I am a broke high school student with nothing else to do. I appreciate all the help I can get.
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distributions
File details
Details for the file pyscan_rs-0.1.6.tar.gz
.
File metadata
- Download URL: pyscan_rs-0.1.6.tar.gz
- Upload date:
- Size: 1.2 MB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: maturin/1.3.0
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8102a51d8f52787f24f946fbcdd5b0c130ded0e2cff7ecd08a2746d8fc855a0f |
|
MD5 | 50813d7f8fdfcf6cbb48e6f1530bd78c |
|
BLAKE2b-256 | 5e9d24eb6b2d734e00de5d2af1757abf4f18af6b3f506b6ec499713ad696b957 |
File details
Details for the file pyscan_rs-0.1.6-py3-none-win_amd64.whl
.
File metadata
- Download URL: pyscan_rs-0.1.6-py3-none-win_amd64.whl
- Upload date:
- Size: 2.5 MB
- Tags: Python 3, Windows x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: maturin/1.3.0
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | e6cfaee0d9af368b95e70fff33282bc79f8159fe8279697fc3d71a7bd62efd0d |
|
MD5 | f8312c552cbdccf920b4e061c3b2e9ff |
|
BLAKE2b-256 | cfffe55b9db0241149e4518c20386163402f41abaaf91ab6ad16248034a9ceb1 |
File details
Details for the file pyscan_rs-0.1.6-py3-none-win32.whl
.
File metadata
- Download URL: pyscan_rs-0.1.6-py3-none-win32.whl
- Upload date:
- Size: 2.3 MB
- Tags: Python 3, Windows x86
- Uploaded using Trusted Publishing? No
- Uploaded via: maturin/1.3.0
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | f888cad16b13c49ff1b698724a3092348565776e68b17607b7645ca59e727912 |
|
MD5 | 538ec415c83269b39b976a465890baf9 |
|
BLAKE2b-256 | 1010b6946e614f891dd0a38747a5791a5836ed6d905324419d5b277acc2cdc2c |
File details
Details for the file pyscan_rs-0.1.6-py3-none-manylinux_2_34_x86_64.whl
.
File metadata
- Download URL: pyscan_rs-0.1.6-py3-none-manylinux_2_34_x86_64.whl
- Upload date:
- Size: 24.9 MB
- Tags: Python 3, manylinux: glibc 2.34+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.12.1
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | d67902ce524df8ada716fa7ec3118c200a5000b3cb13e0be8dfeea664425358c |
|
MD5 | 860e0f75ca4c10c0ccc145a71cf03ac4 |
|
BLAKE2b-256 | 273d25ed135808342bb0bcbbf76727ecff3b6ee966b453940fb530d24475e816 |
File details
Details for the file pyscan_rs-0.1.6-py3-none-macosx_11_0_arm64.whl
.
File metadata
- Download URL: pyscan_rs-0.1.6-py3-none-macosx_11_0_arm64.whl
- Upload date:
- Size: 2.8 MB
- Tags: Python 3, macOS 11.0+ ARM64
- Uploaded using Trusted Publishing? No
- Uploaded via: maturin/1.3.0
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | f5b18b3ed4e1a07bd4171ece221d15d2dc6190ff2ec601c8d70a1c3b77238638 |
|
MD5 | 126aadf1eda2af7ce9043dbe87672b94 |
|
BLAKE2b-256 | 6c0b583a3ee4f12ecf34e3077872814c09cd083e3bec4fbfaec1a47d10eaf9c3 |
File details
Details for the file pyscan_rs-0.1.6-py3-none-macosx_10_7_x86_64.whl
.
File metadata
- Download URL: pyscan_rs-0.1.6-py3-none-macosx_10_7_x86_64.whl
- Upload date:
- Size: 3.0 MB
- Tags: Python 3, macOS 10.7+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: maturin/1.3.0
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 3817087612e25c446f03cda60b38b91f4cf4e3d443ab431889ea58853f4492ab |
|
MD5 | ee26df1d46b3a56c62682c203b735873 |
|
BLAKE2b-256 | 649fdd51b2c27a1bfcc617fc9aad39033829e32dc052d7de1736d10d495aba01 |