{"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-2602-00407","title":"Fed-Listing: Federated Label Distribution Inference in Graph Neural Networks","arxiv_id":"2602.00407","date":"2026-01-30","proceeding":null,"authors":["Suprim Nakarmi","Junggab Son","Yue Zhao","Zuobin Xiong"],"abstract":"Federated Graph Neural Networks (FedGNNs) facilitate collaborative learning across multiple clients with graph-structured data while preserving user privacy. However, emerging research indicates that within this setting, shared model updates, particularly gradients, can unintentionally leak sensitive information of local users. Numerous privacy inference attacks have been explored in traditional federated learning and extended to graph settings, but the problem of label distribution inference in FedGNNs remains largely underexplored. In this work, we introduce Fed-Listing (Federated Label Distribution Inference in GNNs), a novel gradient-based attack designed to infer the private label statistics of target clients in FedGNNs without access to raw data or node features. Fed-Listing only leverages the final-layer gradients exchanged during training to uncover statistical patterns that reveal class proportions in a stealthy manner. Extensive experiments on four benchmark datasets and three GNN architectures show that Fed-Listing significantly outperforms existing baselines, including random guessing and Decaf, even under challenging non-i.i.d. scenarios. Moreover, existing defense mechanisms can barely reduce the attack performance of Fed-Listing, unless the model's utility is severely degraded. The code implementation and Supplementary materials are available here: https://github.com/suprimnakarmi/Fed-Listing.","url_abs":"https://arxiv.org/abs/2602.00407","url_pdf":"https://arxiv.org/pdf/2602.00407","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=2602.00407","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2602.00407"}},"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/suprimnakarmi/Fed-Listing","reach":null}],"summary":{"unverified":11},"by_repo_kind":{"found_in_text":{"samples":11,"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":11,"samples":[{"code_sha256_prefix":"44b2762036190960","entry":"DP_clip_edges","repo":"suprimnakarmi/Fed-Listing","repo_kind":"found_in_text","path":"source_code/baselines/EC-LDA-node-classification/utils.py","file_url":"https://github.com/suprimnakarmi/Fed-Listing/blob/HEAD/source_code/baselines/EC-LDA-node-classification/utils.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":"44b2762036190960"}},{"code_sha256_prefix":"8aef0fd755d4db97","entry":"build_client_dataset","repo":"suprimnakarmi/Fed-Listing","repo_kind":"found_in_text","path":"source_code/Fed-listing/shadow_client_class_missing.py","file_url":"https://github.com/suprimnakarmi/Fed-Listing/blob/HEAD/source_code/Fed-listing/shadow_client_class_missing.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":"8aef0fd755d4db97"}},{"code_sha256_prefix":"70f8fb2c7640b0db","entry":"build_client_dataset","repo":"suprimnakarmi/Fed-Listing","repo_kind":"found_in_text","path":"source_code/Fed-listing/shadow_client_equal_dist.py","file_url":"https://github.com/suprimnakarmi/Fed-Listing/blob/HEAD/source_code/Fed-listing/shadow_client_equal_dist.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":"70f8fb2c7640b0db"}},{"code_sha256_prefix":"96f52a41d95cd686","entry":"build_client_dataset","repo":"suprimnakarmi/Fed-Listing","repo_kind":"found_in_text","path":"source_code/Fed-listing/shadow_client_random.py","file_url":"https://github.com/suprimnakarmi/Fed-Listing/blob/HEAD/source_code/Fed-listing/shadow_client_random.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":"96f52a41d95cd686"}},{"code_sha256_prefix":"2a5c7da9527b4351","entry":"build_client_dataset_equal","repo":"suprimnakarmi/Fed-Listing","repo_kind":"found_in_text","path":"source_code/Fed-listing/shadow_client_equal_dist.py","file_url":"https://github.com/suprimnakarmi/Fed-Listing/blob/HEAD/source_code/Fed-listing/shadow_client_equal_dist.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":"2a5c7da9527b4351"}},{"code_sha256_prefix":"b0dddb7210b036b8","entry":"extract_node_subgraphs","repo":"suprimnakarmi/Fed-Listing","repo_kind":"found_in_text","path":"source_code/baselines/EC-LDA-node-classification/utils.py","file_url":"https://github.com/suprimnakarmi/Fed-Listing/blob/HEAD/source_code/baselines/EC-LDA-node-classification/utils.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":"b0dddb7210b036b8"}},{"code_sha256_prefix":"d2dd16caa88e2faa","entry":"get_emb","repo":"suprimnakarmi/Fed-Listing","repo_kind":"found_in_text","path":"source_code/baselines/EC-LDA-node-classification/iLRG/methods.py","file_url":"https://github.com/suprimnakarmi/Fed-Listing/blob/HEAD/source_code/baselines/EC-LDA-node-classification/iLRG/methods.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":"d2dd16caa88e2faa"}},{"code_sha256_prefix":"d705552c4b13c4fa","entry":"iLRG","repo":"suprimnakarmi/Fed-Listing","repo_kind":"found_in_text","path":"source_code/baselines/EC-LDA-node-classification/iLRG/methods.py","file_url":"https://github.com/suprimnakarmi/Fed-Listing/blob/HEAD/source_code/baselines/EC-LDA-node-classification/iLRG/methods.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":"d705552c4b13c4fa"}},{"code_sha256_prefix":"08468507b9dd3580","entry":"js_divergence","repo":"suprimnakarmi/Fed-Listing","repo_kind":"found_in_text","path":"source_code/Fed-listing/attack_model.py","file_url":"https://github.com/suprimnakarmi/Fed-Listing/blob/HEAD/source_code/Fed-listing/attack_model.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":"08468507b9dd3580"}},{"code_sha256_prefix":"0d135e52412c80a3","entry":"loss_fn","repo":"suprimnakarmi/Fed-Listing","repo_kind":"found_in_text","path":"source_code/Fed-listing/attack_model.py","file_url":"https://github.com/suprimnakarmi/Fed-Listing/blob/HEAD/source_code/Fed-listing/attack_model.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":"0d135e52412c80a3"}},{"code_sha256_prefix":"c236d021696392de","entry":"stratified_aux_indices","repo":"suprimnakarmi/Fed-Listing","repo_kind":"found_in_text","path":"source_code/Fed-listing/client.py","file_url":"https://github.com/suprimnakarmi/Fed-Listing/blob/HEAD/source_code/Fed-listing/client.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":"c236d021696392de"}}]},"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}