Anamorpher (named after anamorphosis) is a tool for crafting and visualizing image scaling attacks against multi-modal AI systems. It provides a frontend interface and Python API for generating images that only reveal multi-modal prompt injections when downscaled. Refer to "Weaponizing image scaling against production AI systems" for more information on this attack vector.
Anamorpher is in active beta development. We welcome feedback and contributions!
- Generate payloads for systems using select implementations of the bicubic, bilinear, and nearest neighbor downscaling algorithms
- Compare payload effectiveness through a frontend interface that includes implementations from OpenCV, PyTorch, TensorFlow, and Pillow
- Include your own custom image downscaling implementation using the modular design of the Python API
- Python 3.11+
- uv (recommended) or pip
- Install dependencies:
uv sync- Run backend:
uv run python backend/app.py- Open
frontend/index.htmlin a web browser
Windows: Use WSL2 due to TensorFlow dependencies.
- Due to the probabilistic nature of these systems, results may vary. For consistent evaluation, run each example 5 times.
- Additional image transformations may interfere with the effectiveness of the injections.
- Not all payloads will work against each implementation and parameter set of the bicubic and bilinear downscaling algorithms as a result of varying robustness of anti-aliasing across implementations, different default parameters in scaling libraries, and implementation-specific optimizations that affect interpolation behavior.
- This also holds true of production AI systems more broadly as system scaling behavior is subject to change.

