Skip to main content

Python adapter for the CDD Security Framework (Ratel Core)

Project description

CDD Framework - Python Adapter (0.5.0a6)

Official Python adapter for the CDD (Cyberattack-Driven Development) framework. Effortlessly audit your application's security posture using our high-performance native Rust core.

The Cloud Detection & Defense (CDD) Python adapter allows you to integrate automated security audits into your Python projects.

It wraps the high-performance Ratel Core (Rust) into a developer-friendly Python package.

Installation

Install the adapter via pip (ensure you have access to your private/public registry):

pip install cdd-python

How it Works

This adapter follows the "Binary Pivot" architecture:

Zero-Config Extraction: At runtime, the library detects your OS (Windows, Linux, macOS) and extracts the embedded ratel binary to ~/.ratel/bin/.

Pythonic Standards: It automatically detects Python project structures (presence of requirements.txt or pyproject.toml) to place security scenarios in tests/security/.

Process Isolation: The audit runs as a native subprocess, keeping your Python environment fast and clean.

Usage

1. Initialization

Run this once to bootstrap your project with an expert security scenario.

Python

import cdd

# Generates tests/security/security.ratel
cdd.init() 

2. Configuration (Ratel DSL)

The security logic is defined in the .ratel file. This allows you to update security rules without touching your Python code.

File: tests/security/security.ratel

Code snippet

SCENARIO "Python API Security Audit"
TARGET "http://localhost:8000"

WITH SCOPE KERNEL
WITH SCOPE TERRITORY

IGNORE "FAVICON_FINGERPRINT"

3. Execution

Integrate the audit into your development workflow or CI/CD scripts.

import cdd

if __name__ == "__main__":
    print("Starting Security Audit...")
    
    # Executes the embedded Ratel binary using the .ratel file
    cdd.run()

Integration with Pytest

You can easily wrap the audit in a pytest suite:

def test_security_compliance():
    import cdd
    # CDD will raise a CalledProcessError if the audit fails
    cdd.run()

Update the package

Update the setup.py

rm -rf dist/ build/ *.egg-info
python -m build
python -m twine upload dist/*

Part of the CDD-Framework organization.

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

cdd_python-0.5.0a6.tar.gz (1.9 MB view details)

Uploaded Source

Built Distribution

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

cdd_python-0.5.0a6-py3-none-any.whl (1.9 MB view details)

Uploaded Python 3

File details

Details for the file cdd_python-0.5.0a6.tar.gz.

File metadata

  • Download URL: cdd_python-0.5.0a6.tar.gz
  • Upload date:
  • Size: 1.9 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.8

File hashes

Hashes for cdd_python-0.5.0a6.tar.gz
Algorithm Hash digest
SHA256 ecfc6b7831b014477a97c44b04ddc890f283f54b168b5ed6d951ee98f14e304c
MD5 6887922e80d837d7c2bbfe806ae9edf4
BLAKE2b-256 8dcd8c68fc8a20f8399e5767e039f98a87268b4d462c149de471a0c63724e033

See more details on using hashes here.

File details

Details for the file cdd_python-0.5.0a6-py3-none-any.whl.

File metadata

  • Download URL: cdd_python-0.5.0a6-py3-none-any.whl
  • Upload date:
  • Size: 1.9 MB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.8

File hashes

Hashes for cdd_python-0.5.0a6-py3-none-any.whl
Algorithm Hash digest
SHA256 eb919c3fa3ca8c9c8ec3cf45b1469689cd138fa341a9317f9430516215c3f0cc
MD5 3226522b64aad71fcbb330bca84fcd87
BLAKE2b-256 0d86d700e55893a4681dcc33ad774e5dbb20dd05099817fe455a134d0046e018

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