Skip to main content

python dependency vulnerability scanner

Project description

🐍 Pyscan

CI Liscense PyPI GitHub issues Top Language

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.txt
  • pyproject.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 schooler college 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.

ko-fi

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

pyscan_rs-0.1.8.tar.gz (1.1 MB view details)

Uploaded Source

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

pyscan_rs-0.1.8-py3-none-win_amd64.whl (2.4 MB view details)

Uploaded Python 3Windows x86-64

pyscan_rs-0.1.8-py3-none-win32.whl (2.2 MB view details)

Uploaded Python 3Windows x86

pyscan_rs-0.1.8-py3-none-musllinux_1_2_x86_64.whl (4.1 MB view details)

Uploaded Python 3musllinux: musl 1.2+ x86-64

pyscan_rs-0.1.8-py3-none-musllinux_1_2_i686.whl (4.1 MB view details)

Uploaded Python 3musllinux: musl 1.2+ i686

pyscan_rs-0.1.8-py3-none-musllinux_1_2_armv7l.whl (3.8 MB view details)

Uploaded Python 3musllinux: musl 1.2+ ARMv7l

pyscan_rs-0.1.8-py3-none-musllinux_1_2_aarch64.whl (3.9 MB view details)

Uploaded Python 3musllinux: musl 1.2+ ARM64

pyscan_rs-0.1.8-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (4.1 MB view details)

Uploaded Python 3manylinux: glibc 2.17+ x86-64

pyscan_rs-0.1.8-py3-none-manylinux_2_17_i686.manylinux2014_i686.whl (4.2 MB view details)

Uploaded Python 3manylinux: glibc 2.17+ i686

pyscan_rs-0.1.8-py3-none-manylinux_2_17_armv7l.manylinux2014_armv7l.whl (3.8 MB view details)

Uploaded Python 3manylinux: glibc 2.17+ ARMv7l

pyscan_rs-0.1.8-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (3.9 MB view details)

Uploaded Python 3manylinux: glibc 2.17+ ARM64

pyscan_rs-0.1.8-py3-none-macosx_11_0_arm64.whl (2.6 MB view details)

Uploaded Python 3macOS 11.0+ ARM64

pyscan_rs-0.1.8-py3-none-macosx_10_12_x86_64.whl (2.7 MB view details)

Uploaded Python 3macOS 10.12+ x86-64

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

Hashes for pyscan_rs-0.1.8.tar.gz
Algorithm Hash digest
SHA256 2fb753760971ad1f090066b0bf8543b6900238e7df2dc6ad42ecaa0fb936226c
MD5 ce4343a72f9101b6709764246b0b9f80
BLAKE2b-256 ce7c5de38e2fcf15e37e700a41215c1fdc4587d8369e9ab424b03489e63790c5

See more details on using hashes here.

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

Hashes for pyscan_rs-0.1.8-py3-none-win_amd64.whl
Algorithm Hash digest
SHA256 9d991a6adf19f15e1fcdd132761bd527610ad0df7dfa3ff5de744f6b88d5258a
MD5 21a20d050943e653593c7d9a9de15df3
BLAKE2b-256 87754235460e46b9f7286b329cf7817e659124584fa87ee02c81d987b2d42cee

See more details on using hashes here.

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

Hashes for pyscan_rs-0.1.8-py3-none-win32.whl
Algorithm Hash digest
SHA256 8f6c279f6617d6698a16b0b7fe174faadd49455bbc9627a2cb255617412c38fa
MD5 cac8557f104a71b0492c8626b53c2a2b
BLAKE2b-256 1d3c3e610f544e52a32ec9e5d381036cf3bfdfa285fc078dd67cb56cad26d2db

See more details on using hashes here.

File details

Details for the file pyscan_rs-0.1.8-py3-none-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for pyscan_rs-0.1.8-py3-none-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 3d6033f6f82b58a6b73cc22ac031b966f461fe7861ddec0f23ef5f2119433434
MD5 d43be8dc61729f15d65e765d9fc61d9a
BLAKE2b-256 95b4c28758e7186c5d86f1fcfed0404da764f098ca5a381309bb0aa23f73af30

See more details on using hashes here.

File details

Details for the file pyscan_rs-0.1.8-py3-none-musllinux_1_2_i686.whl.

File metadata

File hashes

