{"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/beagle-forensics-of-deep-learning-backdoor","title":"BEAGLE: Forensics of Deep Learning Backdoor Attack for Better Defense","arxiv_id":"2301.06241","date":"2023-01-16","proceeding":null,"authors":["Siyuan Cheng","Guanhong Tao","Yingqi Liu","Shengwei An","Xiangzhe Xu","Shiwei Feng","Guangyu Shen","Kaiyuan Zhang","QiuLing Xu","Shiqing Ma","Xiangyu Zhang"],"abstract":"Deep Learning backdoor attacks have a threat model similar to traditional cyber attacks. Attack forensics, a critical counter-measure for traditional cyber attacks, is hence of importance for defending model backdoor attacks. In this paper, we propose a novel model backdoor forensics technique. Given a few attack samples such as inputs with backdoor triggers, which may represent different types of backdoors, our technique automatically decomposes them to clean inputs and the corresponding triggers. It then clusters the triggers based on their properties to allow automatic attack categorization and summarization. Backdoor scanners can then be automatically synthesized to find other instances of the same type of backdoor in other models. Our evaluation on 2,532 pre-trained models, 10 popular attacks, and comparison with 9 baselines show that our technique is highly effective. The decomposed clean inputs and triggers closely resemble the ground truth. The synthesized scanners substantially outperform the vanilla versions of existing scanners that can hardly generalize to different kinds of attacks.","url_abs":"https://arxiv.org/abs/2301.06241v1","url_pdf":"https://arxiv.org/pdf/2301.06241v1.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":"beagle-forensics-of-deep-learning-backdoor","repo_url":"https://github.com/megum1/beagle","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":1,"framework":"pytorch","reach":null}],"tasks":[{"task_slug":"backdoor-attack","task_name":"Backdoor Attack"},{"task_slug":"deep-learning","task_name":"Deep Learning"}],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=2301.06241","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2301.06241"}},"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":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/megum1/beagle","reach":null}],"summary":{"ran_honours":2,"ran_draft_wrong":1,"unverified":3},"by_repo_kind":{"official":{"samples":6,"ran":3,"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":"62612b0ef691a14c","entry":"center_loss","repo":"megum1/beagle","repo_kind":"official","path":"trojai_round3/synthesis_scanner.py","file_url":"https://github.com/megum1/beagle/blob/HEAD/trojai_round3/synthesis_scanner.py","link_basis":"first_harvest_node","language":"python","status":"ran_honours","verification_level":1,"contract_check":"HONOURS","metamorphic_tier":"invariant","behaviour_fingerprint":true,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"62612b0ef691a14c"}},{"code_sha256_prefix":"ae8fef45a894c95f","entry":"mask_init","repo":"megum1/beagle","repo_kind":"official","path":"trojai_round3/synthesis_scanner.py","file_url":"https://github.com/megum1/beagle/blob/HEAD/trojai_round3/synthesis_scanner.py","link_basis":"first_harvest_node","language":"python","status":"ran_honours","verification_level":1,"contract_check":"HONOURS","metamorphic_tier":"well_formed","behaviour_fingerprint":true,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"ae8fef45a894c95f"}},{"code_sha256_prefix":"a185830aad476877","entry":"size_loss","repo":"megum1/beagle","repo_kind":"official","path":"trojai_round3/synthesis_scanner.py","file_url":"https://github.com/megum1/beagle/blob/HEAD/trojai_round3/synthesis_scanner.py","link_basis":"first_harvest_node","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"MISDECLARED","metamorphic_tier":"invariant","behaviour_fingerprint":true,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"a185830aad476877"}},{"code_sha256_prefix":"653e0f48079546cf","entry":"beagle","repo":"megum1/beagle","repo_kind":"official","path":"cifar10/backdoor_removal.py","file_url":"https://github.com/megum1/beagle/blob/HEAD/cifar10/backdoor_removal.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":"653e0f48079546cf"}},{"code_sha256_prefix":"77e08b7f9cbe0290","entry":"finetune","repo":"megum1/beagle","repo_kind":"official","path":"cifar10/backdoor_removal.py","file_url":"https://github.com/megum1/beagle/blob/HEAD/cifar10/backdoor_removal.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":"77e08b7f9cbe0290"}},{"code_sha256_prefix":"ff84c411464b4ba8","entry":"test","repo":"megum1/beagle","repo_kind":"official","path":"cifar10/backdoor_removal.py","file_url":"https://github.com/megum1/beagle/blob/HEAD/cifar10/backdoor_removal.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":"ff84c411464b4ba8"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}