tapas.attacks.synthinference

Attacks based on inference models trained on synthetic data.

This groups attacks that follow the following approximate structure:
  1. Train a statistical model on the synthetic data.

  2. Use this model to infer something about the real data.

The second step often involves applying the model to a target record.

Classes

DensityEstimator()

Density estimator for records in a dataset.

ProbabilityEstimationAttack(estimator, criterion)

Membership Inference Attack that first estimates a statistical model p_x of the distribution of records in the synthetic data, and then uses p_x(target_record) as score.

SyntheticPredictorAttack(estimator, criterion)

Attribute Inference Attack that first trains a classifier C on the synthetic data to predict the sensitive value v of a record x, then uses C(target_record) as prediction for the target record.

sklearnDensityEstimator(model[, label])

Extends DensityEstimator to run a sklearn model on a 1-hot encoding of datasets.