Red team toolkit for deepfake detection benchmarking
Project description
Laundromatic
Red team toolkit for testing deepfake detection system robustness.
Laundromatic applies anti-forensic transformations to images, audio, and video to evaluate how well detection systems perform against adversarial manipulation. It is designed for defensive security research and benchmarking.
Purpose
This toolkit exists to help detection system developers and security researchers:
- Test robustness: Evaluate how detection systems perform against common evasion techniques
- Benchmark solutions: Compare vendor solutions under standardised adversarial conditions
- Identify weaknesses: Discover vulnerabilities before malicious actors exploit them
- Improve defences: Use findings to strengthen detection capabilities
Intended Users
- Detection system vendors conducting internal red team exercises
- Security researchers evaluating deepfake detection robustness
- Government programmes benchmarking detection solutions (e.g., UK Home Office C581.2)
- Academic researchers studying anti-forensics and detection evasion
Installation
Requires Python 3.12+.
# Using UV (recommended)
uv sync
uv run laundromatic --help
# Using pip
pip install laundromatic
laundromatic --help
For advanced ML transforms (adversarial perturbations, generative laundering):
uv sync --extra ml
# or
pip install laundromatic[ml]
Quick Start
# Apply blur to an image
laundromatic image blur input.jpg output.jpg --strength 2.0
# Compress audio
laundromatic audio compress input.wav output.mp3 --bitrate 128
# Batch process a folder (apply random transforms to 30% of files)
laundromatic batch transform ./input ./output --percent 30
Python API
from laundromatic.transforms.image import blur, add_noise, compress
# Apply transforms programmatically
blurred = blur(image, strength=2.0)
noisy = add_noise(image, sigma=10)
compressed = compress(image, quality=75)
Available Transforms
| Category | Transforms |
|---|---|
| Image | blur, noise, compression, resize, crop, rotation, colour shift, EXIF manipulation, and more |
| Audio | compression, noise injection, speed change, pitch shift, codec transcoding |
| Video | frame-level image transforms, recompression, framerate manipulation |
Documentation
Full documentation: Coming soon
Responsible Use
This toolkit is intended exclusively for defensive security research, authorised red team exercises, and detection system benchmarking.
Do not use this software to:
- Evade detection for malicious deepfakes
- Spread misinformation or disinformation
- Deceive individuals or organisations
- Violate any applicable laws or regulations
Users are responsible for ensuring their use complies with all applicable laws, regulations, and ethical guidelines. The authors accept no liability for misuse.
Contributing
Contributions welcome. Please ensure code passes ruff check . and pytest before submitting.
License
License TBD
Built for the UK Home Office Deepfake Detection Challenge (C581.2).
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 laundromatic-0.0.1.tar.gz.
File metadata
- Download URL: laundromatic-0.0.1.tar.gz
- Upload date:
- Size: 129.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.9.24 {"installer":{"name":"uv","version":"0.9.24","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
79f72d902006152427133a4782e8ccb518302197e2f7e6a11e9f276ff355d07a
|
|
| MD5 |
f99162d8be6426b852c2d0c409deecc2
|
|
| BLAKE2b-256 |
299f7fbbdffd2c5190902764c4b7df92aa26ef9f4e3b40d948aaa06925a0bae2
|
File details
Details for the file laundromatic-0.0.1-py3-none-any.whl.
File metadata
- Download URL: laundromatic-0.0.1-py3-none-any.whl
- Upload date:
- Size: 5.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.9.24 {"installer":{"name":"uv","version":"0.9.24","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
0ae44b6393b5a6d94395681a6844000bc85bc1cd5a9ad649fbe0b6c3643859ec
|
|
| MD5 |
67232ecb1a27339b60d38d816d59f534
|
|
| BLAKE2b-256 |
60b81a4e8750146d8aae747ddc182a3b5f4e88fb488b8d3010d1431a6d16d498
|