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
🐇 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.txtpyproject.toml- your source code (
.py)
Pyscan will use your pip to find unknown versions, otherwise pypi.org for the latest version. Still, it is recommended to 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 December 24, 2024:
- Gather time to work on it (incredible task as a
high schoolercollege freshman) - Persistent state representation of a project's security.
- Graphical analysis of dependencies and their dependencies, and so on.
- Better display, search, filter of vulns
- Finish the "big" update (All of the above is a part of PR #17)
🐹 Donate
While not coding, I am a broke high school college student with nothing else to do. I appreciate all the help I can get.
Project details
Release history Release notifications | RSS feed
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
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file pyscan_rs-0.1.8.tar.gz.
File metadata
- Download URL: pyscan_rs-0.1.8.tar.gz
- Upload date:
- Size: 1.1 MB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: maturin/1.9.1
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
2fb753760971ad1f090066b0bf8543b6900238e7df2dc6ad42ecaa0fb936226c
|
|
| MD5 |
ce4343a72f9101b6709764246b0b9f80
|
|
| BLAKE2b-256 |
ce7c5de38e2fcf15e37e700a41215c1fdc4587d8369e9ab424b03489e63790c5
|
File details
Details for the file pyscan_rs-0.1.8-py3-none-win_amd64.whl.
File metadata
- Download URL: pyscan_rs-0.1.8-py3-none-win_amd64.whl
- Upload date:
- Size: 2.4 MB
- Tags: Python 3, Windows x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: maturin/1.9.1
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
9d991a6adf19f15e1fcdd132761bd527610ad0df7dfa3ff5de744f6b88d5258a
|
|
| MD5 |
21a20d050943e653593c7d9a9de15df3
|
|
| BLAKE2b-256 |
87754235460e46b9f7286b329cf7817e659124584fa87ee02c81d987b2d42cee
|
File details
Details for the file pyscan_rs-0.1.8-py3-none-win32.whl.
File metadata
- Download URL: pyscan_rs-0.1.8-py3-none-win32.whl
- Upload date:
- Size: 2.2 MB
- Tags: Python 3, Windows x86
- Uploaded using Trusted Publishing? No
- Uploaded via: maturin/1.9.1
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
8f6c279f6617d6698a16b0b7fe174faadd49455bbc9627a2cb255617412c38fa
|
|
| MD5 |
cac8557f104a71b0492c8626b53c2a2b
|
|
| BLAKE2b-256 |
1d3c3e610f544e52a32ec9e5d381036cf3bfdfa285fc078dd67cb56cad26d2db
|
File details
Details for the file pyscan_rs-0.1.8-py3-none-musllinux_1_2_x86_64.whl.
File metadata
- Download URL: pyscan_rs-0.1.8-py3-none-musllinux_1_2_x86_64.whl
- Upload date:
- Size: 4.1 MB
- Tags: Python 3, musllinux: musl 1.2+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: maturin/1.9.1
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
3d6033f6f82b58a6b73cc22ac031b966f461fe7861ddec0f23ef5f2119433434
|
|
| MD5 |
d43be8dc61729f15d65e765d9fc61d9a
|
|
| BLAKE2b-256 |
95b4c28758e7186c5d86f1fcfed0404da764f098ca5a381309bb0aa23f73af30
|
File details
Details for the file pyscan_rs-0.1.8-py3-none-musllinux_1_2_i686.whl.
File metadata
- Download URL: pyscan_rs-0.1.8-py3-none-musllinux_1_2_i686.whl
- Upload date:
- Size: 4.1 MB
- Tags: Python 3, musllinux: musl 1.2+ i686
- Uploaded using Trusted Publishing? No
- Uploaded via: maturin/1.9.1
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
8f70bba9b58e26f65c6a1e5cf5b1ff07ace62b0fc2d064269f883a69855cefc7
|
|
| MD5 |
e091e7a2e8fb9baf47516ea4b98e34fb
|
|
| BLAKE2b-256 |
55d3d010e4fdc7e6be3b1c35d6d2db5fe8c30e8e5f8162ec4af1723d6db3afe4
|
File details
Details for the file pyscan_rs-0.1.8-py3-none-musllinux_1_2_armv7l.whl.
File metadata
- Download URL: pyscan_rs-0.1.8-py3-none-musllinux_1_2_armv7l.whl
- Upload date:
- Size: 3.8 MB
- Tags: Python 3, musllinux: musl 1.2+ ARMv7l
- Uploaded using Trusted Publishing? No
- Uploaded via: maturin/1.9.1
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
522bcf282f37d53b0d6bf2d2fdadad817ee8a427704ac9174c09eef2cea42c03
|
|
| MD5 |
98cd4940fcd84590a20b4fc8bf45d413
|
|
| BLAKE2b-256 |
3a1bf6e45f72da878eee417d4d20808fb6893939eb0f4035509d3a2324412161
|
File details
Details for the file pyscan_rs-0.1.8-py3-none-musllinux_1_2_aarch64.whl.
File metadata
- Download URL: pyscan_rs-0.1.8-py3-none-musllinux_1_2_aarch64.whl
- Upload date:
- Size: 3.9 MB
- Tags: Python 3, musllinux: musl 1.2+ ARM64
- Uploaded using Trusted Publishing? No
- Uploaded via: maturin/1.9.1
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b8a77ba4547ca2ad217bdee188f8c94bfd40aae45d951c6266754909a8374ffb
|
|
| MD5 |
7dec71801fc09e698bed02223c69b398
|
|
| BLAKE2b-256 |
1bae0f97787882653f79f3ce45a9a8ffd468ce3477ba79de2ab3386ab852dfad
|
File details
Details for the file pyscan_rs-0.1.8-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.
File metadata
- Download URL: pyscan_rs-0.1.8-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
- Upload date:
- Size: 4.1 MB
- Tags: Python 3, manylinux: glibc 2.17+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: maturin/1.9.1
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
cc6453d8f670283f4fcef2d7335b1afe27d99dedba0c00483b7951f67040b724
|
|
| MD5 |
d04dd7e6a7af95aaafbad88f86e94510
|
|
| BLAKE2b-256 |
6db311371c1aebd012f54e6eb1c71e402d2765dd8fc05aefac5dee83efce9ca1
|
File details
Details for the file pyscan_rs-0.1.8-py3-none-manylinux_2_17_i686.manylinux2014_i686.whl.
File metadata
- Download URL: pyscan_rs-0.1.8-py3-none-manylinux_2_17_i686.manylinux2014_i686.whl
- Upload date:
- Size: 4.2 MB
- Tags: Python 3, manylinux: glibc 2.17+ i686
- Uploaded using Trusted Publishing? No
- Uploaded via: maturin/1.9.1
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
e9a045d8fbeb730b1547fc322faa5e36fa5617890e0923673039eae8ec3c52e2
|
|
| MD5 |
cafb4a37fd2bb53896101275133e61ea
|
|
| BLAKE2b-256 |
f5ec624cb1172f4a38b217949fa59b4d831a11cc970f4125b804c2f52e6c5dde
|
File details
Details for the file pyscan_rs-0.1.8-py3-none-manylinux_2_17_armv7l.manylinux2014_armv7l.whl.
File metadata
- Download URL: pyscan_rs-0.1.8-py3-none-manylinux_2_17_armv7l.manylinux2014_armv7l.whl
- Upload date:
- Size: 3.8 MB
- Tags: Python 3, manylinux: glibc 2.17+ ARMv7l
- Uploaded using Trusted Publishing? No
- Uploaded via: maturin/1.9.1
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b2ace0388c900b6de0cf445b7fdc90fe644aadb370269aad36e5dc628ecb11e5
|
|
| MD5 |
b61da6d6ad5e5fbb10e3df9665ffb6d9
|
|
| BLAKE2b-256 |
d231c0540ac4f9ee857bb6a0b5bd7d0080d916c7e2249038848045f86c60f573
|
File details
Details for the file pyscan_rs-0.1.8-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.
File metadata
- Download URL: pyscan_rs-0.1.8-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
- Upload date:
- Size: 3.9 MB
- Tags: Python 3, manylinux: glibc 2.17+ ARM64
- Uploaded using Trusted Publishing? No
- Uploaded via: maturin/1.9.1
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
6fb3145b942a89b3c1ddafdb79d31659444c6f762bd49979bf3644a46e682736
|
|
| MD5 |
c91a04b519ec10a808cb07ea7ffc2af3
|
|
| BLAKE2b-256 |
1af7f099623152cde85212ca27b5e41dc94ec68a30d45c14df7dbf6264191225
|
File details
Details for the file pyscan_rs-0.1.8-py3-none-macosx_11_0_arm64.whl.
File metadata
- Download URL: pyscan_rs-0.1.8-py3-none-macosx_11_0_arm64.whl
- Upload date:
- Size: 2.6 MB
- Tags: Python 3, macOS 11.0+ ARM64
- Uploaded using Trusted Publishing? No
- Uploaded via: maturin/1.9.1
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
f8b5990272f2ab2f58aa134104c7f245c4fd3bd8ad7ca54d07d4a67738874914
|
|
| MD5 |
b2bb487ac80492bafa6f584d0d13fc85
|
|
| BLAKE2b-256 |
031bc75e4be3b7227f91cb2bfae55b28780720eb0ba2c4c9f561f77124c19688
|
File details
Details for the file pyscan_rs-0.1.8-py3-none-macosx_10_12_x86_64.whl.
File metadata
- Download URL: pyscan_rs-0.1.8-py3-none-macosx_10_12_x86_64.whl
- Upload date:
- Size: 2.7 MB
- Tags: Python 3, macOS 10.12+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: maturin/1.9.1
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
3484ad020dc03dfb8f7d26214512d203a2da0c0fb8033f1ad63a61b2e432928b
|
|
| MD5 |
ba7cd88287581badc67e2b3a91accf13
|
|
| BLAKE2b-256 |
5ad8ece38e93668695861864a373af2d61d6ef8b7921f37939ebce459eefaa81
|