{"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/shadow-free-membership-inference-attacks","title":"Shadow-Free Membership Inference Attacks: Recommender Systems Are More Vulnerable Than You Thought","arxiv_id":"2405.07018","date":"2024-05-11","proceeding":null,"authors":["Xiaoxiao Chi","Xuyun Zhang","Yan Wang","Lianyong Qi","Amin Beheshti","Xiaolong Xu","Kim-Kwang Raymond Choo","Shuo Wang","Hongsheng Hu"],"abstract":"Recommender systems have been successfully applied in many applications. Nonetheless, recent studies demonstrate that recommender systems are vulnerable to membership inference attacks (MIAs), leading to the leakage of users' membership privacy. However, existing MIAs relying on shadow training suffer a large performance drop when the attacker lacks knowledge of the training data distribution and the model architecture of the target recommender system. To better understand the privacy risks of recommender systems, we propose shadow-free MIAs that directly leverage a user's recommendations for membership inference. Without shadow training, the proposed attack can conduct MIAs efficiently and effectively under a practice scenario where the attacker is given only black-box access to the target recommender system. The proposed attack leverages an intuition that the recommender system personalizes a user's recommendations if his historical interactions are used by it. Thus, an attacker can infer membership privacy by determining whether the recommendations are more similar to the interactions or the general popular items. We conduct extensive experiments on benchmark datasets across various recommender systems. Remarkably, our attack achieves far better attack accuracy with low false positive rates than baselines while with a much lower computational cost.","url_abs":"https://arxiv.org/abs/2405.07018v1","url_pdf":"https://arxiv.org/pdf/2405.07018v1.pdf","source":{"archive":"pwc-archive (Hugging Face), CC BY-SA 4.0","snapshot":"2025-07-28","licence_url":"https://creativecommons.org/licenses/by-sa/4.0/legalcode","row_kind":"links_only","authors_date_abstract":"arXiv metadata, CC0 1.0 (https://info.arxiv.org/help/license), from the Kaggle arXiv metadata snapshot of 2026-09-12"},"code_links":[{"paper_slug":"shadow-free-membership-inference-attacks","repo_url":"https://github.com/XiaoxiaoChi-code/shadow-free-MIAs","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":0,"framework":"pytorch","reach":{"status":"ok"}}],"tasks":[],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=2405.07018","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2405.07018"}},"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":[{"provenance":"deterministic:regex_extraction","url":"https://github.com/XiaoxiaoChi-code/shadow-free-MIAs","reach":{"status":"ok"}}],"summary":{"ran":7,"unverified":8},"by_repo_kind":{"official":{"samples":15,"ran":7,"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":15,"samples":[{"code_sha256_prefix":"0c872f103c338462","entry":"GetRecommendation","repo":"XiaoxiaoChi-code/shadow-free-MIAs","repo_kind":"official","path":"dataprocess/RecSys-master/Evaluation.py","file_url":"https://github.com/XiaoxiaoChi-code/shadow-free-MIAs/blob/HEAD/dataprocess/RecSys-master/Evaluation.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"0c872f103c338462"}},{"code_sha256_prefix":"e6c37f66746e0acf","entry":"InitItems_Pool","repo":"XiaoxiaoChi-code/shadow-free-MIAs","repo_kind":"official","path":"dataprocess/RecSys-master/latentFactorModel.py","file_url":"https://github.com/XiaoxiaoChi-code/shadow-free-MIAs/blob/HEAD/dataprocess/RecSys-master/latentFactorModel.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"e6c37f66746e0acf"}},{"code_sha256_prefix":"58683b8afb7eb35d","entry":"Precision","repo":"XiaoxiaoChi-code/shadow-free-MIAs","repo_kind":"official","path":"dataprocess/RecSys-master/Evaluation.py","file_url":"https://github.com/XiaoxiaoChi-code/shadow-free-MIAs/blob/HEAD/dataprocess/RecSys-master/Evaluation.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"58683b8afb7eb35d"}},{"code_sha256_prefix":"01cc749189907a1a","entry":"Predict","repo":"XiaoxiaoChi-code/shadow-free-MIAs","repo_kind":"official","path":"dataprocess/RecSys-master/latentFactorModel.py","file_url":"https://github.com/XiaoxiaoChi-code/shadow-free-MIAs/blob/HEAD/dataprocess/RecSys-master/latentFactorModel.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"01cc749189907a1a"}},{"code_sha256_prefix":"a9edd5f055e0ddca","entry":"Recall","repo":"XiaoxiaoChi-code/shadow-free-MIAs","repo_kind":"official","path":"dataprocess/RecSys-master/Evaluation.py","file_url":"https://github.com/XiaoxiaoChi-code/shadow-free-MIAs/blob/HEAD/dataprocess/RecSys-master/Evaluation.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"a9edd5f055e0ddca"}},{"code_sha256_prefix":"eec882f8c18f9d19","entry":"step2","repo":"XiaoxiaoChi-code/shadow-free-MIAs","repo_kind":"official","path":"dataprocess/process_ml1m.py","file_url":"https://github.com/XiaoxiaoChi-code/shadow-free-MIAs/blob/HEAD/dataprocess/process_ml1m.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"eec882f8c18f9d19"}},{"code_sha256_prefix":"c054de4e369c0299","entry":"step3","repo":"XiaoxiaoChi-code/shadow-free-MIAs","repo_kind":"official","path":"dataprocess/process_ml1m.py","file_url":"https://github.com/XiaoxiaoChi-code/shadow-free-MIAs/blob/HEAD/dataprocess/process_ml1m.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"c054de4e369c0299"}},{"code_sha256_prefix":"01da8a8133c16b16","entry":"RandSelectNegativeSample","repo":"XiaoxiaoChi-code/shadow-free-MIAs","repo_kind":"official","path":"dataprocess/RecSys-master/latentFactorModel.py","file_url":"https://github.com/XiaoxiaoChi-code/shadow-free-MIAs/blob/HEAD/dataprocess/RecSys-master/latentFactorModel.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":"01da8a8133c16b16"}},{"code_sha256_prefix":"2b9eda17c8c0ac93","entry":"removeShortSeq","repo":"XiaoxiaoChi-code/shadow-free-MIAs","repo_kind":"official","path":"dataprocess/process_beauty.py","file_url":"https://github.com/XiaoxiaoChi-code/shadow-free-MIAs/blob/HEAD/dataprocess/process_beauty.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":"2b9eda17c8c0ac93"}},{"code_sha256_prefix":"d693e6e5c8d40192","entry":"removeShortSeq","repo":"XiaoxiaoChi-code/shadow-free-MIAs","repo_kind":"official","path":"dataprocess/process_ml1m.py","file_url":"https://github.com/XiaoxiaoChi-code/shadow-free-MIAs/blob/HEAD/dataprocess/process_ml1m.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":"d693e6e5c8d40192"}},{"code_sha256_prefix":"dbb86ee8babe093d","entry":"removeShortSeq","repo":"XiaoxiaoChi-code/shadow-free-MIAs","repo_kind":"official","path":"dataprocess/process_ta-feng.py","file_url":"https://github.com/XiaoxiaoChi-code/shadow-free-MIAs/blob/HEAD/dataprocess/process_ta-feng.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":"dbb86ee8babe093d"}},{"code_sha256_prefix":"5154cc8a8b53393d","entry":"step2","repo":"XiaoxiaoChi-code/shadow-free-MIAs","repo_kind":"official","path":"dataprocess/process_beauty.py","file_url":"https://github.com/XiaoxiaoChi-code/shadow-free-MIAs/blob/HEAD/dataprocess/process_beauty.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":"5154cc8a8b53393d"}},{"code_sha256_prefix":"a60c7b4d95136b94","entry":"step2","repo":"XiaoxiaoChi-code/shadow-free-MIAs","repo_kind":"official","path":"dataprocess/process_ta-feng.py","file_url":"https://github.com/XiaoxiaoChi-code/shadow-free-MIAs/blob/HEAD/dataprocess/process_ta-feng.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":"a60c7b4d95136b94"}},{"code_sha256_prefix":"9a23f570d9315886","entry":"step3","repo":"XiaoxiaoChi-code/shadow-free-MIAs","repo_kind":"official","path":"dataprocess/process_beauty.py","file_url":"https://github.com/XiaoxiaoChi-code/shadow-free-MIAs/blob/HEAD/dataprocess/process_beauty.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":"9a23f570d9315886"}},{"code_sha256_prefix":"226ff4b95c188648","entry":"step3","repo":"XiaoxiaoChi-code/shadow-free-MIAs","repo_kind":"official","path":"dataprocess/process_ta-feng.py","file_url":"https://github.com/XiaoxiaoChi-code/shadow-free-MIAs/blob/HEAD/dataprocess/process_ta-feng.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":"226ff4b95c188648"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}