Python adapter for the CDD Security Framework (Ratel Core)
Project description
CDD Framework - Python Adapter (0.5.0a4)
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()
Part of the CDD-Framework organization.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file cdd_python-0.5.0a5.tar.gz.
File metadata
- Download URL: cdd_python-0.5.0a5.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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
3ded0cc189a2b575fb1de42bd305244faa5f87bd6632b9b5e71ef77c1f47ebb7
|
|
| MD5 |
3665a0a33f3c050be9129d99ab567152
|
|
| BLAKE2b-256 |
08ea1092acd367a449fe144d8aed4d57e3938f969c32c36b1c45c9ac7006d6bd
|
File details
Details for the file cdd_python-0.5.0a5-py3-none-any.whl.
File metadata
- Download URL: cdd_python-0.5.0a5-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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
c1f25f417a91bc779c2c6542c5fef7faeee7b1f5c92a77bcc1141abfc7b782e5
|
|
| MD5 |
aaaed874451c845e2833f6dbfac3abde
|
|
| BLAKE2b-256 |
4cad14165ece4e173ad8bbaee2aa58fe130949819e2ab8b7cc7a1807576f7027
|