Skip to main content

Contains reusable logic to apply Oomnitza ssrf protection.

Project description

Oomnitza SSRF Protection

Package contains reusable logic to apply Oomnitza SSRF protection.

Overview

The SSRF Protector library is a Python library designed to protect against Server-Side Request Forgery (SSRF) attacks. SecuritySSRFProtection class provides a check_url method that allows you to validate URLs and ensure they do not point to sensitive or internal resources.

Installation

You can install the SSRF Protector library using pip:

pip install oomnitza-ssrf-protection

Usage

To use the SSRF Protector library, follow the steps below:

Import the AsyncSecuritySSRFProtection class from the library and call the check_url method with the URL you want to validate:

url = "https://example.com"
result = await AsyncSecuritySSRFProtection().check_url(url)

It's also possible to use SyncSecuritySSRFProtection as synchronous version

url = "https://example.com"
result = SyncSecuritySSRFProtection().check_url(url)

It's also possible to pass whitelist of URLs

url_to_check = "https://example.com"
allowed_urls=["http://127.0.0.1", "http://169.254.1.194"]

result = await AsyncSecuritySSRFProtection(
    allowed_urls=allowed_urls
).check_url(url_to_check)

The check_url method will raise SSRFProtectionError if the URL is potentially dangerous (e.g., pointing to internal resources).

Development

Install package with or without test dependencies.

python3 -m venv .venv
source .venv/bin/activate
pip install oomnitza-ssrf-protection
pip install -e '.[tests]'

Feel free to write additional tests to cover the new changes and run test suite.

Distribution

Build and upload the package to the PyPi repository.

Upload package to testpypi

python3 -m build
python3 -m twine upload --repository testpypi dist/*

Upload package to pypi

python3 -m build
python3 -m twine upload dist/*

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

oomnitza_ssrf_protection-0.1.3.tar.gz (6.8 kB view details)

Uploaded Source

Built Distribution

File details

Details for the file oomnitza_ssrf_protection-0.1.3.tar.gz.

File metadata

File hashes

Hashes for oomnitza_ssrf_protection-0.1.3.tar.gz
Algorithm Hash digest
SHA256 45e00704408f60101c816567bcfda845620413fd739ed79d147985ea6a343701
MD5 8517326021c3505849f8f48e7907cfae
BLAKE2b-256 333f3e97cfd68cf08de6c6018f6f560d3bb5cadb7efd3d094d493fcd7f973845

See more details on using hashes here.

File details

Details for the file oomnitza_ssrf_protection-0.1.3-py3-none-any.whl.

File metadata

File hashes

Hashes for oomnitza_ssrf_protection-0.1.3-py3-none-any.whl
Algorithm Hash digest
SHA256 8446a766243185b674e055069c2e3ed93c41b473914273614f1eacf9dec2cb9b
MD5 20e0a625ba03793c864bcca2912943eb
BLAKE2b-256 ce3ccffff804f8dcfc79f4beb9ca548b9347031feeee15f5c4011ba6d3d18a86

See more details on using hashes here.

Supported by

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