{"about":{"site":"https://codewithpapers.app","non_affiliation":"Code with Papers and Syntology are not affiliated with, endorsed by, or sponsored by Papers with Code, Meta, or the pwc-archive mirror.","licence":"CC BY-SA 4.0","licence_url":"https://creativecommons.org/licenses/by-sa/4.0/legalcode","attribution":"https://codewithpapers.app/attribution","modified":"archive material modified by Syntology; see the attribution page"},"url":"/paper/arxiv-2605-14686","title":"ReMIA: a Powerful and Efficient Alternative to Membership Inference Attacks against Synthetic Data Generators","arxiv_id":"2605.14686","date":"2026-05-14","proceeding":null,"authors":["Davide Scassola","Andrea Coser","Sebastiano Saccani"],"abstract":"Tabular data sharing under privacy constraints is increasingly important for research and collaboration. Synthetic data generators (SDGs) are a promising solution, but synthetic data remains vulnerable to attacks, such as membership inference attacks (MIAs), which aim to determine whether a specific record was part of the training data. State-of-the-art MIAs are powerful but impractical: they rely on shadow modeling, requiring hundreds of SDG training runs, and need auxiliary data several times larger than the original training set. Fast proxy metrics like distance to closest record (DCR) are efficient but have limited sensitivity to MIA risk. We introduce ReMIA (Relative Membership Inference Attack), a practical privacy metric that requires only two SDG training runs and additional data no larger than the original training set. Rather than predicting whether a record was in the training set, ReMIA generates two synthetic datasets from two source datasets and measures whether a classifier can identify which source a record came from. Experiments across multiple tabular datasets and SDGs show that ReMIA has a sensitivity comparable to state-of-the-art MIAs while being substantially more practical. We further observe that SDGs can achieve privacy-utility trade-offs that traditional noise-based anonymization methods do not match. Code is available at https://github.com/aindo-com/remia.","url_abs":"https://arxiv.org/abs/2605.14686","url_pdf":"https://arxiv.org/pdf/2605.14686","source":{"archive":null,"snapshot":"2025-07-28","note":"not in the Papers with Code archive (frozen at the snapshot)","row_kind":"graph","title_abstract_authors_date":"arXiv metadata, CC0 1.0 (https://info.arxiv.org/help/license)"},"code_links":[],"tasks":[],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=2605.14686","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2605.14686"}},"developers":"https://syntology.ai/developers","read_at":"2026-09-24T18:15:14+00:00","read_at_is":"when the build read Syntology's graph, not when any sample ran","claim":"Per-sample execution status on synthesized fixtures; not a correctness claim about the paper. Samples come from repositories linked to the paper, official or community; repo_kind says which.","repos":[{"mentioned_in_github":null,"is_official":null,"provenance":"deterministic:regex_extraction","mentioned_in_paper":null,"url":"https://github.com/aindo-com/remia","reach":null}],"summary":{"ran":4,"ran_draft_wrong":1,"unverified":3},"by_repo_kind":{"found_in_text":{"samples":8,"ran":5,"repositories":1}},"repo_kind_vocabulary":{"official":"The archive marks this repository official for the paper","named_in_paper":"The archive records that the paper mentions this repository; it is not marked official","listed":"In the archive's code links for this paper, not marked official and not recorded as mentioned in the paper","found_in_text":"Syntology found this repository in the paper's own text; whether it is the authors' implementation is not asserted","community":"Not in the archive's code links for this paper; a community repository Syntology harvested"},"n_pointer_only_for_licence":0,"samples":[{"code_sha256_prefix":"cfb068e471b6943b","entry":"DF2Tensor","repo":"aindo-com/remia","repo_kind":"found_in_text","path":"src/remia.py","file_url":"https://github.com/aindo-com/remia/blob/HEAD/src/remia.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"cfb068e471b6943b"}},{"code_sha256_prefix":"fb579c2299249052","entry":"MLP","repo":"aindo-com/remia","repo_kind":"found_in_text","path":"src/remia.py","file_url":"https://github.com/aindo-com/remia/blob/HEAD/src/remia.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":"deterministic","behaviour_fingerprint":true,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"fb579c2299249052"}},{"code_sha256_prefix":"57c535c6037b1856","entry":"TabularMLP","repo":"aindo-com/remia","repo_kind":"found_in_text","path":"src/remia.py","file_url":"https://github.com/aindo-com/remia/blob/HEAD/src/remia.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"57c535c6037b1856"}},{"code_sha256_prefix":"05e023d4fe9438b8","entry":"Timer","repo":"aindo-com/remia","repo_kind":"found_in_text","path":"src/remia.py","file_url":"https://github.com/aindo-com/remia/blob/HEAD/src/remia.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"05e023d4fe9438b8"}},{"code_sha256_prefix":"1cfcba52b8739d7d","entry":"pop_data","repo":"aindo-com/remia","repo_kind":"found_in_text","path":"src/remia.py","file_url":"https://github.com/aindo-com/remia/blob/HEAD/src/remia.py","link_basis":"first_harvest_node","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"OUTPUT_MISDECLARED","metamorphic_tier":"deterministic","behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"1cfcba52b8739d7d"}},{"code_sha256_prefix":"8ee797aa2364f1e4","entry":"Generator","repo":"aindo-com/remia","repo_kind":"found_in_text","path":"src/remia.py","file_url":"https://github.com/aindo-com/remia/blob/HEAD/src/remia.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"8ee797aa2364f1e4"}},{"code_sha256_prefix":"1565280afb298589","entry":"ValidationHook","repo":"aindo-com/remia","repo_kind":"found_in_text","path":"src/remia.py","file_url":"https://github.com/aindo-com/remia/blob/HEAD/src/remia.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"1565280afb298589"}},{"code_sha256_prefix":"80830b457bee7b91","entry":"remia","repo":"aindo-com/remia","repo_kind":"found_in_text","path":"src/remia.py","file_url":"https://github.com/aindo-com/remia/blob/HEAD/src/remia.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"80830b457bee7b91"}}]},"arxiv_metadata":{"licence":"arXiv metadata, CC0 1.0 (https://info.arxiv.org/help/license)","fields":["title","abstract","authors","date"],"primary_category":"cs.LG","source":"arxiv_2026.jsonl"},"syntology_extracted_results":null}