{"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/a-label-free-heterophily-guided-approach-for","title":"A Label-Free Heterophily-Guided Approach for Unsupervised Graph Fraud Detection","arxiv_id":"2502.13308","date":"2025-02-18","proceeding":null,"authors":["Junjun Pan","Yixin Liu","Xin Zheng","Yizhen Zheng","Alan Wee-Chung Liew","Fuyi Li","Shirui Pan"],"abstract":"Graph fraud detection (GFD) has rapidly advanced in protecting online services by identifying malicious fraudsters. Recent supervised GFD research highlights that heterophilic connections between fraudsters and users can greatly impact detection performance, since fraudsters tend to camouflage themselves by building more connections to benign users. Despite the promising performance of supervised GFD methods, the reliance on labels limits their applications to unsupervised scenarios; Additionally, accurately capturing complex and diverse heterophily patterns without labels poses a further challenge. To fill the gap, we propose a Heterophily-guided Unsupervised Graph fraud dEtection approach (HUGE) for unsupervised GFD, which contains two essential components: a heterophily estimation module and an alignment-based fraud detection module. In the heterophily estimation module, we design a novel label-free heterophily metric called HALO, which captures the critical graph properties for GFD, enabling its outstanding ability to estimate heterophily from node attributes. In the alignment-based fraud detection module, we develop a joint MLP-GNN architecture with ranking loss and asymmetric alignment loss. The ranking loss aligns the predicted fraud score with the relative order of HALO, providing an extra robustness guarantee by comparing heterophily among non-adjacent nodes. Moreover, the asymmetric alignment loss effectively utilizes structural information while alleviating the feature-smooth effects of GNNs.Extensive experiments on 6 datasets demonstrate that HUGE significantly outperforms competitors, showcasing its effectiveness and robustness. The source code of HUGE is at https://github.com/CampanulaBells/HUGE-GAD.","url_abs":"https://arxiv.org/abs/2502.13308v1","url_pdf":"https://arxiv.org/pdf/2502.13308v1.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":"a-label-free-heterophily-guided-approach-for","repo_url":"https://github.com/campanulabells/huge-gad","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"ok","spdx":"MIT"}}],"tasks":[{"task_slug":"fraud-detection","task_name":"Fraud Detection"}],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"syntology_url":"https://syntology.ai/paper/2502.13308","atlas_url":"https://app.syntology.ai/?focus=2502.13308","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2502.13308"}},"developers":"https://syntology.ai/developers","read_at":"2026-09-25T09:33:49+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/campanulabells/huge-gad","reach":{"status":"ok","spdx":"MIT"}}],"summary":{"ran":6,"ran_violates":1,"unverified":3},"by_repo_kind":{"official":{"samples":10,"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":0,"samples":[{"code_sha256_prefix":"643374e8f7fa522b","entry":"compute_S","repo":"campanulabells/huge-gad","repo_kind":"official","path":"modules/ranking.py","file_url":"https://github.com/campanulabells/huge-gad/blob/HEAD/modules/ranking.py","link_basis":"harvester_set","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"643374e8f7fa522b"}},{"code_sha256_prefix":"5daea2629cef25a2","entry":"compute_sim","repo":"campanulabells/huge-gad","repo_kind":"official","path":"modules/loss.py","file_url":"https://github.com/campanulabells/huge-gad/blob/HEAD/modules/loss.py","link_basis":"harvester_set","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"5daea2629cef25a2"}},{"code_sha256_prefix":"f60a75781fb0f08e","entry":"halo","repo":"campanulabells/huge-gad","repo_kind":"official","path":"modules/utils.py","file_url":"https://github.com/campanulabells/huge-gad/blob/HEAD/modules/utils.py","link_basis":"harvester_set","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"f60a75781fb0f08e"}},{"code_sha256_prefix":"3a69846bbda3da77","entry":"neighbor_KLD_batch","repo":"campanulabells/huge-gad","repo_kind":"official","path":"modules/loss.py","file_url":"https://github.com/campanulabells/huge-gad/blob/HEAD/modules/loss.py","link_basis":"harvester_set","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"3a69846bbda3da77"}},{"code_sha256_prefix":"65e775517ef33e12","entry":"prc_auc_score","repo":"campanulabells/huge-gad","repo_kind":"official","path":"modules/utils.py","file_url":"https://github.com/campanulabells/huge-gad/blob/HEAD/modules/utils.py","link_basis":"harvester_set","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"65e775517ef33e12"}},{"code_sha256_prefix":"233b82f4f3888b45","entry":"rank_loss","repo":"campanulabells/huge-gad","repo_kind":"official","path":"modules/ranking.py","file_url":"https://github.com/campanulabells/huge-gad/blob/HEAD/modules/ranking.py","link_basis":"harvester_set","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"233b82f4f3888b45"}},{"code_sha256_prefix":"7c508037b40522af","entry":"str2bool","repo":"campanulabells/huge-gad","repo_kind":"official","path":"modules/utils.py","file_url":"https://github.com/campanulabells/huge-gad/blob/HEAD/modules/utils.py","link_basis":"harvester_set","language":"python","status":"ran_violates","verification_level":1,"contract_check":"VIOLATES","metamorphic_tier":"deterministic","behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"7c508037b40522af"}},{"code_sha256_prefix":"ccfccd16dec907c5","entry":"compute_s","repo":"campanulabells/huge-gad","repo_kind":"official","path":"modules/ranking.py","file_url":"https://github.com/campanulabells/huge-gad/blob/HEAD/modules/ranking.py","link_basis":"harvester_set","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":"ccfccd16dec907c5"}},{"code_sha256_prefix":"69ed13a02967fac8","entry":"neighbor_KLD","repo":"campanulabells/huge-gad","repo_kind":"official","path":"modules/loss.py","file_url":"https://github.com/campanulabells/huge-gad/blob/HEAD/modules/loss.py","link_basis":"harvester_set","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":"69ed13a02967fac8"}},{"code_sha256_prefix":"9bf0fb65362dd5ce","entry":"node_heterophily","repo":"campanulabells/huge-gad","repo_kind":"official","path":"modules/node_heterophily.py","file_url":"https://github.com/campanulabells/huge-gad/blob/HEAD/modules/node_heterophily.py","link_basis":"harvester_set","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":"9bf0fb65362dd5ce"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}