{"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/adversarial-attack-on-large-scale-graph","title":"Adversarial Attack on Large Scale Graph","arxiv_id":"2009.03488","date":"2020-09-08","proceeding":null,"authors":["Jintang Li","Tao Xie","Liang Chen","Fenfang Xie","Xiangnan He","Zibin Zheng"],"abstract":"Recent studies have shown that graph neural networks (GNNs) are vulnerable against perturbations due to lack of robustness and can therefore be easily fooled. Currently, most works on attacking GNNs are mainly using gradient information to guide the attack and achieve outstanding performance. However, the high complexity of time and space makes them unmanageable for large scale graphs and becomes the major bottleneck that prevents the practical usage. We argue that the main reason is that they have to use the whole graph for attacks, resulting in the increasing time and space complexity as the data scale grows. In this work, we propose an efficient Simplified Gradient-based Attack (SGA) method to bridge this gap. SGA can cause the GNNs to misclassify specific target nodes through a multi-stage attack framework, which needs only a much smaller subgraph. In addition, we present a practical metric named Degree Assortativity Change (DAC) to measure the impacts of adversarial attacks on graph data. We evaluate our attack method on four real-world graph networks by attacking several commonly used GNNs. The experimental results demonstrate that SGA can achieve significant time and memory efficiency improvements while maintaining competitive attack performance compared to state-of-art attack techniques. Codes are available via: https://github.com/EdisonLeeeee/SGAttack.","url_abs":"https://arxiv.org/abs/2009.03488v2","url_pdf":"https://arxiv.org/pdf/2009.03488v2.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":"adversarial-attack-on-large-scale-graph","repo_url":"https://github.com/EdisonLeeeee/SGAttack","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":1,"framework":"tf","reach":{"status":"ok","spdx":"MIT"}}],"tasks":[{"task_slug":"adversarial-attack","task_name":"Adversarial Attack"}],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=2009.03488","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2009.03488"}},"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/EdisonLeeeee/SGAttack","reach":{"status":"ok","spdx":"MIT"}}],"summary":{"unverified":9},"by_repo_kind":{"official":{"samples":9,"ran":0,"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":"ce035bcfdb106408","entry":"ego_graph","repo":"EdisonLeeeee/SGAttack","repo_kind":"official","path":"src/ego_graph.py","file_url":"https://github.com/EdisonLeeeee/SGAttack/blob/HEAD/src/ego_graph.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":"ce035bcfdb106408"}},{"code_sha256_prefix":"2c4323683a7d35f4","entry":"evaluate","repo":"EdisonLeeeee/SGAttack","repo_kind":"official","path":"src/classifier/gcn.py","file_url":"https://github.com/EdisonLeeeee/SGAttack/blob/HEAD/src/classifier/gcn.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":"2c4323683a7d35f4"}},{"code_sha256_prefix":"ea3ce97f4a4d4ffe","entry":"extra_edges","repo":"EdisonLeeeee/SGAttack","repo_kind":"official","path":"src/ego_graph.py","file_url":"https://github.com/EdisonLeeeee/SGAttack/blob/HEAD/src/ego_graph.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":"ea3ce97f4a4d4ffe"}},{"code_sha256_prefix":"0dc4680e49fcd831","entry":"least_indices","repo":"EdisonLeeeee/SGAttack","repo_kind":"official","path":"src/attacker/sga.py","file_url":"https://github.com/EdisonLeeeee/SGAttack/blob/HEAD/src/attacker/sga.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":"0dc4680e49fcd831"}},{"code_sha256_prefix":"3b49e3b820a0cded","entry":"load_npz","repo":"EdisonLeeeee/SGAttack","repo_kind":"official","path":"src/utils.py","file_url":"https://github.com/EdisonLeeeee/SGAttack/blob/HEAD/src/utils.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":"3b49e3b820a0cded"}},{"code_sha256_prefix":"7252d7027e14db0a","entry":"normalize","repo":"EdisonLeeeee/SGAttack","repo_kind":"official","path":"src/attacker/sga.py","file_url":"https://github.com/EdisonLeeeee/SGAttack/blob/HEAD/src/attacker/sga.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":"7252d7027e14db0a"}},{"code_sha256_prefix":"52f1cfa8f8dc33d1","entry":"sample_targets","repo":"EdisonLeeeee/SGAttack","repo_kind":"official","path":"src/utils.py","file_url":"https://github.com/EdisonLeeeee/SGAttack/blob/HEAD/src/utils.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":"52f1cfa8f8dc33d1"}},{"code_sha256_prefix":"81be8a5f4732fe52","entry":"sparse_dropout","repo":"EdisonLeeeee/SGAttack","repo_kind":"official","path":"src/classifier/gcn.py","file_url":"https://github.com/EdisonLeeeee/SGAttack/blob/HEAD/src/classifier/gcn.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":"81be8a5f4732fe52"}},{"code_sha256_prefix":"7c6646b095f8a748","entry":"train_val_test_split_tabular","repo":"EdisonLeeeee/SGAttack","repo_kind":"official","path":"src/utils.py","file_url":"https://github.com/EdisonLeeeee/SGAttack/blob/HEAD/src/utils.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":"7c6646b095f8a748"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}