This repository contains the codebase for evaluating privacy breaches in federated learning models, submitted as supplementary material for WACV. It provides implementations of privacy attacks (like GIAS), case configurations, and execution scripts.
This repository is derived from the original Breaching repository
-
Create a virtual environment and activate it:
python3 -m venv venv source venv/bin/activate -
Install the required dependencies:
pip install -r requirements.txt
To simulate and reproduce the multi-round attack scenarios detailed in the paper, you can use the provided bash script. This script executes a multi-round federated learning benchmark:
chmod +x run_attack.sh
bash run_attack.shThe script configures various hyperparameters like STEP_SIZE, OBJ_SCALE, TV_SCALE, and LORA_RANK. Feel free to modify the environment variables inside or before calling the script to test different configurations.
For a full sweep across hyperparameters, you can refer to hyperparamsearch.sh.
The configuration files are built using Hydra and are located under breaching/config/. The core benchmark logic can be found in benchmark_breaches_multirounds.py and the core attack implementations under breaching/attacks.