{"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/vertexserum-poisoning-graph-neural-networks","title":"VertexSerum: Poisoning Graph Neural Networks for Link Inference","arxiv_id":"2308.01469","date":"2023-08-02","proceeding":"ICCV 2023 1","authors":["Ruyi Ding","Shijin Duan","Xiaolin Xu","Yunsi Fei"],"abstract":"Graph neural networks (GNNs) have brought superb performance to various applications utilizing graph structural data, such as social analysis and fraud detection. The graph links, e.g., social relationships and transaction history, are sensitive and valuable information, which raises privacy concerns when using GNNs. To exploit these vulnerabilities, we propose VertexSerum, a novel graph poisoning attack that increases the effectiveness of graph link stealing by amplifying the link connectivity leakage. To infer node adjacency more accurately, we propose an attention mechanism that can be embedded into the link detection network. Our experiments demonstrate that VertexSerum significantly outperforms the SOTA link inference attack, improving the AUC scores by an average of $9.8\\%$ across four real-world datasets and three different GNN structures. Furthermore, our experiments reveal the effectiveness of VertexSerum in both black-box and online learning settings, further validating its applicability in real-world scenarios.","url_abs":"https://arxiv.org/abs/2308.01469v1","url_pdf":"https://arxiv.org/pdf/2308.01469v1.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":[],"tasks":[{"task_slug":"fraud-detection","task_name":"Fraud Detection"},{"task_slug":"inference-attack","task_name":"Inference Attack"}],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"syntology_url":"https://syntology.ai/paper/2308.01469","atlas_url":"https://app.syntology.ai/?focus=2308.01469","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2308.01469"}},"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":"deterministic:regex_extraction","url":"https://github.com/RollinDing/VertexSerum","reach":null}],"summary":{"ran_draft_wrong":1,"unverified":2},"by_repo_kind":{"found_in_text":{"samples":3,"ran":1,"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":3,"samples":[{"code_sha256_prefix":"441783b0766804a4","entry":"repulsion_loss","repo":"RollinDing/VertexSerum","repo_kind":"found_in_text","path":"src/attacks/pgd.py","file_url":"https://github.com/RollinDing/VertexSerum/blob/HEAD/src/attacks/pgd.py","link_basis":"first_harvest_node","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"MISDECLARED","metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"441783b0766804a4"}},{"code_sha256_prefix":"cdea66423f566d25","entry":"attractive_loss","repo":"RollinDing/VertexSerum","repo_kind":"found_in_text","path":"src/attacks/pgd.py","file_url":"https://github.com/RollinDing/VertexSerum/blob/HEAD/src/attacks/pgd.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":"cdea66423f566d25"}},{"code_sha256_prefix":"fd4d6368e67ea11a","entry":"projection_gradient_descent","repo":"RollinDing/VertexSerum","repo_kind":"found_in_text","path":"src/attacks/pgd.py","file_url":"https://github.com/RollinDing/VertexSerum/blob/HEAD/src/attacks/pgd.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":"fd4d6368e67ea11a"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}