Skip to main content

Rust-powered WAF heuristics exposed to Python via PyO3

Project description

aiwaf-rust

Fast WAF heuristics and anomaly scoring implemented in Rust and exposed to Python. Designed for lightweight request validation and isolation-forest style scoring.

Install

pip install aiwaf-rust

Quickstart

from aiwaf_rust import (
    validate_headers,
    validate_url,
    validate_content,
    validate_recent,
    AiwafIsolationForest,
)

headers = {
    "user-agent": "Mozilla/5.0",
    "accept": "text/html,application/xhtml+xml",
    "accept-language": "en-US,en;q=0.9",
    "accept-encoding": "gzip, deflate",
    "connection": "keep-alive",
}

print(validate_headers(headers))
print(validate_url("https://example.com/login"))
print(validate_content("username=admin&password=..."))
print(validate_recent([{ "path": "/", "status": 200 }]))

model = AiwafIsolationForest(100, 256, 0.5, 42)
model.fit([[0.1, 0.2, 0.3], [0.2, 0.1, 0.4]])
print(model.anomaly_score([0.3, 0.2, 0.1]))

Notes

  • Built with PyO3 and abi3 so a single wheel works on Python 3.8+.
  • The WASM package is published as aiwaf-wasm on npm.

License

MIT

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distributions

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

aiwaf_rust-0.1.6-cp38-abi3-win_amd64.whl (702.6 kB view details)

Uploaded CPython 3.8+Windows x86-64

aiwaf_rust-0.1.6-cp38-abi3-manylinux_2_34_x86_64.whl (1.0 MB view details)

Uploaded CPython 3.8+manylinux: glibc 2.34+ x86-64

aiwaf_rust-0.1.6-cp38-abi3-macosx_11_0_arm64.whl (868.9 kB view details)

Uploaded CPython 3.8+macOS 11.0+ ARM64

File details

Details for the file aiwaf_rust-0.1.6-cp38-abi3-win_amd64.whl.

File metadata

  • Download URL: aiwaf_rust-0.1.6-cp38-abi3-win_amd64.whl
  • Upload date:
  • Size: 702.6 kB
  • Tags: CPython 3.8+, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for aiwaf_rust-0.1.6-cp38-abi3-win_amd64.whl
Algorithm Hash digest
SHA256 1647131b0a85dbe80f0f2edda7ab904219c8d51c4ac38166700f66e365f59be0
MD5 68c7ce695a748a2b218dae3f39dd2515
BLAKE2b-256 684ccce92a45878d3cfb6e1050861ac56d7ed83ac603dd23da33f7ffc67e4ebb

See more details on using hashes here.

Provenance

The following attestation bundles were made for aiwaf_rust-0.1.6-cp38-abi3-win_amd64.whl:

Publisher: publish.yml on aiwaf-project/aiwaf-rust

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file aiwaf_rust-0.1.6-cp38-abi3-manylinux_2_34_x86_64.whl.

File metadata

File hashes

Hashes for aiwaf_rust-0.1.6-cp38-abi3-manylinux_2_34_x86_64.whl
Algorithm Hash digest
SHA256 b3be5f6d603dc81ad3768e5280127e78323336a491690dbe61007f92f886a534
MD5 b5ae614bdaad5989946d6b042254f001
BLAKE2b-256 3a089ed3eb1da4dc687b9127b2c42ca1ac6026db27ae409a82e5017a4d2ffa3b

See more details on using hashes here.

Provenance

The following attestation bundles were made for aiwaf_rust-0.1.6-cp38-abi3-manylinux_2_34_x86_64.whl:

Publisher: publish.yml on aiwaf-project/aiwaf-rust

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file aiwaf_rust-0.1.6-cp38-abi3-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for aiwaf_rust-0.1.6-cp38-abi3-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 113a6bfd72235a85e4f7d297fd1b010e38c11bdf1e2d49e51dc91d676377f661
MD5 db7d3649cc62ddf575211ecd0d3449d2
BLAKE2b-256 2d57ffb0e7f9aa513fc68b5d09367216930a8a5ebcf3ec1abccfc6ee28aefae5

See more details on using hashes here.

Provenance

The following attestation bundles were made for aiwaf_rust-0.1.6-cp38-abi3-macosx_11_0_arm64.whl:

Publisher: publish.yml on aiwaf-project/aiwaf-rust

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

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