{"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-2601-03429","title":"DeepLeak: Privacy Enhancing Hardening of Model Explanations Against Membership Leakage","arxiv_id":"2601.03429","date":"2026-01-06","proceeding":null,"authors":["Firas Ben Hmida","Zain Sbeih","Philemon Hailemariam","Birhanu Eshete"],"abstract":"Machine learning (ML) explainability is central to algorithmic transparency in high-stakes settings such as predictive diagnostics and loan approval. However, these same domains require rigorous privacy guaranties, creating tension between interpretability and privacy. Although prior work has shown that explanation methods can leak membership information, practitioners still lack systematic guidance on selecting or deploying explanation techniques that balance transparency with privacy. We present DeepLeak, a system to audit and mitigate privacy risks in post-hoc explanation methods. DeepLeak advances the state-of-the-art in three ways: (1) comprehensive leakage profiling: we develop a stronger explanation-aware membership inference attack (MIA) to quantify how much representative explanation methods leak membership information under default configurations; (2) lightweight hardening strategies: we introduce practical, model-agnostic mitigations, including sensitivity-calibrated noise, attribution clipping, and masking, that substantially reduce membership leakage while preserving explanation utility; and (3) root-cause analysis: through controlled experiments, we pinpoint algorithmic properties (e.g., attribution sparsity and sensitivity) that drive leakage. Evaluating 15 explanation techniques across four families on image benchmarks, DeepLeak shows that default settings can leak up to 74.9% more membership information than previously reported. Our mitigations cut leakage by up to 95% (minimum 46.5%) with only <=3.3% utility loss on average. DeepLeak offers a systematic, reproducible path to safer explainability in privacy-sensitive ML.","url_abs":"https://arxiv.org/abs/2601.03429","url_pdf":"https://arxiv.org/pdf/2601.03429","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=2601.03429","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2601.03429"}},"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/um-dsp/DeepLeak","reach":{"status":"ok"}}],"summary":{"unverified":13},"by_repo_kind":{"found_in_text":{"samples":13,"ran":0,"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":13,"samples":[{"code_sha256_prefix":"b7c2bc1103bbbaa2","entry":"Saliency_map","repo":"um-dsp/DeepLeak","repo_kind":"found_in_text","path":"xai_methods/captum_wrappers.py","file_url":"https://github.com/um-dsp/DeepLeak/blob/HEAD/xai_methods/captum_wrappers.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"b7c2bc1103bbbaa2"}},{"code_sha256_prefix":"36e498ef22d8f537","entry":"UPANets","repo":"um-dsp/DeepLeak","repo_kind":"found_in_text","path":"models/upanets.py","file_url":"https://github.com/um-dsp/DeepLeak/blob/HEAD/models/upanets.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"36e498ef22d8f537"}},{"code_sha256_prefix":"42c251429a0be073","entry":"create_feature_mask_from_topk","repo":"um-dsp/DeepLeak","repo_kind":"found_in_text","path":"utils/helpers.py","file_url":"https://github.com/um-dsp/DeepLeak/blob/HEAD/utils/helpers.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"42c251429a0be073"}},{"code_sha256_prefix":"9050ce24d753dc98","entry":"evaluate_model","repo":"um-dsp/DeepLeak","repo_kind":"found_in_text","path":"utils/evaluation.py","file_url":"https://github.com/um-dsp/DeepLeak/blob/HEAD/utils/evaluation.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"9050ce24d753dc98"}},{"code_sha256_prefix":"8b893f70bf4d4bb3","entry":"evaluate_models_with_majority","repo":"um-dsp/DeepLeak","repo_kind":"found_in_text","path":"utils/evaluation.py","file_url":"https://github.com/um-dsp/DeepLeak/blob/HEAD/utils/evaluation.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"8b893f70bf4d4bb3"}},{"code_sha256_prefix":"754864e120b68419","entry":"integrated_gradients","repo":"um-dsp/DeepLeak","repo_kind":"found_in_text","path":"xai_methods/captum_wrappers.py","file_url":"https://github.com/um-dsp/DeepLeak/blob/HEAD/xai_methods/captum_wrappers.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"754864e120b68419"}},{"code_sha256_prefix":"c1b244ba6b64e1ac","entry":"load_data","repo":"um-dsp/DeepLeak","repo_kind":"found_in_text","path":"datasets/dynamic_graph_dataset.py","file_url":"https://github.com/um-dsp/DeepLeak/blob/HEAD/datasets/dynamic_graph_dataset.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"c1b244ba6b64e1ac"}},{"code_sha256_prefix":"a71944ec36ceb0bb","entry":"normalize_attributions","repo":"um-dsp/DeepLeak","repo_kind":"found_in_text","path":"utils/helpers.py","file_url":"https://github.com/um-dsp/DeepLeak/blob/HEAD/utils/helpers.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"a71944ec36ceb0bb"}},{"code_sha256_prefix":"b12e9f0310e4b57a","entry":"resnet","repo":"um-dsp/DeepLeak","repo_kind":"found_in_text","path":"models/resnet.py","file_url":"https://github.com/um-dsp/DeepLeak/blob/HEAD/models/resnet.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"b12e9f0310e4b57a"}},{"code_sha256_prefix":"841dab2af7882eb2","entry":"summarize_attributions","repo":"um-dsp/DeepLeak","repo_kind":"found_in_text","path":"utils/helpers.py","file_url":"https://github.com/um-dsp/DeepLeak/blob/HEAD/utils/helpers.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"841dab2af7882eb2"}},{"code_sha256_prefix":"bbe52bfffee9e814","entry":"test","repo":"um-dsp/DeepLeak","repo_kind":"found_in_text","path":"utils/evaluation.py","file_url":"https://github.com/um-dsp/DeepLeak/blob/HEAD/utils/evaluation.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"bbe52bfffee9e814"}},{"code_sha256_prefix":"44c5627241a36155","entry":"to_numpy","repo":"um-dsp/DeepLeak","repo_kind":"found_in_text","path":"xai_methods/captum_wrappers.py","file_url":"https://github.com/um-dsp/DeepLeak/blob/HEAD/xai_methods/captum_wrappers.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"44c5627241a36155"}},{"code_sha256_prefix":"076de26c8d8e6171","entry":"train_model","repo":"um-dsp/DeepLeak","repo_kind":"found_in_text","path":"utils/training.py","file_url":"https://github.com/um-dsp/DeepLeak/blob/HEAD/utils/training.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"076de26c8d8e6171"}}]},"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}