{"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/fable-a-localized-targeted-adversarial-attack","title":"FABLE: A Localized, Targeted Adversarial Attack on Weather Forecasting Models","arxiv_id":"2505.12167","date":"2025-05-17","proceeding":null,"authors":["Yue Deng","Asadullah Hill Galib","Xin Lan","Pang-Ning Tan","Lifeng Luo"],"abstract":"Deep learning-based weather forecasting models have recently demonstrated significant performance improvements over gold-standard physics-based simulation tools. However, these models are vulnerable to adversarial attacks, which raises concerns about their trustworthiness. In this paper, we first investigate the feasibility of applying existing adversarial attack methods to weather forecasting models. We argue that a successful attack should (1) not modify significantly its original inputs, (2) be faithful, i.e., achieve the desired forecast at targeted locations with minimal changes to non-targeted locations, and (3) be geospatio-temporally realistic. However, balancing these criteria is a challenge as existing methods are not designed to preserve the geospatio-temporal dependencies of the original samples. To address this challenge, we propose a novel framework called FABLE (Forecast Alteration By Localized targeted advErsarial attack), which employs a 3D discrete wavelet decomposition to extract the varying components of the geospatio-temporal data. By regulating the magnitude of adversarial perturbations across different components, FABLE can generate adversarial inputs that maintain geospatio-temporal coherence while remaining faithful and closely aligned with the original inputs. Experimental results on multiple real-world datasets demonstrate the effectiveness of our framework over baseline methods across various metrics.","url_abs":"https://arxiv.org/abs/2505.12167v1","url_pdf":"https://arxiv.org/pdf/2505.12167v1.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":"adversarial-attack","task_name":"Adversarial Attack"},{"task_slug":"weather-forecasting","task_name":"Weather Forecasting"}],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=2505.12167","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2505.12167"}},"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":"deterministic:regex_extraction","url":"https://github.com/EDAPINENUT/CLCRN","reach":null}],"summary":{"ran":6,"unverified":3},"by_repo_kind":{"found_in_text":{"samples":9,"ran":6,"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":9,"samples":[{"code_sha256_prefix":"7c7fe05cba3de422","entry":"Attention","repo":"EDAPINENUT/CLCRN","repo_kind":"found_in_text","path":"model/clcnn/recurrent/seq2seq_model.py","file_url":"https://github.com/EDAPINENUT/CLCRN/blob/HEAD/model/clcnn/recurrent/seq2seq_model.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"7c7fe05cba3de422"}},{"code_sha256_prefix":"08a1f2748df28a1a","entry":"CLConv","repo":"EDAPINENUT/CLCRN","repo_kind":"found_in_text","path":"model/clcnn/recurrent/seq2seq_model.py","file_url":"https://github.com/EDAPINENUT/CLCRN/blob/HEAD/model/clcnn/recurrent/seq2seq_model.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"08a1f2748df28a1a"}},{"code_sha256_prefix":"f431d5b063b804aa","entry":"ConvAttrs","repo":"EDAPINENUT/CLCRN","repo_kind":"found_in_text","path":"model/clcnn/recurrent/seq2seq_model.py","file_url":"https://github.com/EDAPINENUT/CLCRN/blob/HEAD/model/clcnn/recurrent/seq2seq_model.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"f431d5b063b804aa"}},{"code_sha256_prefix":"45f72e2b4f54d066","entry":"EncoderModel","repo":"EDAPINENUT/CLCRN","repo_kind":"found_in_text","path":"model/clcnn/recurrent/seq2seq_model.py","file_url":"https://github.com/EDAPINENUT/CLCRN/blob/HEAD/model/clcnn/recurrent/seq2seq_model.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"45f72e2b4f54d066"}},{"code_sha256_prefix":"2e89cbd059746ff1","entry":"LocalConditionalKer","repo":"EDAPINENUT/CLCRN","repo_kind":"found_in_text","path":"model/clcnn/recurrent/seq2seq_model.py","file_url":"https://github.com/EDAPINENUT/CLCRN/blob/HEAD/model/clcnn/recurrent/seq2seq_model.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"2e89cbd059746ff1"}},{"code_sha256_prefix":"930050e09997530c","entry":"Seq2SeqAttrs","repo":"EDAPINENUT/CLCRN","repo_kind":"found_in_text","path":"model/clcnn/recurrent/seq2seq_model.py","file_url":"https://github.com/EDAPINENUT/CLCRN/blob/HEAD/model/clcnn/recurrent/seq2seq_model.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"930050e09997530c"}},{"code_sha256_prefix":"d43a340d8e1b68da","entry":"CLCRNCell","repo":"EDAPINENUT/CLCRN","repo_kind":"found_in_text","path":"model/clcnn/recurrent/seq2seq_model.py","file_url":"https://github.com/EDAPINENUT/CLCRN/blob/HEAD/model/clcnn/recurrent/seq2seq_model.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":"d43a340d8e1b68da"}},{"code_sha256_prefix":"7d00ecf92ed92a2a","entry":"CLCRNModel","repo":"EDAPINENUT/CLCRN","repo_kind":"found_in_text","path":"model/clcnn/recurrent/seq2seq_model.py","file_url":"https://github.com/EDAPINENUT/CLCRN/blob/HEAD/model/clcnn/recurrent/seq2seq_model.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":"7d00ecf92ed92a2a"}},{"code_sha256_prefix":"732a31024b7e5639","entry":"DecoderModel","repo":"EDAPINENUT/CLCRN","repo_kind":"found_in_text","path":"model/clcnn/recurrent/seq2seq_model.py","file_url":"https://github.com/EDAPINENUT/CLCRN/blob/HEAD/model/clcnn/recurrent/seq2seq_model.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":"732a31024b7e5639"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}