{"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/cega-a-cost-effective-approach-for-graph","title":"CEGA: A Cost-Effective Approach for Graph-Based Model Extraction and Acquisition","arxiv_id":"2506.17709","date":"2025-06-21","proceeding":null,"authors":["Zebin Wang","Menghan Lin","Bolin Shen","Ken Anderson","Molei Liu","Tianxi Cai","Yushun Dong"],"abstract":"Graph Neural Networks (GNNs) have demonstrated remarkable utility across diverse applications, and their growing complexity has made Machine Learning as a Service (MLaaS) a viable platform for scalable deployment. However, this accessibility also exposes GNN to serious security threats, most notably model extraction attacks (MEAs), in which adversaries strategically query a deployed model to construct a high-fidelity replica. In this work, we evaluate the vulnerability of GNNs to MEAs and explore their potential for cost-effective model acquisition in non-adversarial research settings. Importantly, adaptive node querying strategies can also serve a critical role in research, particularly when labeling data is expensive or time-consuming. By selectively sampling informative nodes, researchers can train high-performing GNNs with minimal supervision, which is particularly valuable in domains such as biomedicine, where annotations often require expert input. To address this, we propose a node querying strategy tailored to a highly practical yet underexplored scenario, where bulk queries are prohibited, and only a limited set of initial nodes is available. Our approach iteratively refines the node selection mechanism over multiple learning cycles, leveraging historical feedback to improve extraction efficiency. Extensive experiments on benchmark graph datasets demonstrate our superiority over comparable baselines on accuracy, fidelity, and F1 score under strict query-size constraints. These results highlight both the susceptibility of deployed GNNs to extraction attacks and the promise of ethical, efficient GNN acquisition methods to support low-resource research environments.","url_abs":"https://arxiv.org/abs/2506.17709v1","url_pdf":"https://arxiv.org/pdf/2506.17709v1.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":"cega-a-cost-effective-approach-for-graph","repo_url":"https://github.com/labrai/cega","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":0,"framework":"pytorch","reach":{"status":"ok","spdx":"MIT"}}],"tasks":[{"task_slug":"model-extraction","task_name":"Model extraction"}],"methods":[{"method_slug":"set","method_name":"SET"}],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=2506.17709","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2506.17709"}},"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/labrai/cega","reach":{"status":"ok","spdx":"MIT"}}],"summary":{"ran":3,"unverified":7},"by_repo_kind":{"official":{"samples":10,"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":"9f6153c1bb3c0e9e","entry":"get_current_neighbors_1","repo":"labrai/cega","repo_kind":"official","path":"attacks/utils.py","file_url":"https://github.com/labrai/cega/blob/HEAD/attacks/utils.py","link_basis":"plan_row","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":"9f6153c1bb3c0e9e"}},{"code_sha256_prefix":"97275894290edc01","entry":"get_current_neighbors_dense","repo":"labrai/cega","repo_kind":"official","path":"attacks/utils.py","file_url":"https://github.com/labrai/cega/blob/HEAD/attacks/utils.py","link_basis":"plan_row","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":"97275894290edc01"}},{"code_sha256_prefix":"fbbff48d19cf596b","entry":"get_receptive_fields_dense","repo":"labrai/cega","repo_kind":"official","path":"attacks/utils.py","file_url":"https://github.com/labrai/cega/blob/HEAD/attacks/utils.py","link_basis":"plan_row","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":"fbbff48d19cf596b"}},{"code_sha256_prefix":"90eef8ab7e8c113f","entry":"calculate_entropy","repo":"labrai/cega","repo_kind":"official","path":"attacks/attack_0_cega.py","file_url":"https://github.com/labrai/cega/blob/HEAD/attacks/attack_0_cega.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":"90eef8ab7e8c113f"}},{"code_sha256_prefix":"f77dc13db482d1e3","entry":"calculate_entropy","repo":"labrai/cega","repo_kind":"official","path":"attacks/attack_0_age.py","file_url":"https://github.com/labrai/cega/blob/HEAD/attacks/attack_0_age.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":"f77dc13db482d1e3"}},{"code_sha256_prefix":"dfc1002c59a8eebb","entry":"evaluate","repo":"labrai/cega","repo_kind":"official","path":"attacks/attack_0.py","file_url":"https://github.com/labrai/cega/blob/HEAD/attacks/attack_0.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":"dfc1002c59a8eebb"}},{"code_sha256_prefix":"7cf258d7395e83cf","entry":"init_mask","repo":"labrai/cega","repo_kind":"official","path":"attacks/attack_0_cega.py","file_url":"https://github.com/labrai/cega/blob/HEAD/attacks/attack_0_cega.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":"7cf258d7395e83cf"}},{"code_sha256_prefix":"de9ce459bee4a58a","entry":"multiclassentropy_numpy","repo":"labrai/cega","repo_kind":"official","path":"attacks/attack_0_age.py","file_url":"https://github.com/labrai/cega/blob/HEAD/attacks/attack_0_age.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":"de9ce459bee4a58a"}},{"code_sha256_prefix":"13f6d8c8d846105b","entry":"rank_entropy","repo":"labrai/cega","repo_kind":"official","path":"attacks/attack_0_age.py","file_url":"https://github.com/labrai/cega/blob/HEAD/attacks/attack_0_age.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":"13f6d8c8d846105b"}},{"code_sha256_prefix":"900a1869ab6d8118","entry":"update_sub_train_mask","repo":"labrai/cega","repo_kind":"official","path":"attacks/attack_0_cega.py","file_url":"https://github.com/labrai/cega/blob/HEAD/attacks/attack_0_cega.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":"900a1869ab6d8118"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}