Hashes for pyscan_rs-0.1.8-py3-none-musllinux_1_2_i686.whl
Algorithm Hash digest
SHA256 8f70bba9b58e26f65c6a1e5cf5b1ff07ace62b0fc2d064269f883a69855cefc7
MD5 e091e7a2e8fb9baf47516ea4b98e34fb
BLAKE2b-256 55d3d010e4fdc7e6be3b1c35d6d2db5fe8c30e8e5f8162ec4af1723d6db3afe4

See more details on using hashes here.

File details

Details for the file pyscan_rs-0.1.8-py3-none-musllinux_1_2_armv7l.whl.

File metadata

File hashes

Hashes for pyscan_rs-0.1.8-py3-none-musllinux_1_2_armv7l.whl
Algorithm Hash digest
SHA256 522bcf282f37d53b0d6bf2d2fdadad817ee8a427704ac9174c09eef2cea42c03
MD5 98cd4940fcd84590a20b4fc8bf45d413
BLAKE2b-256 3a1bf6e45f72da878eee417d4d20808fb6893939eb0f4035509d3a2324412161

See more details on using hashes here.

File details

Details for the file pyscan_rs-0.1.8-py3-none-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for pyscan_rs-0.1.8-py3-none-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 b8a77ba4547ca2ad217bdee188f8c94bfd40aae45d951c6266754909a8374ffb
MD5 7dec71801fc09e698bed02223c69b398
BLAKE2b-256 1bae0f97787882653f79f3ce45a9a8ffd468ce3477ba79de2ab3386ab852dfad

See more details on using hashes here.

File details

Details for the file pyscan_rs-0.1.8-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for pyscan_rs-0.1.8-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 cc6453d8f670283f4fcef2d7335b1afe27d99dedba0c00483b7951f67040b724
MD5 d04dd7e6a7af95aaafbad88f86e94510
BLAKE2b-256 6db311371c1aebd012f54e6eb1c71e402d2765dd8fc05aefac5dee83efce9ca1

See more details on using hashes here.

File details

Details for the file pyscan_rs-0.1.8-py3-none-manylinux_2_17_i686.manylinux2014_i686.whl.

File metadata

File hashes

Hashes for pyscan_rs-0.1.8-py3-none-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 e9a045d8fbeb730b1547fc322faa5e36fa5617890e0923673039eae8ec3c52e2
MD5 cafb4a37fd2bb53896101275133e61ea
BLAKE2b-256 f5ec624cb1172f4a38b217949fa59b4d831a11cc970f4125b804c2f52e6c5dde

See more details on using hashes here.

File details

Details for the file pyscan_rs-0.1.8-py3-none-manylinux_2_17_armv7l.manylinux2014_armv7l.whl.

File metadata

File hashes

Hashes for pyscan_rs-0.1.8-py3-none-manylinux_2_17_armv7l.manylinux2014_armv7l.whl
Algorithm Hash digest
SHA256 b2ace0388c900b6de0cf445b7fdc90fe644aadb370269aad36e5dc628ecb11e5
MD5 b61da6d6ad5e5fbb10e3df9665ffb6d9
BLAKE2b-256 d231c0540ac4f9ee857bb6a0b5bd7d0080d916c7e2249038848045f86c60f573

See more details on using hashes here.

File details

Details for the file pyscan_rs-0.1.8-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for pyscan_rs-0.1.8-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 6fb3145b942a89b3c1ddafdb79d31659444c6f762bd49979bf3644a46e682736
MD5 c91a04b519ec10a808cb07ea7ffc2af3
BLAKE2b-256 1af7f099623152cde85212ca27b5e41dc94ec68a30d45c14df7dbf6264191225

See more details on using hashes here.

File details

Details for the file pyscan_rs-0.1.8-py3-none-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for pyscan_rs-0.1.8-py3-none-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 f8b5990272f2ab2f58aa134104c7f245c4fd3bd8ad7ca54d07d4a67738874914
MD5 b2bb487ac80492bafa6f584d0d13fc85
BLAKE2b-256 031bc75e4be3b7227f91cb2bfae55b28780720eb0ba2c4c9f561f77124c19688

See more details on using hashes here.

File details

Details for the file pyscan_rs-0.1.8-py3-none-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for pyscan_rs-0.1.8-py3-none-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 3484ad020dc03dfb8f7d26214512d203a2da0c0fb8033f1ad63a61b2e432928b
MD5 ba7cd88287581badc67e2b3a91accf13
BLAKE2b-256 5ad8ece38e93668695861864a373af2d61d6ef8b7921f37939ebce459eefaa81

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page