Amulet: a Python Library for Assessing Interactions Among ML Defenses and Risks
Asim Waheed, Vasisht Duddu, Rui Zhang, Sebastian Szyller
TL;DR
Amulet introduces a risk-centric, modular Python library to systematically evaluate both intended and unintended interactions among ML defenses and risks across security, privacy, and fairness. By providing a comprehensive, consistent, extensible, and applicable framework of attacks, defenses, and metrics, Amulet enables end-to-end evaluation and cross-risk analysis. Empirical results on CelebA demonstrate baseline replayability of known attacks and reveal new unintended interactions, such as how adversarial training affects attribute inference and model extraction across datasets. The work lays a foundation for unified, scalable assessment of defense interactions and outlines future enhancements to cover multi-defense deployments and larger models.
Abstract
Machine learning (ML) models are susceptible to various risks to security, privacy, and fairness. Most defenses are designed to protect against each risk individually (intended interactions) but can inadvertently affect susceptibility to other unrelated risks (unintended interactions). We introduce Amulet, the first Python library for evaluating both intended and unintended interactions among ML defenses and risks. Amulet is comprehensive by including representative attacks, defenses, and metrics; extensible to new modules due to its modular design; consistent with a user-friendly API template for inputs and outputs; and applicable for evaluating novel interactions. By satisfying all four properties, Amulet offers a unified foundation for studying how defenses interact, enabling the first systematic evaluation of unintended interactions across multiple risks.
