{"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/fl-wbc-enhancing-robustness-against-model","title":"FL-WBC: Enhancing Robustness against Model Poisoning Attacks in Federated Learning from a Client Perspective","arxiv_id":"2110.13864","date":"2021-10-26","proceeding":"NeurIPS 2021 12","authors":["Jingwei Sun","Ang Li","Louis DiValentin","Amin Hassanzadeh","Yiran Chen","Hai Li"],"abstract":"Federated learning (FL) is a popular distributed learning framework that trains a global model through iterative communications between a central server and edge devices. Recent works have demonstrated that FL is vulnerable to model poisoning attacks. Several server-based defense approaches (e.g. robust aggregation), have been proposed to mitigate such attacks. However, we empirically show that under extremely strong attacks, these defensive methods fail to guarantee the robustness of FL. More importantly, we observe that as long as the global model is polluted, the impact of attacks on the global model will remain in subsequent rounds even if there are no subsequent attacks. In this work, we propose a client-based defense, named White Blood Cell for Federated Learning (FL-WBC), which can mitigate model poisoning attacks that have already polluted the global model. The key idea of FL-WBC is to identify the parameter space where long-lasting attack effect on parameters resides and perturb that space during local training. Furthermore, we derive a certified robustness guarantee against model poisoning attacks and a convergence guarantee to FedAvg after applying our FL-WBC. We conduct experiments on FasionMNIST and CIFAR10 to evaluate the defense against state-of-the-art model poisoning attacks. The results demonstrate that our method can effectively mitigate model poisoning attack impact on the global model within 5 communication rounds with nearly no accuracy drop under both IID and Non-IID settings. Our defense is also complementary to existing server-based robust aggregation approaches and can further improve the robustness of FL under extremely strong attacks.","url_abs":"https://arxiv.org/abs/2110.13864v1","url_pdf":"https://arxiv.org/pdf/2110.13864v1.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":"abstracts"},"code_links":[{"paper_slug":"fl-wbc-enhancing-robustness-against-model","repo_url":"https://github.com/jeremy313/fl-wbc","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":1,"framework":"pytorch","reach":null}],"tasks":[{"task_slug":"federated-learning","task_name":"Federated Learning"},{"task_slug":"model-poisoning","task_name":"Model Poisoning"}],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"syntology_url":null,"atlas_url":"https://app.syntology.ai/?focus=2110.13864","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2110.13864"}},"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/jeremy313/FL-WBC","reach":null},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/jeremy313/fl-wbc","reach":null}],"summary":{"ran":3,"ran_honours":1},"by_repo_kind":{"official":{"samples":4,"ran":4,"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":4,"samples":[{"code_sha256_prefix":"c12de6e00d40a013","entry":"DatasetSplit","repo":"jeremy313/fl-wbc","repo_kind":"official","path":"src/update.py","file_url":"https://github.com/jeremy313/fl-wbc/blob/HEAD/src/update.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":"c12de6e00d40a013"}},{"code_sha256_prefix":"f147694b5e3057d9","entry":"LocalUpdate","repo":"jeremy313/fl-wbc","repo_kind":"official","path":"src/update.py","file_url":"https://github.com/jeremy313/fl-wbc/blob/HEAD/src/update.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":"f147694b5e3057d9"}},{"code_sha256_prefix":"3fd95934de6dfa68","entry":"mal_inference","repo":"jeremy313/FL-WBC","repo_kind":"official","path":"src/update.py","file_url":"https://github.com/jeremy313/FL-WBC/blob/HEAD/src/update.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":"deterministic","behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"3fd95934de6dfa68"}},{"code_sha256_prefix":"46dccfe120de7fb9","entry":"test_inference","repo":"jeremy313/FL-WBC","repo_kind":"official","path":"src/update.py","file_url":"https://github.com/jeremy313/FL-WBC/blob/HEAD/src/update.py","link_basis":"first_harvest_node","language":"python","status":"ran_honours","verification_level":1,"contract_check":"HONOURS","metamorphic_tier":"well_formed","behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"46dccfe120de7fb9"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}