{"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/curls-whey-boosting-black-box-adversarial","title":"Curls & Whey: Boosting Black-Box Adversarial Attacks","arxiv_id":"1904.01160","date":"2019-04-02","proceeding":"CVPR 2019 6","authors":["Yucheng Shi","Siyu Wang","Yahong Han"],"abstract":"Image classifiers based on deep neural networks suffer from harassment caused\nby adversarial examples. Two defects exist in black-box iterative attacks that\ngenerate adversarial examples by incrementally adjusting the noise-adding\ndirection for each step. On the one hand, existing iterative attacks add noises\nmonotonically along the direction of gradient ascent, resulting in a lack of\ndiversity and adaptability of the generated iterative trajectories. On the\nother hand, it is trivial to perform adversarial attack by adding excessive\nnoises, but currently there is no refinement mechanism to squeeze redundant\nnoises. In this work, we propose Curls & Whey black-box attack to fix the above\ntwo defects. During Curls iteration, by combining gradient ascent and descent,\nwe `curl' up iterative trajectories to integrate more diversity and\ntransferability into adversarial examples. Curls iteration also alleviates the\ndiminishing marginal effect in existing iterative attacks. The Whey\noptimization further squeezes the `whey' of noises by exploiting the robustness\nof adversarial perturbation. Extensive experiments on Imagenet and\nTiny-Imagenet demonstrate that our approach achieves impressive decrease on\nnoise magnitude in l2 norm. Curls & Whey attack also shows promising\ntransferability against ensemble models as well as adversarially trained\nmodels. In addition, we extend our attack to the targeted misclassification,\neffectively reducing the difficulty of targeted attacks under black-box\ncondition.","url_abs":"http://arxiv.org/abs/1904.01160v1","url_pdf":"http://arxiv.org/pdf/1904.01160v1.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":"curls-whey-boosting-black-box-adversarial","repo_url":"https://github.com/walegahaha/Curls-Whey","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"ok","spdx":"Apache-2.0"}}],"tasks":[{"task_slug":"adversarial-attack","task_name":"Adversarial Attack"},{"task_slug":"diversity","task_name":"Diversity"}],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=1904.01160","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"1904.01160"}},"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/walegahaha/Curls-Whey","reach":{"status":"ok","spdx":"Apache-2.0"}}],"summary":{"ran_draft_wrong":1,"ran_violates":1,"unverified":4},"by_repo_kind":{"official":{"samples":6,"ran":2,"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":"fac5364e2f53c6db","entry":"conv3x3","repo":"walegahaha/Curls-Whey","repo_kind":"official","path":"fmodels/resnet/resnet101.py","file_url":"https://github.com/walegahaha/Curls-Whey/blob/HEAD/fmodels/resnet/resnet101.py","link_basis":"harvester_set","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"OUTPUT_MISDECLARED","metamorphic_tier":"deterministic","behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"fac5364e2f53c6db"}},{"code_sha256_prefix":"b7880bde365e8087","entry":"sigmoid","repo":"walegahaha/Curls-Whey","repo_kind":"official","path":"attacks/curls_targeted.py","file_url":"https://github.com/walegahaha/Curls-Whey/blob/HEAD/attacks/curls_targeted.py","link_basis":"plan_row","language":"python","status":"ran_violates","verification_level":1,"contract_check":"VIOLATES","metamorphic_tier":"invariant","behaviour_fingerprint":true,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"b7880bde365e8087"}},{"code_sha256_prefix":"72d5ac306c34b36f","entry":"check_image","repo":"walegahaha/Curls-Whey","repo_kind":"official","path":"utils.py","file_url":"https://github.com/walegahaha/Curls-Whey/blob/HEAD/utils.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"72d5ac306c34b36f"}},{"code_sha256_prefix":"b6cdfb03b5c35d36","entry":"inception_v3","repo":"walegahaha/Curls-Whey","repo_kind":"official","path":"bmodels/inceptionv3/inceptionv3.py","file_url":"https://github.com/walegahaha/Curls-Whey/blob/HEAD/bmodels/inceptionv3/inceptionv3.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"b6cdfb03b5c35d36"}},{"code_sha256_prefix":"d47b88ab27aa99a1","entry":"resnet18","repo":"walegahaha/Curls-Whey","repo_kind":"official","path":"fmodels/resnet/resnet101.py","file_url":"https://github.com/walegahaha/Curls-Whey/blob/HEAD/fmodels/resnet/resnet101.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"d47b88ab27aa99a1"}},{"code_sha256_prefix":"ed02df7c47d6cd36","entry":"resnet34","repo":"walegahaha/Curls-Whey","repo_kind":"official","path":"fmodels/resnet/resnet101.py","file_url":"https://github.com/walegahaha/Curls-Whey/blob/HEAD/fmodels/resnet/resnet101.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"ed02df7c47d6cd36"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}