{"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/canarytrap-detecting-data-misuse-by-third","title":"CanaryTrap: Detecting Data Misuse by Third-Party Apps on Online Social Networks","arxiv_id":"2006.15794","date":"2020-06-29","proceeding":null,"authors":["Shehroze Farooqi","Maaz Musa","Zubair Shafiq","Fareed Zaffar"],"abstract":"Online social networks support a vibrant ecosystem of third-party apps that get access to personal information of a large number of users. Despite several recent high-profile incidents, methods to systematically detect data misuse by third-party apps on online social networks are lacking. We propose CanaryTrap to detect misuse of data shared with third-party apps. CanaryTrap associates a honeytoken to a user account and then monitors its unrecognized use via different channels after sharing it with the third-party app. We design and implement CanaryTrap to investigate misuse of data shared with third-party apps on Facebook. Specifically, we share the email address associated with a Facebook account as a honeytoken by installing a third-party app. We then monitor the received emails and use Facebook's ad transparency tool to detect any unrecognized use of the shared honeytoken. Our deployment of CanaryTrap to monitor 1,024 Facebook apps has uncovered multiple cases of misuse of data shared with third-party apps on Facebook including ransomware, spam, and targeted advertising.","url_abs":"http://arxiv.org/abs/2006.15794v1","url_pdf":"http://arxiv.org/pdf/2006.15794v1.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":"links_only","authors_date_abstract":"arXiv metadata, CC0 1.0 (https://info.arxiv.org/help/license), from the Kaggle arXiv metadata snapshot of 2026-09-12"},"code_links":[{"paper_slug":"canarytrap-detecting-data-misuse-by-third","repo_url":"https://github.com/shehrozef/CanaryTrap","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":0,"framework":"none","reach":null}],"tasks":[],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"syntology_url":"https://syntology.ai/paper/2006.15794","atlas_url":"https://app.syntology.ai/?focus=2006.15794","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2006.15794"}},"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":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/shehrozef/CanaryTrap","reach":null}],"summary":{"ran_draft_wrong":3},"by_repo_kind":{"official":{"samples":3,"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":3,"samples":[{"code_sha256_prefix":"b55349a37338c4bd","entry":"GetScreenShotAddedWrongEmail","repo":"shehrozef/CanaryTrap","repo_kind":"official","path":"crawler/Code/CustomConstants.py","file_url":"https://github.com/shehrozef/CanaryTrap/blob/HEAD/crawler/Code/CustomConstants.py","link_basis":"first_harvest_node","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"OUTPUT_MISDECLARED","metamorphic_tier":"deterministic","behaviour_fingerprint":true,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"b55349a37338c4bd"}},{"code_sha256_prefix":"3d1c9ad72d96b78e","entry":"GetScreenShotDevModeApp","repo":"shehrozef/CanaryTrap","repo_kind":"official","path":"crawler/Code/CustomConstants.py","file_url":"https://github.com/shehrozef/CanaryTrap/blob/HEAD/crawler/Code/CustomConstants.py","link_basis":"first_harvest_node","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"OUTPUT_MISDECLARED","metamorphic_tier":"deterministic","behaviour_fingerprint":true,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"3d1c9ad72d96b78e"}},{"code_sha256_prefix":"3516eb9af06a6308","entry":"GetScreenShotFailedAtLoginPrefix","repo":"shehrozef/CanaryTrap","repo_kind":"official","path":"crawler/Code/CustomConstants.py","file_url":"https://github.com/shehrozef/CanaryTrap/blob/HEAD/crawler/Code/CustomConstants.py","link_basis":"first_harvest_node","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"OUTPUT_MISDECLARED","metamorphic_tier":"deterministic","behaviour_fingerprint":true,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"3516eb9af06a6308"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}