一句话:首个面向 Flutter Android 应用的定制静态分析方法,通过数据流提取揭示 Dart 与 DEX 间的隐式跨语言调用关系。
跨平台框架 Flutter 被广泛使用,但现有静态分析工具无法识别 Flutter 中 Dart 代码与 Android 原生 Dalvik 字节码(DEX)之间的隐式跨语言调用,导致移动软件分析不完整。本文提出 GlassWing,这是首个为 Flutter Android 应用量身定制的静态分析方法。它采用面向数据流的方式对 Flutter 应用进行关键程序语义抽取,显式披露 Dart 与 DEX 之间的隐式调用关系,使跨语言调用对分析工具可见。作者在 1023 个真实流行 Flutter 应用上进行了广泛评估:与 Soot 集成后,GlassWing 多解析了 141% 的 Jimple 代码行,扩展了调用图的边与节点,并借助 FlowDroid 揭示了近 3 倍此前无法检测到的潜在敏感数据泄露。该工作为 Flutter 应用的下游研究(如程序图分析、污点分析与恶意软件分析)提供了支撑,可无缝增强现有与未来的 Android 分析工作。
The variety of mobile operating systems available in the market has led to the emergence of cross-platform frameworks, which simplify the development and deployment of mobile applications across multiple platforms simultaneously. Among these, the Flutter framework promoted by Google has become a widely used cross-platform development framework. To date, no work has provided support for the static analysis of Flutter apps on the Android platform. State-of-the-art static analyzers fail to "see" the implicit invocation between the Dart language used by the Flutter framework and the Dalvik bytecode (DEX) used by the native Android platform, posing a significant threat to the completeness of the mobile software analysis.In this paper, we present GlassWing, the first tailored approach to static analysis for Flutter Android apps. GlassWing leverages a data-flow-oriented approach to conduct key program semantic extraction of Flutter apps and discloses the implicit Dart-DEX invocation relations, thereby making cross-language invocation visible. Extensive evaluation on 1,023 popular real-world Flutter apps indicates that GlassWing enhances static analysis of Flutter apps integrated with Soot by parsing 141% more Jimple code lines, extending the call graph with more edges and nodes, and revealing almost 3X potential sensitive data leaks that were previously undetected with FlowDroid. GlassWing sheds light on downstream research fields for Flutter apps (e.g., program graph analysis, taint analysis, and malicious software analysis). Many current and future Android analysis initiatives can be enhanced by seamlessly incorporating GlassWing’s insights.
DOI 原文 ·
@inproceedings{paperbot9543,
title = {GlassWing: A Tailored Static Analysis Approach for Flutter Android Apps},
author = {Xiangyu Zhang and Yucheng Su and Lingling Fan and Miaoying Cai and Sen Chen},
booktitle = {ASE},
year = {2025},
doi = {10.1109/ase63991.2025.00050}
}