This is the repository for the paper NDSS 2025 "The Skeleton Keys: A Large Scale Analysis of Credential Leakage in Mini-apps". The main content of different phases are illustrated as follows.
DocumentationAnalysis is used for extracting credential-use semantics of the mini-app server-side, and build credential-use semantic graph (CSG).
start documentation analysis and build CSG:
python3 extractor_for_all.pyMPStaticAnalysis performs a fine-grained data flow analysis based on JAW to track network data and extract behaviors in mini-apps.
start static analysis and build the client-side behavior graph (CBG):
python mpRunner.pyMPDynamicAnalysis is designed for webview-based mini-apps and simulate user interactions to explore the webview-based mini-apps based on Android UI Automator.
start dynamic analysis:
python3 handle_miniapp.pybuild client-side behavior graph (CBG)
python3 build_CBG.pySemanticMatching is used to perform semantic-based similarity analysis between the CSG and CBG.
start semantic matching:
python3 mpMatcher.py