Unveiling the Tricks: Automated Detection of Dark Patterns in Mobile Applications
Jieshan Chen, Jiamou Sun, Sidong Feng, Zhenchang Xing, Qinghua Lu, Xiwei Xu, Chunyang Chen
TL;DR
This work addresses the prevalence and harm of dark patterns in mobile apps by introducing UIGuard, a knowledge-driven, vision-based detection system that operates directly on UI screenshots. It merges multiple taxonomies into a unified framework, identifies six core UI properties, and employs seven property-extraction modules plus a taxonomy-driven checker to detect 14 dark-pattern types. The authors provide a large-scale annotated dataset and extensive evaluations showing strong end-to-end performance (macro/micro F1 around 0.82/0.79) and high icon/status detection accuracy, along with a user study demonstrating increased user understanding of dark patterns. The approach promises generalizability across platforms, supports analysis for researchers, designers, and regulators, and offers a foundation for future expansion to new pattern types and dynamic contexts.
Abstract
Mobile apps bring us many conveniences, such as online shopping and communication, but some use malicious designs called dark patterns to trick users into doing things that are not in their best interest. Many works have been done to summarize the taxonomy of these patterns and some have tried to mitigate the problems through various techniques. However, these techniques are either time-consuming, not generalisable or limited to specific patterns. To address these issues, we propose UIGuard, a knowledge-driven system that utilizes computer vision and natural language pattern matching to automatically detect a wide range of dark patterns in mobile UIs. Our system relieves the need for manually creating rules for each new UI/app and covers more types with superior performance. In detail, we integrated existing taxonomies into a consistent one, conducted a characteristic analysis and distilled knowledge from real-world examples and the taxonomy. Our UIGuard consists of two components, Property Extraction and Knowledge-Driven Dark Pattern Checker. We collected the first dark pattern dataset, which contains 4,999 benign UIs and 1,353 malicious UIs of 1,660 instances spanning 1,023 mobile apps. Our system achieves a superior performance in detecting dark patterns (micro averages: 0.82 in precision, 0.77 in recall, 0.79 in F1 score). A user study involving 58 participants further shows that \tool{} significantly increases users' knowledge of dark patterns.
