SkillAgentSearch skills...

Pysentry

๐Ÿ Scan your Python dependencies for known security vulnerabilities with Rust-powered scanner

Install / Use

/learn @nyudenkov/Pysentry

README

PySentry

PyPI Downloads

Help to test and improve ยท Participate in pysentry usage survey

Please, send feedback to nikita@pysentry.com

A fast, reliable security vulnerability scanner for Python projects, written in Rust.

PySentry audits Python projects for known security vulnerabilities by analyzing dependency files and cross-referencing them against multiple vulnerability databases.

Documentation ยท Benchmarks ยท Buy Me a Coffee

Features

  • Multiple formats โ€” uv.lock, poetry.lock, Pipfile.lock, pylock.toml, pyproject.toml, Pipfile, requirements.txt
  • Multiple sources โ€” PyPA Advisory Database, PyPI JSON API, OSV.dev (all enabled by default)
  • PEP 792 support โ€” Detects archived, deprecated, and quarantined packages
  • Flexible output โ€” Human-readable, JSON, SARIF, Markdown
  • Fast โ€” Written in Rust with async processing and caching

Installation

# Using uvx (recommended)
uvx pysentry-rs /path/to/project

# Using pip
pip install pysentry-rs

# Using cargo
cargo install pysentry

# Pre-built binaries available at GitHub Releases

See Installation Guide for all options.

Quick Start

# Scan current directory
pysentry

# Scan specific project
pysentry /path/to/project

# Filter by severity
pysentry --severity high

# Output to JSON
pysentry --format json --output report.json

# Fail on critical vulnerabilities only
pysentry --fail-on critical

# Block quarantined packages (malware protection)
pysentry --forbid-quarantined

See Quickstart Guide for more examples.

Pre-commit

repos:
  - repo: https://github.com/pysentry/pysentry-pre-commit
    rev: v0.4.3
    hooks:
      - id: pysentry
        # Use compact mode for minimal pre-commit output
        # args: ['--compact']

Configuration

PySentry supports TOML configuration via .pysentry.toml or pyproject.toml:

# .pysentry.toml
version = 1

[defaults]
severity = "medium"
fail_on = "high"

[sources]
enabled = ["pypa", "osv"]

[ignore]
ids = ["CVE-2023-12345"]

See Configuration Guide for all options.

Documentation

Full documentation is available at docs.pysentry.com:

Requirements

  • For requirements.txt scanning: Install uv (recommended) or pip-tools for dependency resolution
  • Python: 3.9โ€“3.14 (for pip/uvx installation)
  • Rust: 1.79+ (for cargo installation or building from source)

Acknowledgments

View on GitHub
GitHub Stars220
CategoryDevelopment
Updated2d ago
Forks7

Languages

Rust

Security Score

100/100

Audited on Mar 27, 2026

No findings