User Tools

Site Tools


design:mobile_and_app_measurement:mini_programs

Measuring Super-App Mini-Programs

A mini-program (WeChat's term; also mini-app, miniapp, sub-app, smart program, mini-game) is a third-party program that a host “super app” — WeChat, Alipay, Baidu, Douyin/TikTok, QQ, an IoT vendor's all-in-one app — downloads as a package and runs inside its own JavaScript runtime. The mini-program never talks to the operating system directly: it reaches the camera, the location, the user's identity and the network only through APIs the host exposes, under permissions (“scopes”) the host defines, over domains the host has whitelisted, after a review the host runs. For a measurement, the host is the platform. Everything Mobile and app measurement says about app stores, static and dynamic analysis and pinning still applies one layer down — to the host itself — and this page is about what changes one layer up.

Four things change enough to break an app-measurement intuition:

  1. There is no public store listing. No Google Play, no AndroZoo, no Tranco of mini-programs. Your population is whatever your crawler could search, scan or pull out of a client's cache, and every large corpus in these venues descends from one of three crawling routes; one 2024 paper reports the oldest blocked for batch appid queries, while two later papers (2025, 2026) still name it or its extension for crawls they do not date, and a third (2026) reuses that extended crawler's method. See Getting a Population.
  2. There are two permission systems stacked on each other, and a third party watching both. The OS grants permissions to the host; the host grants scopes to the mini-program; and the host itself sees every page view. The unit of study can be the deployed mini-programs, the host's own API surface, or the host's own telemetry — three designs with three different denominators. See Which Population Is Yours.
  3. The package is only the front end. Server logic, cloud-hosted functions and content fetched at run time are not in it, so a static result is a lower bound on what the mini-program does, and malware can hide from it by construction. See Static and Dynamic Analysis.
  4. The ecosystem is Chinese, and so is its documentation. WeChat's Chinese developer documentation listed 975 APIs where the English one listed 570 when [1Wang, Chao; Zhang, Yue; Lin, Zhiqiang (2023): "Uncovering and Exploiting Hidden APIs in Mobile Super Apps", in: Proceedings of the ACM SIGSAC Conference on Computer and Communications Security. (DOI)] counted them in 2021; research accounts registered to non-Chinese phone numbers are locked out of a large share of popular mini-programs [2Wang, Mona; Lin, Pellaeon; Knockel, Jeffrey; Greenberg, Will; Mayer, Jonathan; Mittal, Prateek (2025): "What WeChat Knows: Pervasive First-Party Tracking in a Billion-User Super-App Ecosystem", in: Proceedings on Privacy Enhancing Technologies. (DOI)]; and since the regulator's 2023–2024 filing campaign every mini-program operating in mainland China has had to be filed through its host. See Accounts, Vantage and Language.

The question a mini-program measurement has to answer that an app measurement mostly does not is “what fraction of the ecosystem could your crawler reach, and how would you know?” The host publishes no list, and Tencent's 2025 annual results and its first- and second-quarter 2026 releases give no count of mini-programs at all, only the combined Weixin and WeChat user base. The ecosystem sizes the papers quote as denominators — “about 4 million”, “more than 4.3 million” — are citations of secondary sources, not censuses, and the largest corpus in these venues (4,595,680 WeChat miniapps [3Yang, Yuqing; Zhang, Yue; Lin, Zhiqiang (2025): "Understanding Miniapp Malware: Identification, Dissection, and Characterization", in: Proceedings of the Network and Distributed System Security Symposium. (Link)]) was collected between March 2020 and June 2022. Report what you searched for, how, when, how many packages you got and how many you could analyse, and say plainly that the rest is unknown. Four of the nine papers here that measure deployed mini-programs acknowledge that their sample is not the population; none can say how large the population is.

Everything on this page about “the literature” is a claim about seven venues — CCS, IMC, NDSS, PETS, USENIX Security, TheWebConf and IEEE S&P, 2010–2026. A large part of mini-program tooling is published at software-engineering venues (ICSE, ASE, ISSTA, TOSEM) and at RAID, and CCS has run a dedicated workshop, SaTS, since 2023 — none of those papers is in the corpus. The count here is “how these seven venues measure mini-programs”, not the state of the field. See Corpus.

What to Read First

Six papers, each here for a methodological reason:

  1. [4Zhang, Yue; Turkistani, Bayan; Yang, Allen Yuqing; Zuo, Chaoshun; Lin, Zhiqiang (2021): "A Measurement Study of WeChat Mini-Apps", Proceedings of the ACM on Measurement and Analysis of Computing Systems 5(2). (DOI)] (SIGMETRICS 2021, outside the seven venues) — the crawler every early corpus descends from. MiniCrawler and the first ecosystem-scale measurement of WeChat mini-apps. Read it for how the population was built, then read [5Zhang, Zidong; Hou, Qinsheng; Ying, Lingyun; Diao, Wenrui; Gu, Yacong; Li, Rui; Guo, Shanqing; Duan, Haixin (2024): "MiniCAT: Understanding and Detecting Cross-Page Request Forgery Vulnerabilities in Mini-Programs", in: Proceedings of the ACM SIGSAC Conference on Computer and Communications Security. (DOI)] for its 2024 report that the route's batch appid queries are blocked.
  2. [6Zhang, Yue; Yang, Yuqing; Lin, Zhiqiang (2023): "Don't Leak Your Keys: Understanding, Measuring, and Exploiting the AppSecret Leaks in Mini-Programs", in: Proceedings of the ACM SIGSAC Conference on Computer and Communications Security. (DOI)] — acquisition, rate limit and validation done explicitly. 3,450,586 WeChat mini-programs found through a reverse-engineered search endpoint seeded with 14,020 keywords, six requests per minute for over six months, and every detected secret validated against the host's own key-check API so the count has no false positives by construction.
  3. [5Zhang, Zidong; Hou, Qinsheng; Ying, Lingyun; Diao, Wenrui; Gu, Yacong; Li, Rui; Guo, Shanqing; Duan, Haixin (2024): "MiniCAT: Understanding and Detecting Cross-Page Request Forgery Vulnerabilities in Mini-Programs", in: Proceedings of the ACM SIGSAC Conference on Computer and Communications Security. (DOI)] — the current route, and attrition reported at every stage. Mini-programs pulled from the Windows client's on-disk cache by GUI automation; 44,273 collected, 41,726 analysable, 14,920 of those timed out. Copy the attrition reporting.
  4. [2Wang, Mona; Lin, Pellaeon; Knockel, Jeffrey; Greenberg, Will; Mayer, Jonathan; Mittal, Prateek (2025): "What WeChat Knows: Pervasive First-Party Tracking in a Billion-User Super-App Ecosystem", in: Proceedings on Privacy Enhancing Technologies. (DOI)] — the privacy side: the host is the tracker. Reverse-engineers WeChat's own encryption to show what WeChat learns about every mini-program page you open, and is candid about what a non-Chinese research account cannot reach.
  5. [1Wang, Chao; Zhang, Yue; Lin, Zhiqiang (2023): "Uncovering and Exploiting Hidden APIs in Mobile Super Apps", in: Proceedings of the ACM SIGSAC Conference on Computer and Communications Security. (DOI)] and [7Wang, Chao; Zhang, Yue; Lin, Zhiqiang (2023): "One Size Does Not Fit All: Uncovering and Exploiting Cross Platform Discrepant APIs in WeChat", in: Proceedings of the USENIX Security Symposium. (Link)] — the host framework as the object. Hidden, undocumented host APIs reachable from third-party mini-programs, and the same documented API behaving differently on Windows, Android and iOS. Read them before assuming a result on one host build holds on another.

For the map of the attack surface, read [8Yang, Yuqing; Wang, Chao; Zhang, Yue; Lin, Zhiqiang (2023): "SoK: Decoding the Super App Enigma: The Security Mechanisms, Threats, and Trade-offs in OS-alike Apps". arXiv:2306.07495. (Link)] (an arXiv SoK by the same group; no venue recorded on the arXiv record as of 2026-09-27).

Which Population Is Yours

The corpus has 16 papers that measure mini-programs or their host framework — 13 as their main object, 3 as one population among several — found by a hand audit of a 57-paper candidate set (see Use in Publications). They do not share a unit of study:

Unit of study Papers What the denominator is Examples
Deployed mini-programs — a crawled population of packages 9 mini-programs you managed to collect, then the subset you could analyse [9Yang, Yuqing; Zhang, Yue; Lin, Zhiqiang (2022): "Cross Miniapp Request Forgery: Root Causes, Attacks, and Vulnerability Detection", in: Proceedings of the ACM SIGSAC Conference on Computer and Communications Security. (DOI)], [6Zhang, Yue; Yang, Yuqing; Lin, Zhiqiang (2023): "Don't Leak Your Keys: Understanding, Measuring, and Exploiting the AppSecret Leaks in Mini-Programs", in: Proceedings of the ACM SIGSAC Conference on Computer and Communications Security. (DOI)], [5Zhang, Zidong; Hou, Qinsheng; Ying, Lingyun; Diao, Wenrui; Gu, Yacong; Li, Rui; Guo, Shanqing; Duan, Haixin (2024): "MiniCAT: Understanding and Detecting Cross-Page Request Forgery Vulnerabilities in Mini-Programs", in: Proceedings of the ACM SIGSAC Conference on Computer and Communications Security. (DOI)], [10Shi, Yizhe; Yang, Zhemin; Zhong, Kangwei; Yang, Guangliang; Yang, Yifan; Zhang, Xiaohan; Yang, Min (2025): "The Skeleton Keys: A Large Scale Analysis of Credential Leakage in Mini-apps", in: Proceedings of the Network and Distributed System Security Symposium. (Link)], [3Yang, Yuqing; Zhang, Yue; Lin, Zhiqiang (2025): "Understanding Miniapp Malware: Identification, Dissection, and Characterization", in: Proceedings of the Network and Distributed System Security Symposium. (Link)], [11Shi, Yizhe; Yang, Zhemin; Liu, Dingyi; Zhong, Kangwei; Dai, Jiarun; Yang, Min (2026): "Better Safe than Sorry: Uncovering the Insecure Resource Management in App-in-App Cloud Services", in: Proceedings of the Network and Distributed System Security Symposium. (Link)], [12Chen, Pei; Hong, Geng; Qin, Yicheng; Wang, Huazhe; Wu, Mengying; Yang, Min; Zhao, Ziru; Zhu, Yuanpeng; Su, Tao (2026): "When Fun Turns Toxic: A First Look at Aggressive Advertising in Mini-games", in: Proceedings of the USENIX Security Symposium. (Link)]
The host framework — its API surface or binary, probed with your own test mini-programs 5 APIs (documented, hidden), or host apps [13Lu, Haoran; Xing, Luyi; Xiao, Yue; Zhang, Yifan; Liao, Xiaojing; Wang, XiaoFeng; Wang, Xueqiang (2020): "Demystifying Resource Management Risks in Emerging Mobile App-in-App Ecosystems", in: Proceedings of the ACM SIGSAC Conference on Computer and Communications Security. (DOI)], [14Zhang, Lei; Zhang, Zhibo; Liu, Ancong; Cao, Yinzhi; Zhang, Xiaohan; Chen, Yanjun; Zhang, Yuan; Yang, Guangliang; Yang, Min (2022): "Identity Confusion in WebView-based Mobile App-in-app Ecosystems", in: Proceedings of the USENIX Security Symposium. (Link)], [1Wang, Chao; Zhang, Yue; Lin, Zhiqiang (2023): "Uncovering and Exploiting Hidden APIs in Mobile Super Apps", in: Proceedings of the ACM SIGSAC Conference on Computer and Communications Security. (DOI)], [7Wang, Chao; Zhang, Yue; Lin, Zhiqiang (2023): "One Size Does Not Fit All: Uncovering and Exploiting Cross Platform Discrepant APIs in WeChat", in: Proceedings of the USENIX Security Symposium. (Link)]
The host's own telemetry — what the host sends about mini-program use 1 the traffic flows you could decrypt, over the mini-programs you could log into [2Wang, Mona; Lin, Pellaeon; Knockel, Jeffrey; Greenberg, Will; Mayer, Jonathan; Mittal, Prateek (2025): "What WeChat Knows: Pervasive First-Party Tracking in a Billion-User Super-App Ecosystem", in: Proceedings on Privacy Enhancing Technologies. (DOI)]
The operator's usage logs — obtained with the host's cooperation 1 consenting users [15Cai, Yifeng; Zhang, Ziqi; Yao, Mengyu; Liu, Junlin; Zhao, Xiaoke; Fu, Xinyi; Li, Ruoyu; Liu, Zhe; Chen, Xiangqun; Guo, Yao; Li, Ding (2025): "I Can Tell Your Secrets: Inferring Privacy Attributes from Mini-app Interaction History in Super-apps", in: Proceedings of the USENIX Security Symposium. (Link)]

The three designs answer different questions and should never be pooled. “8.85% of APIs are unprotected” [16Wei, Zhiao; Wang, Chao; Faheem, Haseeb-Ur-Rehman; Xing, Luyi; Aafer, Yousra; Lin, Zhiqiang (2026): "Raising the Flag: Detecting Missing Permission Controls in Mini-Program APIs", in: Proceedings of the USENIX Security Symposium. (Link)], “32.0% of analysable mini-programs are potentially vulnerable” [5Zhang, Zidong; Hou, Qinsheng; Ying, Lingyun; Diao, Wenrui; Gu, Yacong; Li, Rui; Guo, Shanqing; Duan, Haixin (2024): "MiniCAT: Understanding and Detecting Cross-Page Request Forgery Vulnerabilities in Mini-Programs", in: Proceedings of the ACM SIGSAC Conference on Computer and Communications Security. (DOI)] and “76.0% of decrypted traces carried browsing data” [2Wang, Mona; Lin, Pellaeon; Knockel, Jeffrey; Greenberg, Will; Mayer, Jonathan; Mittal, Prateek (2025): "What WeChat Knows: Pervasive First-Party Tracking in a Billion-User Super-App Ecosystem", in: Proceedings on Privacy Enhancing Technologies. (DOI)] share no denominator.

The extraction schema has no unit for mini-programs. Of the 16 papers, 13 file their population under mobile-apps and 13 sit in the appAnalysis slice (529 papers) of Mobile and app measurement; searching the extraction for a mini-program population returns nothing. A student searching these venues needs the ecosystem's own vocabulary — mini-program, mini-app, miniapp, super app, app-in-app — not the host's name: of the 37 papers that name WeChat or “mini-program” at least ten times, only 15 measure mini-programs, and 19 of the 22 that do not never use the ecosystem's vocabulary at all (WeChat as a messenger, a payment method, a voice-login target or a dataset owner).

The literature is recent, Chinese-host-centric and concentrated: the first paper is from 2020, 10 of the 16 are from 2024–2026, 14 of 16 study WeChat, and 6 of 16 study WeChat alone. CCS has 6, USENIX Security 5, NDSS 3, PoPETs and IEEE S&P 1 each; IMC has none, and TheWebConf's one paper ([17Yang, Yuqing; Lin, Zhiqiang (2026): "Real or Rogue? Detecting Malicious Miniapps with Deceptive Reporting Interface", in: Proceedings of the ACM Web Conference. (DOI)]) is outside the extraction.

The Host Is the Platform

What the host mediates, as far as it matters to a measurement:

  • APIs, documented and not. [1Wang, Chao; Zhang, Yue; Lin, Zhiqiang (2023): "Uncovering and Exploiting Hidden APIs in Mobile Super Apps", in: Proceedings of the ACM SIGSAC Conference on Computer and Communications Security. (DOI)] found that WeChat exposes “590 public APIs, 502 undocumented unchecked APIs, and 65 undocumented checked APIs”, that hidden unchecked APIs reaching permission-protected Android APIs exist in all five hosts it tested, and that 78,974 of 267,359 crawled third-party WeChat miniapps (29.54%) invoke at least one hidden API. An API inventory built from the documentation is a lower bound, and an English-only one is a smaller lower bound: the Chinese documentation “comprises 975 APIs [8], while the English version has only 570 APIs” (405 missing, 41.5% — our arithmetic).
  • Permissions, twice. The OS grants permissions to the host; the host grants “scopes” to mini-programs. [16Wei, Zhiao; Wang, Chao; Faheem, Haseeb-Ur-Rehman; Xing, Luyi; Aafer, Yousra; Lin, Zhiqiang (2026): "Raising the Flag: Detecting Missing Permission Controls in Mini-Program APIs", in: Proceedings of the USENIX Security Symposium. (Link)] mapped 2,067 mini-program APIs on WeChat, Alipay, Baidu and QQ to the Android permissions they exercise and found “183 (8.85%) APIs are not properly protected at the mini-program API layer”. [13Lu, Haoran; Xing, Luyi; Xiao, Yue; Zhang, Yifan; Liao, Xiaojing; Wang, XiaoFeng; Wang, Xueqiang (2020): "Demystifying Resource Management Risks in Emerging Mobile App-in-App Ecosystems", in: Proceedings of the ACM SIGSAC Conference on Computer and Communications Security. (DOI)] found 39 “System Resource Exposure” flaws across 11 app-in-app hosts. When you report that a mini-program “can access location”, say which of the two layers you checked.
  • The network. A WeChat mini-program may only talk to domains the developer whitelisted in the admin console, the domains must carry an ICP filing, and every request carries a fixed Referer of the form https://servicewechat.com/{appid}/{version}/page-frame.html — which lets you attribute captured traffic to a mini-program and its version. Traffic to WeChat's own cloud hosting goes through callContainer over “微信私有协议” (WeChat's private protocol) and never appears as a hostname1).
  • Identity and secrets. The host issues a per-user openid and a per-mini-program AppSecret; the login exchange (code2Session) is documented as server-side only — “接口应在服务器端调用,不可在前端(小程序、网页、APP等)直接调用” (call it from the server, never from the front end)2). That one rule is why “the AppSecret is in the front-end package” is a measurable, validatable vulnerability class: 40,880 of 3,450,586 WeChat mini-programs [6Zhang, Yue; Yang, Yuqing; Lin, Zhiqiang (2023): "Don't Leak Your Keys: Understanding, Measuring, and Exploiting the AppSecret Leaks in Mini-Programs", in: Proceedings of the ACM SIGSAC Conference on Computer and Communications Security. (DOI)].
  • Platforms under the host. The same mini-program runs on the host's Android, iOS and desktop builds, and they differ: “105 APIs that have existence discrepancies between Windows and Android, 40 APIs between Windows and iOS, 69 APIs between Android and iOS” [7Wang, Chao; Zhang, Yue; Lin, Zhiqiang (2023): "One Size Does Not Fit All: Uncovering and Exploiting Cross Platform Discrepant APIs in WeChat", in: Proceedings of the USENIX Security Symposium. (Link)]. Pin the host build and the OS, and do not generalise across them.
  • Review and removal. Hosts vet mini-programs before release and remove them after. [3Yang, Yuqing; Zhang, Yue; Lin, Zhiqiang (2025): "Understanding Miniapp Malware: Identification, Dissection, and Characterization", in: Proceedings of the Network and Distributed System Security Symposium. (Link)] re-queried the store for the 4,595,680 miniapps it had collected by June 2022 and found 360,467 delisted by the end of 2022 (7.8%, our arithmetic) — the population churns, and a delisted appid is itself a label.
  • The host sees everything. Separately from anything the mini-program does, the host logs which mini-program pages you open and what you type into them; see The Privacy Side: the Host as First Party.

Getting a Population

“Crawling WeChat mini-programs is challenging since there are no official or third-party markets similar to Google Play [14] or Apkpure [4] for Android apps” [5Zhang, Zidong; Hou, Qinsheng; Ying, Lingyun; Diao, Wenrui; Gu, Yacong; Li, Rui; Guo, Shanqing; Duan, Haixin (2024): "MiniCAT: Understanding and Detecting Cross-Page Request Forgery Vulnerabilities in Mini-Programs", in: Proceedings of the ACM SIGSAC Conference on Computer and Communications Security. (DOI)]. A population is built by searching the host, and each paper's route is a sampling frame with its own bias.

The routes, and which still work

Route How it works Papers in the corpus State as of 2026-09-27
MiniCrawler [4Zhang, Yue; Turkistani, Bayan; Yang, Allen Yuqing; Zuo, Chaoshun; Lin, Zhiqiang (2021): "A Measurement Study of WeChat Mini-Apps", Proceedings of the ACM on Measurement and Analysis of Computing Systems 5(2). (DOI)] queries WeChat's server by keyword for metadata, then has an Xposed-hooked Android WeChat download each appid 5: 2022, 2023, 2025, 2025, 2026 Repository's last commit 2021-06-29; README pins “WeChat 7.0.19” and “7.0.20” and a rooted phone with Xposed. [5Zhang, Zidong; Hou, Qinsheng; Ying, Lingyun; Diao, Wenrui; Gu, Yacong; Li, Rui; Guo, Shanqing; Duan, Haixin (2024): "MiniCAT: Understanding and Detecting Cross-Page Request Forgery Vulnerabilities in Mini-Programs", in: Proceedings of the ACM SIGSAC Conference on Computer and Communications Security. (DOI)] reports that “batch querying of AppIDs has become impossible due to Tencent's restriction on related API access”. A 2026 paper still names it for its crawl, without a crawl date. Treat as historical unless you have verified it runs.
Reverse-engineered search endpoint WeChat's internal search API, 1,000 Chinese characters and 1,000 English words as seeds, expanded from results to 14,020 keywords, 6 requests per minute 1: 2023 [6Zhang, Yue; Yang, Yuqing; Lin, Zhiqiang (2023): "Don't Leak Your Keys: Understanding, Measuring, and Exploiting the AppSecret Leaks in Mini-Programs", in: Proceedings of the ACM SIGSAC Conference on Computer and Communications Security. (DOI)] Not released as code. Endpoint behaviour since then not established.
Desktop client cache GUI automation (pywinauto) searches the Windows WeChat client with keywords segmented from mini-program descriptions (jieba); each opened mini-program is written to the profile's Applet/<AppID> directory; 20 requests per minute, about 2,687 per day 2: 2024 [5Zhang, Zidong; Hou, Qinsheng; Ying, Lingyun; Diao, Wenrui; Gu, Yacong; Li, Rui; Guo, Shanqing; Duan, Haixin (2024): "MiniCAT: Understanding and Detecting Cross-Page Request Forgery Vulnerabilities in Mini-Programs", in: Proceedings of the ACM SIGSAC Conference on Computer and Communications Security. (DOI)], and 2025 [18Zhou, Jiawei; Zhang, Zidong; Ying, Lingyun; Chai, Huajun; Cao, Jiuxin; Duan, Haixin (2025): "Hey, Your Secrets Leaked! Detecting and Characterizing Secret Leakage in the Wild", in: Proceedings of the IEEE Symposium on Security and Privacy. (DOI)] which built on it The most recent route documented in these venues. It inherits the client's own limits: “our crawler cannot successfully collect some mini-programs due to the compatibility limitations of the WeChat Windows client” [5Zhang, Zidong; Hou, Qinsheng; Ying, Lingyun; Diao, Wenrui; Gu, Yacong; Li, Rui; Guo, Shanqing; Duan, Haixin (2024): "MiniCAT: Understanding and Detecting Cross-Page Request Forgery Vulnerabilities in Mini-Programs", in: Proceedings of the ACM SIGSAC Conference on Computer and Communications Security. (DOI)].
Rankings and manual search marketing-firm top-100 lists and hand searches for keywords, installed and exercised one by one 1: 2025 [2Wang, Mona; Lin, Pellaeon; Knockel, Jeffrey; Greenberg, Will; Mayer, Jonathan; Mittal, Prateek (2025): "What WeChat Knows: Pervasive First-Party Tracking in a Billion-User Super-App Ecosystem", in: Proceedings on Privacy Enhancing Technologies. (DOI)] Always works; a popularity sample of about a hundred.
Operator logs the host's own records, with its co-authors and its IRB 1: 2025 [15Cai, Yifeng; Zhang, Ziqi; Yao, Mengyu; Liu, Junlin; Zhao, Xiaoke; Fu, Xinyi; Li, Ruoyu; Liu, Zhe; Chen, Xiangqun; Guo, Yao; Li, Ding (2025): "I Can Tell Your Secrets: Inferring Privacy Attributes from Mini-app Interaction History in Super-apps", in: Proceedings of the USENIX Security Symposium. (Link)] Requires the host as a partner; not reproducible by anyone else.
Gated research datasets the OSU group behind MiniCrawler serves datasets from its CCS 2022, CCS 2023 and NDSS 2025 papers and random samples of its SIGMETRICS 2021 crawl on request, with institutional authentication and written consent none in the corpus (the group's own later papers re-crawl) Live (minimalware.github.io, fetched 2026-09-27); the AppSecret-leak set “requires additional consent and agreement”. The samples are from a 2020–2022 crawl.

The other routes in the corpus are specific to a vertical — QR codes on rentable scooters and chargers, where for 75 of 81 Chinese products the authors found a WeChat mini-program and no native app [19He, Yi; Guan, Yunchao; Lun, Ruoyu; Song, Shangru; Guo, Zhihao; Zhuge, Jianwei; Chen, Jianjun; Wei, Qiang; Wu, Zehui; Yu, Miao; Shi, Hetian; Li, Qi (2024): "Demystifying the Security Implications in IoT Device Rental Services", in: Proceedings of the USENIX Security Symposium. (Link)]; the control mini-app shipped with a purchased IoT device [20Liu, Kaizheng; Yang, Ming; Ling, Zhen; Zhang, Yue; Lei, Chongqing; Luo, Junzhou; Fu, Xinwen (2024): "RIoTFuzzer: Companion App Assisted Remote Fuzzing for Detecting Vulnerabilities in IoT Devices", in: Proceedings of the ACM SIGSAC Conference on Computer and Communications Security. (DOI)]; a platform audit department's complaint cases as ground truth [12Chen, Pei; Hong, Geng; Qin, Yicheng; Wang, Huazhe; Wu, Mengying; Yang, Min; Zhao, Ziru; Zhu, Yuanpeng; Su, Tao (2026): "When Fun Turns Toxic: A First Look at Aggressive Advertising in Mini-games", in: Proceedings of the USENIX Security Symposium. (Link)] — or reuse an earlier paper's method: [11Shi, Yizhe; Yang, Zhemin; Liu, Dingyi; Zhong, Kangwei; Dai, Jiarun; Yang, Min (2026): "Better Safe than Sorry: Uncovering the Insecure Resource Management in App-in-App Cloud Services", in: Proceedings of the Network and Distributed System Security Symposium. (Link)] “adhered to the methods established in previous studies”, citing [6Zhang, Yue; Yang, Yuqing; Lin, Zhiqiang (2023): "Don't Leak Your Keys: Understanding, Measuring, and Exploiting the AppSecret Leaks in Mini-Programs", in: Proceedings of the ACM SIGSAC Conference on Computer and Communications Security. (DOI)] and [10Shi, Yizhe; Yang, Zhemin; Zhong, Kangwei; Yang, Guangliang; Yang, Yifan; Zhang, Xiaohan; Yang, Min (2025): "The Skeleton Keys: A Large Scale Analysis of Credential Leakage in Mini-apps", in: Proceedings of the Network and Distributed System Security Symposium. (Link)].

One more frame exists outside the research literature. Since the regulator's 2023 filing notice, mini-programs operating in mainland China must be filed through their distribution platform, and WeChat's own FAQ says an unfiled mini-program will become inaccessible or be delisted; the filing system can be searched by filing number or mini-program name, with “小程序” as a category filter3). No paper in these venues uses it, and we did not establish whether it can be enumerated rather than looked up, queried at scale, or whether a record carries the appid. If it can be enumerated, it is the only candidate for a population frame outside the host.

What counts as one mini-program

Say which of these your unit is, because the papers differ: the appid (the host's identifier, stable across versions — [9Yang, Yuqing; Zhang, Yue; Lin, Zhiqiang (2022): "Cross Miniapp Request Forgery: Root Causes, Attacks, and Vulnerability Detection", in: Proceedings of the ACM SIGSAC Conference on Computer and Communications Security. (DOI)], [3Yang, Yuqing; Zhang, Yue; Lin, Zhiqiang (2025): "Understanding Miniapp Malware: Identification, Dissection, and Characterization", in: Proceedings of the Network and Distributed System Security Symposium. (Link)]); the package you downloaded (one version; may be split into sub-packages — “missing main packages” is one of [5Zhang, Zidong; Hou, Qinsheng; Ying, Lingyun; Diao, Wenrui; Gu, Yacong; Li, Rui; Guo, Shanqing; Duan, Haixin (2024): "MiniCAT: Understanding and Detecting Cross-Page Request Forgery Vulnerabilities in Mini-Programs", in: Proceedings of the ACM SIGSAC Conference on Computer and Communications Security. (DOI)]'s unpacking failures); the page (MiniCAT's 44,273 mini-programs contained 2,264,377 pages); or the engine-specific build (the mini-games study analysed only the 2,076 of 6,769 crawled games built on Cocos, 30.7% — our arithmetic — because its tool is Cocos-specific [12Chen, Pei; Hong, Geng; Qin, Yicheng; Wang, Huazhe; Wu, Mengying; Yang, Min; Zhao, Ziru; Zhu, Yuanpeng; Su, Tao (2026): "When Fun Turns Toxic: A First Look at Aggressive Advertising in Mini-games", in: Proceedings of the USENIX Security Symposium. (Link)]). WeChat mini-games and mini-programs are different runtimes: [2Wang, Mona; Lin, Pellaeon; Knockel, Jeffrey; Greenberg, Will; Mayer, Jonathan; Mittal, Prateek (2025): "What WeChat Knows: Pervasive First-Party Tracking in a Billion-User Super-App Ecosystem", in: Proceedings on Privacy Enhancing Technologies. (DOI)] “excluded “games” since WeChat Games are implemented differently from Mini Programs”.

Attrition, as the papers report it

Paper Collected Analysed Why the rest were lost
[5Zhang, Zidong; Hou, Qinsheng; Ying, Lingyun; Diao, Wenrui; Gu, Yacong; Li, Rui; Guo, Shanqing; Duan, Haixin (2024): "MiniCAT: Understanding and Detecting Cross-Page Request Forgery Vulnerabilities in Mini-Programs", in: Proceedings of the ACM SIGSAC Conference on Computer and Communications Security. (DOI)] 44,273 41,726 (94.2%) “absent codes from WeChat Cloud Development [28] or highly obfuscated source codes”; and of the 41,726, “14,920 out of 41,726 (35.8%) mini-programs were skipped due to timeouts”
[10Shi, Yizhe; Yang, Zhemin; Zhong, Kangwei; Yang, Guangliang; Yang, Yifan; Zhang, Xiaohan; Yang, Min (2025): "The Skeleton Keys: A Large Scale Analysis of Credential Leakage in Mini-apps", in: Proceedings of the Network and Distributed System Security Symposium. (Link)] 413,775 (six hosts) 402,527 “timeout or AST parsing errors”
[12Chen, Pei; Hong, Geng; Qin, Yicheng; Wang, Huazhe; Wu, Mengying; Yang, Min; Zhao, Ziru; Zhu, Yuanpeng; Su, Tao (2026): "When Fun Turns Toxic: A First Look at Aggressive Advertising in Mini-games", in: Proceedings of the USENIX Security Symposium. (Link)] 6,769 mini-games 2,076 Cocos games; 915 of them ad-enabled out of the tool's engine scope
[2Wang, Mona; Lin, Pellaeon; Knockel, Jeffrey; Greenberg, Will; Mayer, Jonathan; Mittal, Prateek (2025): "What WeChat Knows: Pervasive First-Party Tracking in a Billion-User Super-App Ecosystem", in: Proceedings on Privacy Enhancing Technologies. (DOI)] 170 popular Mini Programs 104 “38.8% of them required ID verification or Chinese phone number verification”
[11Shi, Yizhe; Yang, Zhemin; Liu, Dingyi; Zhong, Kangwei; Dai, Jiarun; Yang, Min (2026): "Better Safe than Sorry: Uncovering the Insecure Resource Management in App-in-App Cloud Services", in: Proceedings of the Network and Distributed System Security Symposium. (Link)] 1,248,815 (four hosts) 22,695 that use cloud services out of the question's scope

Reported that way, a reader can see that MiniCAT's headline 32.0% is over the 41,726 analysable, not the 44,273 collected (30.2% of those), and that the 41,726 include 14,920 on which the detector's five-minute CodeQL timeout fired — so the 13,349 flagged are 49.8% of the 26,806 on which it completed (both our arithmetic; the paper does not say whether a flag can come from a query that timed out). Storage is part of the budget too: 2,571,490 WeChat packages took “6.29 TB disk storage” [9Yang, Yuqing; Zhang, Yue; Lin, Zhiqiang (2022): "Cross Miniapp Request Forgery: Root Causes, Attacks, and Vulnerability Detection", in: Proceedings of the ACM SIGSAC Conference on Computer and Communications Security. (DOI)] (about 2.45 MB each), and MiniCAT's 44,273 unpacked mini-programs 126.38 GB (about 2.85 MB each; our arithmetic).

Static and Dynamic Analysis

Static: unpack, then analyse JavaScript

A WeChat package (.wxapkg) has to be unpacked into JavaScript, WXML templates and WXSS styles before anything else runs. Of the 9 papers that measure deployed mini-programs, 8 analyse them statically, and the analysis is JavaScript analysis with a mini-program model on top — taint or data flow from host APIs, request construction, routing calls:

Tool What it is Used by State as of 2026-09-27
wxappUnpacker (qwerty472123) the unpacker the corpus names [5Zhang, Zidong; Hou, Qinsheng; Ying, Lingyun; Diao, Wenrui; Gu, Yacong; Li, Rui; Guo, Shanqing; Duan, Haixin (2024): "MiniCAT: Understanding and Detecting Cross-Page Request Forgery Vulnerabilities in Mini-Programs", in: Proceedings of the ACM SIGSAC Conference on Computer and Communications Security. (DOI)] Archived; last commit 2020-04-18. MiniCAT reports packages it could not unpack “due to their use of a newer version of the WeChat mini-program base library”. Superseded.
wux1an/wxapkg, biggerstar/wedecode maintained unpackers none in the corpus wxapkg v2.0.0, released 2026-04-16; wedecode tag v0.10.6, last commit 2026-08-27. Neither is named in any corpus paper — validate on your own packages before trusting its output.
Ackites/KillWxapkg the most-starred unpacker on GitHub (decrypts, unpacks, restores the project tree) none in the corpus v2.4.1, 2024-09-20, no commit since. Stalling.
DoubleX, JAW, CodeQL, Esprima + WALA general JS analysers with a mini-program model added [9Yang, Yuqing; Zhang, Yue; Lin, Zhiqiang (2022): "Cross Miniapp Request Forgery: Root Causes, Attacks, and Vulnerability Detection", in: Proceedings of the ACM SIGSAC Conference on Computer and Communications Security. (DOI)], [10Shi, Yizhe; Yang, Zhemin; Zhong, Kangwei; Yang, Guangliang; Yang, Yifan; Zhang, Xiaohan; Yang, Min (2025): "The Skeleton Keys: A Large Scale Analysis of Credential Leakage in Mini-apps", in: Proceedings of the Network and Distributed System Security Symposium. (Link)], [5Zhang, Zidong; Hou, Qinsheng; Ying, Lingyun; Diao, Wenrui; Gu, Yacong; Li, Rui; Guo, Shanqing; Duan, Haixin (2024): "MiniCAT: Understanding and Detecting Cross-Page Request Forgery Vulnerabilities in Mini-Programs", in: Proceedings of the ACM SIGSAC Conference on Computer and Communications Security. (DOI)], [12Chen, Pei; Hong, Geng; Qin, Yicheng; Wang, Huazhe; Wu, Mengying; Yang, Min; Zhao, Ziru; Zhu, Yuanpeng; Su, Tao (2026): "When Fun Turns Toxic: A First Look at Aggressive Advertising in Mini-games", in: Proceedings of the USENIX Security Symposium. (Link)] General-purpose and maintained upstream; the mini-program model is each paper's own.
TaintMini, WeMinT mini-program taint analysers none in the corpus (ICSE 2023 [21Wang, Chao; Ko, Ronny; Zhang, Yue; Yang, Yuqing; Lin, Zhiqiang (2023): "TaintMini: Detecting Flow of Sensitive Data in Mini-Programs with Static Taint Analysis", in: Proceedings of the 45th IEEE/ACM International Conference on Software Engineering. (DOI)]; ASE 2023 [22Meng, Shi; Wang, Liu; Wang, Shenao; Wang, Kailong; Xiao, Xusheng; Bai, Guangdong; Wang, Haoyu (2023): "WeMinT: Tainting Sensitive Data Leaks in WeChat Mini-Programs", in: Proceedings of the 38th IEEE/ACM International Conference on Automated Software Engineering. (DOI)]) Code released; TaintMini's README declines to ship an unpacker, WeMinT's bundles one.

Two things a static result cannot see. The package is the front end only: [3Yang, Yuqing; Zhang, Yue; Lin, Zhiqiang (2025): "Understanding Miniapp Malware: Identification, Dissection, and Characterization", in: Proceedings of the Network and Distributed System Security Symposium. (Link)] warns that “the malware may dynamically hide malicious contents without distributing them to the front-end by the time we tested the cases”, and MiniCAT could not analyse mini-programs whose logic lived in WeChat Cloud Development. And packages are obfuscated: [4Zhang, Yue; Turkistani, Bayan; Yang, Allen Yuqing; Zuo, Chaoshun; Lin, Zhiqiang (2021): "A Measurement Study of WeChat Mini-Apps", Proceedings of the ACM on Measurement and Analysis of Computing Systems 5(2). (DOI)] measured obfuscation rates across its crawl, and [20Liu, Kaizheng; Yang, Ming; Ling, Zhen; Zhang, Yue; Lei, Chongqing; Luo, Junzhou; Fu, Xinwen (2024): "RIoTFuzzer: Companion App Assisted Remote Fuzzing for Detecting Vulnerabilities in IoT Devices", in: Proceedings of the ACM SIGSAC Conference on Computer and Communications Security. (DOI)], citing it — “as reported in [45], most mini-apps employ obfuscation techniques” — chose not to analyse the mini-app at all and instrumented the host's Java bridge instead.

Most research groups that publish these tools do not ship unpackers: TaintMini's and MiniCAT's READMEs both say so “due to potential legal implications”, and APIDiff's says the same of its crawlers. WeMinT is the exception: its repository bundles a copy of wxappUnpacker without comment. The reason is in the host's user licence rather than its developer terms: WeChat's Chinese licence forbids reverse-engineering the client (clause 8.2.1.2) and copying, modifying or hooking the data it holds in memory or exchanges with the server, “使用插件、外挂或非经腾讯授权的第三方工具” — using plug-ins or third-party tools Tencent has not authorised (clause 8.2.1.4); the international terms (last modified 2025-11-18) forbid reverse-engineering “WeChat Software”4). Both clauses are about the client, not third-party packages, and the mini-program developer terms contain no reverse-engineering clause; but on our reading, hooking the client with Frida or Xposed, which most dynamic studies here do (Frida in 4 papers, Xposed in 2), is what 8.2.1.4 names. The licence is governed by mainland-Chinese law (clause 12.3), which is the practical fact for a researcher elsewhere. None of the 16 papers quotes or analyses the licence.

Dynamic: instrument the host

Dynamic analysis of a mini-program is dynamic analysis of the host app with the mini-program running inside it, so everything on Mobile and app measurement about rooted handsets, Frida and pinning applies to WeChat, not to the mini-program. What is specific here:

  • Hook the host's JavaScript bridge. Frida is named by 4 of the 16 papers (2023–2025). Xposed — which the parent page rates dead for general app hooking, with its successor LSPosed stalled — is named by 2 (2020, 2022), is what MiniCrawler requires, and is what [16Wei, Zhiao; Wang, Chao; Faheem, Haseeb-Ur-Rehman; Xing, Luyi; Aafer, Yousra; Lin, Zhiqiang (2026): "Raising the Flag: Detecting Missing Permission Controls in Mini-Program APIs", in: Proceedings of the USENIX Security Symposium. (Link)] used in 2026 to hook WeChat's, Alipay's, Baidu's and QQ's bridge classes.
  • The stock emulator images do not run WeChat; others did. A 2025 study of in-app browsers found “WeChat failed to launch even on Android 11 AVDs” and ran it on BlueStacks, “a configuration publicly known to support the app reliably” [23Lee, Woonghee; Hur, Junbeom; Kwon, Hyunsoo (2025): "Deep Dive into In-app Browsers: Uncovering Hidden Pitfalls in Certificate Validation", in: Proceedings of the ACM SIGSAC Conference on Computer and Communications Security. (DOI)]; [2Wang, Mona; Lin, Pellaeon; Knockel, Jeffrey; Greenberg, Will; Mayer, Jonathan; Mittal, Prateek (2025): "What WeChat Knows: Pervasive First-Party Tracking in a Billion-User Super-App Ecosystem", in: Proceedings on Privacy Enhancing Technologies. (DOI)] measured on an Android 14 emulator alongside a rooted Pixel 6. Say which emulator you used; a physical device is the safe budget.
  • The developer tools are not the device. WeChat's own documentation for wx.getUserProfile notes that base libraries 2.10.4–2.16.1 return real user data in DevTools but anonymous data on a real phone5). That is a note about 2021-era base libraries, but the point stands, and a larger one with it: DevTools debugs your own project — its remote debugging packs and uploads the local code, and the release-build debug switch belongs to the mini-program's developer6) — so there is no documented way to attach it to a third-party mini-program. Running unpacked third-party source as a local project under your own AppID is what the tool READMEs imply, not what WeChat documents.
  • Two encryption layers. Mini-program requests to a developer's server are HTTPS, so a trusted root on the device lets a proxy read them ([19He, Yi; Guan, Yunchao; Lun, Ruoyu; Song, Shangru; Guo, Zhihao; Zhuge, Jianwei; Chen, Jianjun; Wei, Qiang; Wu, Zehui; Yu, Miao; Shi, Hetian; Li, Qi (2024): "Demystifying the Security Implications in IoT Device Rental Services", in: Proceedings of the USENIX Security Symposium. (Link)] captured and replayed rental mini-programs' requests with BurpSuite). What WeChat itself sends about mini-program use travels over MMTLS, WeChat's own protocol, which [2Wang, Mona; Lin, Pellaeon; Knockel, Jeffrey; Greenberg, Will; Mayer, Jonathan; Mittal, Prateek (2025): "What WeChat Knows: Pervasive First-Party Tracking in a Billion-User Super-App Ecosystem", in: Proceedings on Privacy Enhancing Technologies. (DOI)] had to reverse-engineer with Frida, Jadx, Ghidra and IDA Pro before those flows could be read.
  • Driving the UI is mostly manual: [2Wang, Mona; Lin, Pellaeon; Knockel, Jeffrey; Greenberg, Will; Mayer, Jonathan; Mittal, Prateek (2025): "What WeChat Knows: Pervasive First-Party Tracking in a Billion-User Super-App Ecosystem", in: Proceedings on Privacy Enhancing Technologies. (DOI)] “decided against further automation” to avoid account bans; [10Shi, Yizhe; Yang, Zhemin; Zhong, Kangwei; Yang, Guangliang; Yang, Yifan; Zhang, Xiaohan; Yang, Min (2025): "The Skeleton Keys: A Large Scale Analysis of Credential Leakage in Mini-apps", in: Proceedings of the Network and Distributed System Security Symposium. (Link)] drives WebView-based mini-apps with Android UI Automator; automated exploration tools such as MiniScope exist in the software-engineering literature, outside these venues.

LLMs have entered as pipeline components, not as classifiers. 2 of the 16 papers use one — ChatGPT to filter candidate bridge functions (2024 [20Liu, Kaizheng; Yang, Ming; Ling, Zhen; Zhang, Yue; Lei, Chongqing; Luo, Junzhou; Fu, Xinwen (2024): "RIoTFuzzer: Companion App Assisted Remote Fuzzing for Detecting Vulnerabilities in IoT Devices", in: Proceedings of the ACM SIGSAC Conference on Computer and Communications Security. (DOI)]) and Gemini to infer hidden cloud-database names (2026 [11Shi, Yizhe; Yang, Zhemin; Liu, Dingyi; Zhong, Kangwei; Dai, Jiarun; Yang, Min (2026): "Better Safe than Sorry: Uncovering the Insecure Resource Management in App-in-App Cloud Services", in: Proceedings of the Network and Distributed System Security Symposium. (Link)]) — and [16Wei, Zhiao; Wang, Chao; Faheem, Haseeb-Ur-Rehman; Xing, Luyi; Aafer, Yousra; Lin, Zhiqiang (2026): "Raising the Flag: Detecting Missing Permission Controls in Mini-Program APIs", in: Proceedings of the USENIX Security Symposium. (Link)], outside the extraction, uses an LLM to generate valid API test cases for about 55 USD. The extraction records classification.method = llm for none of the 16. That is two data points and a CCS 2026 workshop call that now lists “Agentic/LLM-based techniques”, not yet a practice.

The Privacy Side: the Host as First Party

Web tracking measurement looks for third parties. In a super app, the platform itself is the observer, and the flows go to the host's first-party domains through the host's own protocol, where no filter list or third-party classifier (Requests) will flag them.

  • [2Wang, Mona; Lin, Pellaeon; Knockel, Jeffrey; Greenberg, Will; Mayer, Jonathan; Mittal, Prateek (2025): "What WeChat Knows: Pervasive First-Party Tracking in a Billion-User Super-App Ecosystem", in: Proceedings on Privacy Enhancing Technologies. (DOI)] — “Of the 104 Mini Programs we coded, 51 had profile update flows, 85 had search flows, and 96 had browsing flows. 84.3%, 72.9%, and 76.0% of those flows were exfiltrated to WeChat”. Health mini-programs: “we also identified browsing data in 89.7% of the traces we decrypted from 40 health-related Mini Programs”. The authors call this a lower bound — their account limits bias it towards false negatives, and the measurements “reflect a baseline of WeChat analytics' data collection”.
  • [15Cai, Yifeng; Zhang, Ziqi; Yao, Mengyu; Liu, Junlin; Zhao, Xiaoke; Fu, Xinyi; Li, Ruoyu; Liu, Zhe; Chen, Xiangqun; Guo, Yao; Li, Ding (2025): "I Can Tell Your Secrets: Inferring Privacy Attributes from Mini-app Interaction History in Super-apps", in: Proceedings of the USENIX Security Symposium. (Link)] — with AliPay's cooperation, the mini-app usage history a host keeps anyway (which mini-apps, how often, which buttons) predicts users' gender, age, city tier and property ownership; of 31 super apps' privacy policies and terms surveyed, “only one superapp (WeChat) mentions that it collects Mini-H”.
  • Declared privacy is host-enforced. Since late 2023 WeChat has required each mini-program to declare, in its admin console, the personal data it handles, and disables privacy APIs the declaration does not cover; WeChat's own page records that the enforcement date announced as 2023-09-15 was postponed to 2023-10-177). That is a machine-enforced disclosure a behaviour measurement could be compared against, the way Play's Data safety labels are on the parent page; no paper in these venues does so, and we did not establish whether the declaration is fetchable per appid. For policy-text methods see Policies.

The Vulnerability Side

12 of the 16 papers are vulnerability measurements, and they are where the large numbers come from. What a reader has to check in each is which denominator the percentage is over, because the same paper can support two figures an order of magnitude apart:

Finding As the paper reports it Over all it crawled (our arithmetic)
Cross-miniapp request forgery [9Yang, Yuqing; Zhang, Yue; Lin, Zhiqiang (2022): "Cross Miniapp Request Forgery: Root Causes, Attacks, and Vulnerability Detection", in: Proceedings of the ACM SIGSAC Conference on Computer and Communications Security. (DOI)] 50,281 (95.97%) of the 52,394 WeChat miniapps that use cross-miniapp communication 2.0% of 2,571,490
Cross-page request forgery [5Zhang, Zidong; Hou, Qinsheng; Ying, Lingyun; Diao, Wenrui; Gu, Yacong; Li, Rui; Guo, Shanqing; Duan, Haixin (2024): "MiniCAT: Understanding and Detecting Cross-Page Request Forgery Vulnerabilities in Mini-Programs", in: Proceedings of the ACM SIGSAC Conference on Computer and Communications Security. (DOI)] 13,349 (32.0%) of 41,726 analysable 30.2% of 44,273 collected
Credential leakage [10Shi, Yizhe; Yang, Zhemin; Zhong, Kangwei; Yang, Guangliang; Yang, Yifan; Zhang, Xiaohan; Yang, Min (2025): "The Skeleton Keys: A Large Scale Analysis of Credential Leakage in Mini-apps", in: Proceedings of the Network and Distributed System Security Symposium. (Link)] “84,491 credential leaks are detected, spanning over 54,728 mini-apps” 13.6% of 402,527 analysed
Insecure cloud-resource management [11Shi, Yizhe; Yang, Zhemin; Liu, Dingyi; Zhong, Kangwei; Dai, Jiarun; Yang, Min (2026): "Better Safe than Sorry: Uncovering the Insecure Resource Management in App-in-App Cloud Services", in: Proceedings of the Network and Distributed System Security Symposium. (Link)] 2,815 (12.40%) of 22,695 mini-apps using cloud services 0.2% of 1,248,815
AppSecret leakage [6Zhang, Yue; Yang, Yuqing; Lin, Zhiqiang (2023): "Don't Leak Your Keys: Understanding, Measuring, and Exploiting the AppSecret Leaks in Mini-Programs", in: Proceedings of the ACM SIGSAC Conference on Computer and Communications Security. (DOI)]; the same class on WeChat at RAID 2023, outside these venues [24Baskaran, Supraja; Zhao, Lianying; Mannan, Mohammad; Youssef, Amr (2023): "Measuring the Leakage and Exploitability of Authentication Secrets in Super-apps: The WeChat Case", in: Proceedings of the 26th International Symposium on Research in Attacks, Intrusions and Defenses. (DOI)] 40,880 of 3,450,586 1.2%
Hard-coded secrets [18Zhou, Jiawei; Zhang, Zidong; Ying, Lingyun; Chai, Huajun; Cao, Jiuxin; Duan, Haixin (2025): "Hey, Your Secrets Leaked! Detecting and Characterizing Secret Leakage in the Wild", in: Proceedings of the IEEE Symposium on Security and Privacy. (DOI)] “30.08% of 41,719 WeChat MPs contain leaked secrets” —
Evasive malware [3Yang, Yuqing; Zhang, Yue; Lin, Zhiqiang (2025): "Understanding Miniapp Malware: Identification, Dissection, and Characterization", in: Proceedings of the Network and Distributed System Security Symposium. (Link)] 19,905 of 4,595,680 collected —
Aggressive advertising in mini-games [12Chen, Pei; Hong, Geng; Qin, Yicheng; Wang, Huazhe; Wu, Mengying; Yang, Min; Zhao, Ziru; Zhu, Yuanpeng; Su, Tao (2026): "When Fun Turns Toxic: A First Look at Aggressive Advertising in Mini-games", in: Proceedings of the USENIX Security Symposium. (Link)] “49.95% of ad-enabled mini-games” (457 of 915) —

Precision is measured everywhere; recall less often and more weakly. Three deployed-population papers estimate it from a hand sample of unflagged cases — 100 [9Yang, Yuqing; Zhang, Yue; Lin, Zhiqiang (2022): "Cross Miniapp Request Forgery: Root Causes, Attacks, and Vulnerability Detection", in: Proceedings of the ACM SIGSAC Conference on Computer and Communications Security. (DOI)] (“making the FN rate to 2%”), 100 [5Zhang, Zidong; Hou, Qinsheng; Ying, Lingyun; Diao, Wenrui; Gu, Yacong; Li, Rui; Guo, Shanqing; Duan, Haixin (2024): "MiniCAT: Understanding and Detecting Cross-Page Request Forgery Vulnerabilities in Mini-Programs", in: Proceedings of the ACM SIGSAC Conference on Computer and Communications Security. (DOI)], up to 500 per host [10Shi, Yizhe; Yang, Zhemin; Zhong, Kangwei; Yang, Guangliang; Yang, Yifan; Zhang, Xiaohan; Yang, Min (2025): "The Skeleton Keys: A Large Scale Analysis of Credential Leakage in Mini-apps", in: Proceedings of the Network and Distributed System Security Symposium. (Link)] (recall 85.56%) — and two against a labelled ground-truth set ([12Chen, Pei; Hong, Geng; Qin, Yicheng; Wang, Huazhe; Wu, Mengying; Yang, Min; Zhao, Ziru; Zhu, Yuanpeng; Su, Tao (2026): "When Fun Turns Toxic: A First Look at Aggressive Advertising in Mini-games", in: Proceedings of the USENIX Security Symposium. (Link)], recall 83.55% on 371 audited behaviours; [18Zhou, Jiawei; Zhang, Zidong; Ying, Lingyun; Chai, Huajun; Cao, Jiuxin; Duan, Haixin (2025): "Hey, Your Secrets Leaked! Detecting and Characterizing Secret Leakage in the Wild", in: Proceedings of the IEEE Symposium on Security and Privacy. (DOI)], 83.38% on the WeChat part of its benchmark, while its 300-detection field check is precision-only); [3Yang, Yuqing; Zhang, Yue; Lin, Zhiqiang (2025): "Understanding Miniapp Malware: Identification, Dissection, and Characterization", in: Proceedings of the Network and Distributed System Security Symposium. (Link)] samples 500 flagged cases only. [6Zhang, Yue; Yang, Yuqing; Lin, Zhiqiang (2023): "Don't Leak Your Keys: Understanding, Measuring, and Exploiting the AppSecret Leaks in Mini-Programs", in: Proceedings of the ACM SIGSAC Conference on Computer and Communications Security. (DOI)] validates every candidate key against the host, which is why it can claim no false positives — but the oracle is the host's token endpoint, so a “valid” result is a live access token for someone else's backend; the paper states no ethics review, and [10Shi, Yizhe; Yang, Zhemin; Zhong, Kangwei; Yang, Guangliang; Yang, Yifan; Zhang, Xiaohan; Yang, Min (2025): "The Skeleton Keys: A Large Scale Analysis of Credential Leakage in Mini-apps", in: Proceedings of the Network and Distributed System Security Symposium. (Link)] ran the same kind of check under an IRB “minimal risk” finding. Say which you did. Report both directions of the sample, and say that 100 unflagged mini-programs bound recall only loosely.

Accounts, Vantage and Language

Accounts. Most papers test on their own accounts and their own test mini-programs, which is the ethical norm here and also a design constraint: the account's phone number decides what you can see. [2Wang, Mona; Lin, Pellaeon; Knockel, Jeffrey; Greenberg, Will; Mayer, Jonathan; Mittal, Prateek (2025): "What WeChat Knows: Pervasive First-Party Tracking in a Billion-User Super-App Ecosystem", in: Proceedings on Privacy Enhancing Technologies. (DOI)] “purchased Canadian and American phone numbers, which resulted in various restrictions and limitations to our study”, lost 38.8% of its 170 target mini-programs to ID or Chinese-phone verification, and notes “evidence that WeChat behaves differently when registered to a Chinese phone number [55], which may bias our results”. Rental mini-programs require real-name registration and a deposit [19He, Yi; Guan, Yunchao; Lun, Ruoyu; Song, Shangru; Guo, Zhihao; Zhuge, Jianwei; Chen, Jianjun; Wei, Qiang; Wu, Zehui; Yu, Miao; Shi, Hetian; Li, Qi (2024): "Demystifying the Security Implications in IoT Device Rental Services", in: Proceedings of the USENIX Security Symposium. (Link)]. WeChat's login API documents an error for blocking “high-risk” users (40226, on the code2Session page cited above), which a fresh automated research account may trip. Report the account's registration country and verification state.

Vantage. The extraction records no measurement location for 15 of the 16 papers (and has no vantage tuple for the sixteenth), and our reading agrees: beyond the phone-number country [2Wang, Mona; Lin, Pellaeon; Knockel, Jeffrey; Greenberg, Will; Mayer, Jonathan; Mittal, Prateek (2025): "What WeChat Knows: Pervasive First-Party Tracking in a Billion-User Super-App Ecosystem", in: Proceedings on Privacy Enhancing Technologies. (DOI)] reports, none of the 16 says where its crawler or test devices ran, although the host, the filing regime and the content are all mainland-Chinese. Choosing and reporting the vantage point is Crawling location; what a non-Chinese vantage may not be shown is Blocking and geodifference.

Language. Seed keywords, mini-program names, UI text and the host's documentation are Chinese. Only 2 of the 9 deployed-population papers describe how they handled it — Chinese seed characters [6Zhang, Yue; Yang, Yuqing; Lin, Zhiqiang (2023): "Don't Leak Your Keys: Understanding, Measuring, and Exploiting the AppSecret Leaks in Mini-Programs", in: Proceedings of the ACM SIGSAC Conference on Computer and Communications Security. (DOI)] and jieba word segmentation [5Zhang, Zidong; Hou, Qinsheng; Ying, Lingyun; Diao, Wenrui; Gu, Yacong; Li, Rui; Guo, Shanqing; Duan, Haixin (2024): "MiniCAT: Understanding and Detecting Cross-Page Request Forgery Vulnerabilities in Mini-Programs", in: Proceedings of the ACM SIGSAC Conference on Computer and Communications Security. (DOI)] — and the English documentation gap above (570 of 975 APIs in 2021) meant an English-only reading of the host's API surface missed two in five; re-count before relying on the English documentation. Tooling for detecting and translating page language is on Multilingual support.

Beyond WeChat

14 of the 16 papers study WeChat; Baidu appears in 7, Douyin/TikTok in 5, Alipay in 4, QQ in 2. Seven include a host outside those five — LINE and VK ([10Shi, Yizhe; Yang, Zhemin; Zhong, Kangwei; Yang, Guangliang; Yang, Yifan; Zhang, Xiaohan; Yang, Min (2025): "The Skeleton Keys: A Large Scale Analysis of Credential Leakage in Mini-apps", in: Proceedings of the Network and Distributed System Security Symposium. (Link)]: 3,984 and 425 mini-apps; [11Shi, Yizhe; Yang, Zhemin; Liu, Dingyi; Zhong, Kangwei; Dai, Jiarun; Yang, Min (2026): "Better Safe than Sorry: Uncovering the Insecure Resource Management in App-in-App Cloud Services", in: Proceedings of the Network and Distributed System Security Symposium. (Link)]), Facebook Instant Games and QuickGame ([12Chen, Pei; Hong, Geng; Qin, Yicheng; Wang, Huazhe; Wu, Mengying; Yang, Min; Zhao, Ziru; Zhu, Yuanpeng; Su, Tao (2026): "When Fun Turns Toxic: A First Look at Aggressive Advertising in Mini-games", in: Proceedings of the USENIX Security Symposium. (Link)]), IoT all-in-one apps from Xiaomi, JD, Huawei and Tuya ([20Liu, Kaizheng; Yang, Ming; Ling, Zhen; Zhang, Yue; Lei, Chongqing; Luo, Junzhou; Fu, Xinwen (2024): "RIoTFuzzer: Companion App Assisted Remote Fuzzing for Detecting Vulnerabilities in IoT Devices", in: Proceedings of the ACM SIGSAC Conference on Computer and Communications Security. (DOI)]), WeCom ([1Wang, Chao; Zhang, Yue; Lin, Zhiqiang (2023): "Uncovering and Exploiting Hidden APIs in Mobile Super Apps", in: Proceedings of the ACM SIGSAC Conference on Computer and Communications Security. (DOI)]), and the non-Chinese super apps and browsers among the hosts of [14Zhang, Lei; Zhang, Zhibo; Liu, Ancong; Cao, Yinzhi; Zhang, Xiaohan; Chen, Yanjun; Zhang, Yuan; Yang, Guangliang; Yang, Min (2022): "Identity Confusion in WebView-based Mobile App-in-app Ecosystems", in: Proceedings of the USENIX Security Symposium. (Link)] and [13Lu, Haoran; Xing, Luyi; Xiao, Yue; Zhang, Yifan; Liao, Xiaojing; Wang, XiaoFeng; Wang, Xueqiang (2020): "Demystifying Resource Management Risks in Emerging Mobile App-in-App Ecosystems", in: Proceedings of the ACM SIGSAC Conference on Computer and Communications Security. (DOI)]. Non-Chinese hosts are thinly measured:

  • Telegram Mini Apps are not packages at all: Telegram's documentation describes them as JavaScript interfaces “launched right inside Telegram” that “can completely replace any website” — a developer-hosted web page in a WebView, so the methods of Crawler apply and there is nothing to unpack. Every Mini App receives the user's id and first name, and — since Bot API 8.0 (2024-11-17) — the profile photo URL if the user's privacy settings allow it; the documentation warns that the client-side copy of that data “should not be trusted” and must be validated server-side by signature8) — a server that trusts the client copy is the Telegram analogue of the client-side trust failures the WeChat literature measured. No paper in these venues measures them; two arXiv preprints from August 2026, not yet in any venue, have started: plaintext session tokens and wallet phrases in Mini App client storage [25Ciccotelli, Andrea; Zappone, Federico; Di Pietro, Roberto (2026): "TENET: Telegram Mini App (in)security". arXiv:2608.17538. (Link)], and Mini App behaviour against their privacy policies [26Ferrari, Luca; Ceccato, Mariano; Verderame, Luca (2026): "TeleGapper: On the (un)reliability of Privacy Policies in Telegram Mini apps". arXiv:2608.13390. (Link)].
  • TikTok mini games are package-based like WeChat's — TikTok's documentation says the app “selects an available version and obtains its code package” and executes JavaScript or WebAssembly — and are offered in a list of markets that includes the United States, Japan, Brazil and Southeast Asia but no EU country9). The corpus has no measurement of them; [12Chen, Pei; Hong, Geng; Qin, Yicheng; Wang, Huazhe; Wu, Mengying; Yang, Min; Zhao, Ziru; Zhu, Yuanpeng; Su, Tao (2026): "When Fun Turns Toxic: A First Look at Aggressive Advertising in Mini-games", in: Proceedings of the USENIX Security Symposium. (Link)] covers WeChat, Facebook Instant Games and QuickGame.
  • Other hosts with mini-program platforms — Snapchat, LINE, Grab and others — are named in the papers' introductions and the SaTS workshop's call; beyond the two LINE/VK corpora above, the corpus has no measurement of them.

Ethics and Disclosure

All 16 papers notified someone — the host vendor in 13, mini-program developers in 5 — and 5 report a bug bounty and 3 CVE assignments. Only 3 of 16 state an ethics-board approval ([10Shi, Yizhe; Yang, Zhemin; Zhong, Kangwei; Yang, Guangliang; Yang, Yifan; Zhang, Xiaohan; Yang, Min (2025): "The Skeleton Keys: A Large Scale Analysis of Credential Leakage in Mini-apps", in: Proceedings of the Network and Distributed System Security Symposium. (Link)] and [11Shi, Yizhe; Yang, Zhemin; Liu, Dingyi; Zhong, Kangwei; Dai, Jiarun; Yang, Min (2026): "Better Safe than Sorry: Uncovering the Insecure Resource Management in App-in-App Cloud Services", in: Proceedings of the Network and Distributed System Security Symposium. (Link)] “minimal risk”, and AliPay's own IRB for [15Cai, Yifeng; Zhang, Ziqi; Yao, Mengyu; Liu, Junlin; Zhao, Xiaoke; Fu, Xinyi; Li, Ruoyu; Liu, Zhe; Chen, Xiangqun; Guo, Yao; Li, Ding (2025): "I Can Tell Your Secrets: Inferring Privacy Attributes from Mini-app Interaction History in Super-apps", in: Proceedings of the USENIX Security Symposium. (Link)]), against 33.8% of all empirical papers in the corpus and 28.2% of app-analysis papers; with 16 papers, read that as a count, not a rate. The field's working norms are consistent and worth copying:

  • Attack only your own accounts, devices and test mini-programs; never publish a malicious mini-program to the store ([1Wang, Chao; Zhang, Yue; Lin, Zhiqiang (2023): "Uncovering and Exploiting Hidden APIs in Mobile Super Apps", in: Proceedings of the ACM SIGSAC Conference on Computer and Communications Security. (DOI)]: “We have never uploaded our malicious miniapps onto the markets to harm other users”).
  • Rate-limit the host: six requests per minute [6Zhang, Yue; Yang, Yuqing; Lin, Zhiqiang (2023): "Don't Leak Your Keys: Understanding, Measuring, and Exploiting the AppSecret Leaks in Mini-Programs", in: Proceedings of the ACM SIGSAC Conference on Computer and Communications Security. (DOI)], twenty [5Zhang, Zidong; Hou, Qinsheng; Ying, Lingyun; Diao, Wenrui; Gu, Yacong; Li, Rui; Guo, Shanqing; Duan, Haixin (2024): "MiniCAT: Understanding and Detecting Cross-Page Request Forgery Vulnerabilities in Mini-Programs", in: Proceedings of the ACM SIGSAC Conference on Computer and Communications Security. (DOI)], “a few seconds per miniapp” [3Yang, Yuqing; Zhang, Yue; Lin, Zhiqiang (2025): "Understanding Miniapp Malware: Identification, Dissection, and Characterization", in: Proceedings of the Network and Distributed System Security Symposium. (Link)].
  • Probe without reading: [11Shi, Yizhe; Yang, Zhemin; Liu, Dingyi; Zhong, Kangwei; Dai, Jiarun; Yang, Min (2026): "Better Safe than Sorry: Uncovering the Insecure Resource Management in App-in-App Cloud Services", in: Proceedings of the Network and Distributed System Security Symposium. (Link)] inferred which cloud resources were exposed “without accessing the cloud data”. Validating a leaked secret against the host is the opposite — it uses the secret — and needs saying (see The Vulnerability Side).
  • Gate what you release: malware and leaked-secret corpora are served on request, with identity verification, not posted.
  • Tell the developers, not only the host: [5Zhang, Zidong; Hou, Qinsheng; Ying, Lingyun; Diao, Wenrui; Gu, Yacong; Li, Rui; Guo, Shanqing; Duan, Haixin (2024): "MiniCAT: Understanding and Detecting Cross-Page Request Forgery Vulnerabilities in Mini-Programs", in: Proceedings of the ACM SIGSAC Conference on Computer and Communications Security. (DOI)] found contacts for “248/316 (78.5%)” of its confirmed cases and emailed them; [11Shi, Yizhe; Yang, Zhemin; Liu, Dingyi; Zhong, Kangwei; Dai, Jiarun; Yang, Min (2026): "Better Safe than Sorry: Uncovering the Insecure Resource Management in App-in-App Cloud Services", in: Proceedings of the Network and Distributed System Security Symposium. (Link)] emailed 1,869 and reports that 893 fixed the issue or took the mini-program down.

What the papers do not analyse is the host's terms. Searching the host at scale, downloading or caching third-party packages, and (in most dynamic studies) hooking the client are how these corpora were built, and WeChat's user licence forbids hooking the client with unauthorised tools (see Static and Dynamic Analysis). None of the 16 quotes or analyses the licence; [12Chen, Pei; Hong, Geng; Qin, Yicheng; Wang, Huazhe; Wu, Mengying; Yang, Min; Zhao, Ziru; Zhu, Yuanpeng; Su, Tao (2026): "When Fun Turns Toxic: A First Look at Aggressive Advertising in Mini-games", in: Proceedings of the USENIX Security Symposium. (Link)] asserts that its public-source crawl ensured “compliance with platform policies” without saying which, and two others assert compliance with laws or a vendor's bug-bounty plan. See Ethics and Notifying websites.

Use in Publications

All figures below come from the publication corpus of seven venues (CCS, IMC, NDSS, PETS, USENIX Security, TheWebConf, IEEE S&P), 2010–2026, 5,859 extracted papers of which 5,855 have extractable full text. The script is scripts/report_mini_programs.mjs; its unedited output, every probe, all 57 verdicts and the hand codes are on mini_programs.

The inclusion rule, and what the name counts find

A paper counts if mini-programs, or the host's mini-program framework and its APIs, are measured or analysed — core if they are the main object, section if they are one analysed population among several. WeChat or Alipay as a messenger, payment method, attack target, dataset owner or recruitment channel does not count, nor do mentions in related work.

The candidate set is the union of five probes over whitespace-collapsed full text and the extraction schema: the 2026-09-22 gap pass's rule (mini-?programs?|WeChat, case-insensitive, at least ten hits); the ecosystem vocabulary (mini-program, mini-app, mini-game, super app, app-in-app) at least three times; the WeChat package and markup names (wxapkg, WXML, WXSS, wx.* APIs) once; Telegram/Snap/LINE mini-app product names once; or the vocabulary or a host name in a paper's title, population sources, measured phenomena, tools or classifier resources — 57 papers. The 16 that looked like mini-program studies were read in full; the other 41 were decided from the sentence around every hit. A recall probe outside the set (applet, light app, quick app, H5, host app, sub-app, JSBridge, with a host name) surfaced six papers: five use “host app” for an app embedding an SDK and were dismissed from context; one was read in full and is not about mini-programs.

Verdict Papers
mini-programs or host framework — core 13
mini-programs — section 3
adjacent: a host app's own feature (in-app browser, face verification) 3
adjacent: mini-program source code on GitHub 1
not about mini-programs: WeChat/Alipay as messenger, contact point, payment method or login target 10
not about mini-programs: related-work or passing mention 9
not about mini-programs: the super app analysed as an ordinary app 5
not about mini-programs: a dataset supplied by the host operator 4
not about mini-programs: homograph (“MiniApps” the token, “In-App” purchases, miniapps.ai) 4
not about mini-programs: WeChat used to recruit participants 3
not about mini-programs: the host's SDK inside ordinary apps 2
Probe Papers Of them in the population Precision Recall (of 16)
the gap pass's rule: “mini-program” or “WeChat” ≥ 10 hits 37 15 40.5% 93.8%
WeChat or Weixin ≥ 10 31 12 38.7% 75.0%
ecosystem vocabulary ≥ 3 30 16 53.3% 100%
the title names the ecosystem 12 12 100% 75.0%
this page's candidate set 57 16 28.1% 100%

The gap rule misses one paper, [20Liu, Kaizheng; Yang, Ming; Ling, Zhen; Zhang, Yue; Lei, Chongqing; Luo, Junzhou; Fu, Xinwen (2024): "RIoTFuzzer: Companion App Assisted Remote Fuzzing for Detecting Vulnerabilities in IoT Devices", in: Proceedings of the ACM SIGSAC Conference on Computer and Communications Security. (DOI)], whose IoT host apps are not WeChat and which says “mini-app”. The ecosystem vocabulary alone finds all 16, at 53.3% precision against the gap rule's 40.5%; the recall of the candidate set is 100% by construction against the population it produced.

Three mini-program papers from these venues are not in the extraction, and are cited on this page but not counted in any figure. [16Wei, Zhiao; Wang, Chao; Faheem, Haseeb-Ur-Rehman; Xing, Luyi; Aafer, Yousra; Lin, Zhiqiang (2026): "Raising the Flag: Detecting Missing Permission Controls in Mini-Program APIs", in: Proceedings of the USENIX Security Symposium. (Link)] (USENIX Security 2026) passed screening but its PDF was never retrieved; it was read in full from the USENIX copy. [27Shi, Yizhe; Yang, Zhemin; Yang, Yifan; Yang, Yunteng; Yang, Min (2026): "Convenience at a Cost: the Security Risks of Template-Based Development in the App-in-App Ecosystem", in: Proceedings of the IEEE Symposium on Security and Privacy. (DOI)] (IEEE S&P 2026) and [17Yang, Yuqing; Lin, Zhiqiang (2026): "Real or Rogue? Detecting Malicious Miniapps with Deceptive Reporting Interface", in: Proceedings of the ACM Web Conference. (DOI)] (TheWebConf 2026) were never screened, because OpenAlex has no abstracts for those venue-years (corpus); both are cited from their abstracts only. The CCS workshop proceedings (SaTS 2023–2025) are in the venue index as front matter and correctly screened out. A CCS 2026 paper on OAuth misuse in mini-programs [28Zhang, Zidong; Xie, Zhentao; Ying, Lingyun; Hou, Qinsheng; Gu, Yacong; Diao, Wenrui; Wu, Jianliang (2026): "Mini-Programs, Mega-Problems: Unveiling OAuth-based Authentication Misuses in Mini-Programs via Dynamic Analysis". arXiv:2607.08232, accepted at ACM CCS 2026. (Link)] is an arXiv preprint; CCS 2026 has not been held.

The papers

Year Venue Paper Unit Hosts Collected → analysed How obtained
2020 CCS [13Lu, Haoran; Xing, Luyi; Xiao, Yue; Zhang, Yifan; Liao, Xiaojing; Wang, XiaoFeng; Wang, Xueqiang (2020): "Demystifying Resource Management Risks in Emerging Mobile App-in-App Ecosystems", in: Proceedings of the ACM SIGSAC Conference on Computer and Communications Security. (DOI)] host framework 11 hosts incl. WeChat, QQ, Baidu, Douyin 927 sub-app APIs own test sub-apps, Xposed
2022 CCS [9Yang, Yuqing; Zhang, Yue; Lin, Zhiqiang (2022): "Cross Miniapp Request Forgery: Root Causes, Attacks, and Vulnerability Detection", in: Proceedings of the ACM SIGSAC Conference on Computer and Communications Security. (DOI)] deployed WeChat, Baidu 2,571,490 + 148,512 MiniCrawler
2022 USENIX Sec [14Zhang, Lei; Zhang, Zhibo; Liu, Ancong; Cao, Yinzhi; Zhang, Xiaohan; Chen, Yanjun; Zhang, Yuan; Yang, Guangliang; Yang, Min (2022): "Identity Confusion in WebView-based Mobile App-in-app Ecosystems", in: Proceedings of the USENIX Security Symposium. (Link)] host framework 47 super apps incl. WeChat, Alipay, Baidu, TikTok 6,000 Android apps → 47 app-store crawl, Xposed
2023 CCS [6Zhang, Yue; Yang, Yuqing; Lin, Zhiqiang (2023): "Don't Leak Your Keys: Understanding, Measuring, and Exploiting the AppSecret Leaks in Mini-Programs", in: Proceedings of the ACM SIGSAC Conference on Computer and Communications Security. (DOI)] deployed WeChat, Baidu 3,450,586 + 171,989 reverse-engineered search API
2023 CCS [1Wang, Chao; Zhang, Yue; Lin, Zhiqiang (2023): "Uncovering and Exploiting Hidden APIs in Mobile Super Apps", in: Proceedings of the ACM SIGSAC Conference on Computer and Communications Security. (DOI)] host framework WeChat, WeCom, QQ, Baidu, TikTok 1,829 API candidates; 267,359 miniapps documentation, Soot, Frida, MiniCrawler
2023 USENIX Sec [7Wang, Chao; Zhang, Yue; Lin, Zhiqiang (2023): "One Size Does Not Fit All: Uncovering and Exploiting Cross Platform Discrepant APIs in WeChat", in: Proceedings of the USENIX Security Symposium. (Link)] host framework WeChat (Windows, Android, iOS) 1,031 documented APIs documentation, own test miniapps, Frida
2024 CCS [5Zhang, Zidong; Hou, Qinsheng; Ying, Lingyun; Diao, Wenrui; Gu, Yacong; Li, Rui; Guo, Shanqing; Duan, Haixin (2024): "MiniCAT: Understanding and Detecting Cross-Page Request Forgery Vulnerabilities in Mini-Programs", in: Proceedings of the ACM SIGSAC Conference on Computer and Communications Security. (DOI)] deployed WeChat 44,273 → 41,726 desktop client cache
2024 CCS [20Liu, Kaizheng; Yang, Ming; Ling, Zhen; Zhang, Yue; Lei, Chongqing; Luo, Junzhou; Fu, Xinwen (2024): "RIoTFuzzer: Companion App Assisted Remote Fuzzing for Detecting Vulnerabilities in IoT Devices", in: Proceedings of the ACM SIGSAC Conference on Computer and Communications Security. (DOI)] (section) host framework Xiaomi, JD, Huawei, Tuya 27 devices purchased devices, Frida
2024 USENIX Sec [19He, Yi; Guan, Yunchao; Lun, Ruoyu; Song, Shangru; Guo, Zhihao; Zhuge, Jianwei; Chen, Jianjun; Wei, Qiang; Wu, Zehui; Yu, Miao; Shi, Hetian; Li, Qi (2024): "Demystifying the Security Implications in IoT Device Rental Services", in: Proceedings of the USENIX Security Symposium. (Link)] (section) deployed WeChat 75 keyword search, QR codes
2025 IEEE S&P [18Zhou, Jiawei; Zhang, Zidong; Ying, Lingyun; Chai, Huajun; Cao, Jiuxin; Duan, Haixin (2025): "Hey, Your Secrets Leaked! Detecting and Characterizing Secret Leakage in the Wild", in: Proceedings of the IEEE Symposium on Security and Privacy. (DOI)] (section) deployed WeChat 41,719 built on the MiniCAT crawler
2025 NDSS [3Yang, Yuqing; Zhang, Yue; Lin, Zhiqiang (2025): "Understanding Miniapp Malware: Identification, Dissection, and Characterization", in: Proceedings of the Network and Distributed System Security Symposium. (Link)] deployed WeChat 4,595,680 MiniCrawler, store revisits
2025 NDSS [10Shi, Yizhe; Yang, Zhemin; Zhong, Kangwei; Yang, Guangliang; Yang, Yifan; Zhang, Xiaohan; Yang, Min (2025): "The Skeleton Keys: A Large Scale Analysis of Credential Leakage in Mini-apps", in: Proceedings of the Network and Distributed System Security Symposium. (Link)] deployed WeChat, Baidu, Alipay, TikTok, LINE, VK 413,775 → 402,527 extended MiniCrawler
2025 PETS [2Wang, Mona; Lin, Pellaeon; Knockel, Jeffrey; Greenberg, Will; Mayer, Jonathan; Mittal, Prateek (2025): "What WeChat Knows: Pervasive First-Party Tracking in a Billion-User Super-App Ecosystem", in: Proceedings on Privacy Enhancing Technologies. (DOI)] host telemetry WeChat 170 → 104 rankings, manual search
2025 USENIX Sec [15Cai, Yifeng; Zhang, Ziqi; Yao, Mengyu; Liu, Junlin; Zhao, Xiaoke; Fu, Xinyi; Li, Ruoyu; Liu, Zhe; Chen, Xiangqun; Guo, Yao; Li, Ding (2025): "I Can Tell Your Secrets: Inferring Privacy Attributes from Mini-app Interaction History in Super-apps", in: Proceedings of the USENIX Security Symposium. (Link)] operator logs Alipay 288,895 users → 219,826 the operator
2026 NDSS [11Shi, Yizhe; Yang, Zhemin; Liu, Dingyi; Zhong, Kangwei; Dai, Jiarun; Yang, Min (2026): "Better Safe than Sorry: Uncovering the Insecure Resource Management in App-in-App Cloud Services", in: Proceedings of the Network and Distributed System Security Symposium. (Link)] deployed four hosts (+ LINE, VK) 1,248,815 → 22,695 earlier papers' methods
2026 USENIX Sec [12Chen, Pei; Hong, Geng; Qin, Yicheng; Wang, Huazhe; Wu, Mengying; Yang, Min; Zhao, Ziru; Zhu, Yuanpeng; Su, Tao (2026): "When Fun Turns Toxic: A First Look at Aggressive Advertising in Mini-games", in: Proceedings of the USENIX Security Symposium. (Link)] deployed WeChat, Facebook, QuickGame 6,769 → 2,076 miniCrawler, audit cases

Methodology and limitations of these figures

Every probe, the inclusion rule, all 57 verdicts with a one-line reason, the 16 papers' hand codes, the precision and recall arithmetic, the quote checks and the external sources with their fetch dates are on mini_programs. Corpus-level caveats — the seven-venue scope, the provisional 2025–2026 slice, extraction stability — are on corpus.

  • 16 is a count for seven venues, not for the field. ICSE, ASE, ISSTA, TOSEM, RAID and the SaTS workshop publish much of the mini-program tooling; none is in the corpus.
  • 2025–2026 is provisional. CCS 2026 and IMC 2026 have not been held; IEEE S&P 2026 and TheWebConf 2026 are under-selected by construction, which is exactly why two of the three papers outside the extraction are from those venue-years. “10 of 16 from 2024–2026” is a floor.
  • The hand codes are one reader's coding of what each paper states. “Not stated” means the paper does not say, not that it was not done. The papers were read by four sub-agents whose notes were machine-checked against the text; every quote on this page was re-checked against the paper by scripts/verify_mini_programs_figures.mjs.
  • Figures “our arithmetic” are divisions of two numbers the paper prints, computed in the report's Y block; the papers do not print them.
  • Tool and repository states were fetched on 2026-09-27 through the GitHub API and will drift.

Which Methods Are Current

Read as of 2026-09-27. The corpus is 16 papers, 2020–2026, so each status rests on a handful of papers and on the tools' own repositories; the years are listed so you can see how thin each is.

Practice Status Evidence
Crawl WeChat with MiniCrawler Historical as published. Named in 2022, 2023, 2025, 2025, 2026; code last changed 2021-06-29 and pinned to WeChat 7.0.19/7.0.20 with Xposed; batch appid queries reported blocked in one 2024 paper; two later papers (2025, 2026) name it or its extension for undated crawls, a third (2026) reuses the method
Crawl through the desktop client cache with GUI automation and Chinese keyword segmentation Current: the most recent route documented in these venues. 2024, and 2025 building on it; limited by the client's own compatibility
Use a gated research corpus instead of crawling Available, untried in these venues. OSU MiniSec datasets live on 2026-09-27; institutional authentication required; samples from a 2020–2022 crawl, 7.8% of which was delisted by the end of 2022
Query the regulator's filing system as a population frame Untried. Mandatory filing since 2023–2024; no paper uses it; bulk access not established
Unpack with wxappUnpacker Superseded. Archived; last commit 2020-04-18; fails on newer base libraries (2024)
Unpack with wux1an/wxapkg or wedecode Current, unvalidated in the literature. Releases/commits in 2026; no corpus paper names either. KillWxapkg, the most-starred, has not changed since 2024-09-20
General JS analysers (CodeQL, JAW, DoubleX, WALA) with a mini-program model Current. 2022–2026; each paper builds its own model of the host APIs
Hook the host with Frida Current. 2023–2025, 4 papers
Hook the host's bridge with Xposed Still used here, unlike general app hooking. 2020, 2022, and [16Wei, Zhiao; Wang, Chao; Faheem, Haseeb-Ur-Rehman; Xing, Luyi; Aafer, Yousra; Lin, Zhiqiang (2026): "Raising the Flag: Detecting Missing Permission Controls in Mini-Program APIs", in: Proceedings of the USENIX Security Symposium. (Link)] in 2026
Run WeChat on an emulator Mixed. Stock Android 11/15 AVDs would not launch it; BlueStacks and an Android 14 emulator were used (2025). Name the emulator
Treat DevTools as the device Documented to differ; and it cannot open a third-party mini-program. WeChat documents DevTools returning real data where devices returned anonymous data (2021-era base libraries); remote debugging uploads your own code
Validate with a hand sample of flagged and unflagged cases Current norm. 100 + 100 (2022, 2024), up to 500 + 500 (2025); a labelled ground-truth set twice (2025, 2026)
Validate against the host's own oracle (key-validation API) Best precision where it exists; the check is itself a use of the leaked credential. 2023, and a similar check in 2025 under IRB review
LLMs in the pipeline New, not yet a practice. 2 of 16 (2024, 2026) as components; one more outside the extraction (2026); none as a classifier
Measure non-Chinese hosts (Telegram Mini Apps, Snap, LINE) Open. 2 corpora of LINE/VK (2025, 2026); Telegram Mini Apps only in two August 2026 preprints

What to Report

  1. The host, its version and build, the OS, and the date — per platform build if you ran more than one. None of the 9 deployed-population papers states a host-app or base-library version.
  2. The acquisition route: tool, seed keywords (and their language), rate limit, dates of collection, storage, and the account(s) used, with the phone number's country and verification state.
  3. The unit: appid, package version, sub-packages, pages, engine; and how you deduplicated.
  4. Attrition, numerically: found → downloaded → unpacked → analysable → timed out → analysed, with the reason at each step. Put every percentage over a named stage.
  5. What your population cannot be compared to: the host publishes no count; say so rather than citing a “4 million”.
  6. The unpacker and analyser with versions, and how you checked the unpacker's output.
  7. For dynamic work: device, root method, instrumentation, whether the mini-program ran on a device or in DevTools, and how you drove it.
  8. Validation in both directions — flagged and unflagged samples, their sizes, and who labelled them (Interrater agreement).
  9. Ethics: own accounts only, rate limits, whether you read any data belonging to others, who you notified and their response (Ethics).
  10. Artefacts: the appid list at minimum, even if the packages cannot be shared (Artifacts); 11 of the 16 papers release code or a gated dataset.

Open Questions

  • No host publishes a count you can use as a denominator. Every denominator is “what we crawled”; the figures quoted for WeChat's total are citations of secondary sources, and Tencent's 2025 annual and 2026 quarterly results we read publish none. The regulator's mandatory filing records are a candidate frame, if they can be enumerated, that no paper in these venues has tried.
  • Nobody knows which crawling routes still work. MiniCrawler's batch appid route was reported blocked in 2024 while later papers still name it, and the desktop-cache route depends on one client's behaviour. A maintained, documented acquisition method would unblock the whole field.
  • What a host learns is measured once from the network side ([2Wang, Mona; Lin, Pellaeon; Knockel, Jeffrey; Greenberg, Will; Mayer, Jonathan; Mittal, Prateek (2025): "What WeChat Knows: Pervasive First-Party Tracking in a Billion-User Super-App Ecosystem", in: Proceedings on Privacy Enhancing Technologies. (DOI)]: one host, 104 popular mini-programs, non-Chinese accounts) and once from the operator's own logs ([15Cai, Yifeng; Zhang, Ziqi; Yao, Mengyu; Liu, Junlin; Zhao, Xiaoke; Fu, Xinyi; Li, Ruoyu; Liu, Zhe; Chen, Xiangqun; Guo, Yao; Li, Ding (2025): "I Can Tell Your Secrets: Inferring Privacy Attributes from Mini-app Interaction History in Super-apps", in: Proceedings of the USENIX Security Symposium. (Link)], with the operator's cooperation). Alipay and Baidu advertise similar default analytics; nobody has measured them from outside.
  • Declared versus actual privacy. WeChat enforces a per-mini-program privacy declaration; comparing it with observed API use would be the mini-program analogue of the Data safety label studies on Mobile and app measurement.
  • Telegram Mini Apps are unmeasured in these venues. Two August 2026 preprints ([25Ciccotelli, Andrea; Zappone, Federico; Di Pietro, Roberto (2026): "TENET: Telegram Mini App (in)security". arXiv:2608.17538. (Link)], [26Ferrari, Luca; Ceccato, Mariano; Verderame, Luca (2026): "TeleGapper: On the (un)reliability of Privacy Policies in Telegram Mini apps". arXiv:2608.13390. (Link)]) are the first measurements we found anywhere; a population method for a host whose mini-apps are ordinary web pages is still to be written.
  • Recall. Every detector here reports precision; recall comes from hand samples of 100 to 500 unflagged mini-programs in three papers and from a labelled benchmark in two. None measures recall against an independent ground truth at the scale of its crawl.

References

[1]
Wang, Chao; Zhang, Yue; Lin, Zhiqiang (2023): "Uncovering and Exploiting Hidden APIs in Mobile Super Apps", in: Proceedings of the ACM SIGSAC Conference on Computer and Communications Security. (DOI)
[2]
Wang, Mona; Lin, Pellaeon; Knockel, Jeffrey; Greenberg, Will; Mayer, Jonathan; Mittal, Prateek (2025): "What WeChat Knows: Pervasive First-Party Tracking in a Billion-User Super-App Ecosystem", in: Proceedings on Privacy Enhancing Technologies. (DOI)
[3]
Yang, Yuqing; Zhang, Yue; Lin, Zhiqiang (2025): "Understanding Miniapp Malware: Identification, Dissection, and Characterization", in: Proceedings of the Network and Distributed System Security Symposium. (Link)
[4]
Zhang, Yue; Turkistani, Bayan; Yang, Allen Yuqing; Zuo, Chaoshun; Lin, Zhiqiang (2021): "A Measurement Study of WeChat Mini-Apps", Proceedings of the ACM on Measurement and Analysis of Computing Systems 5(2). (DOI)
[5]
Zhang, Zidong; Hou, Qinsheng; Ying, Lingyun; Diao, Wenrui; Gu, Yacong; Li, Rui; Guo, Shanqing; Duan, Haixin (2024): "MiniCAT: Understanding and Detecting Cross-Page Request Forgery Vulnerabilities in Mini-Programs", in: Proceedings of the ACM SIGSAC Conference on Computer and Communications Security. (DOI)
[6]
Zhang, Yue; Yang, Yuqing; Lin, Zhiqiang (2023): "Don't Leak Your Keys: Understanding, Measuring, and Exploiting the AppSecret Leaks in Mini-Programs", in: Proceedings of the ACM SIGSAC Conference on Computer and Communications Security. (DOI)
[7]
Wang, Chao; Zhang, Yue; Lin, Zhiqiang (2023): "One Size Does Not Fit All: Uncovering and Exploiting Cross Platform Discrepant APIs in WeChat", in: Proceedings of the USENIX Security Symposium. (Link)
[8]
Yang, Yuqing; Wang, Chao; Zhang, Yue; Lin, Zhiqiang (2023): "SoK: Decoding the Super App Enigma: The Security Mechanisms, Threats, and Trade-offs in OS-alike Apps". arXiv:2306.07495. (Link)
[9]
Yang, Yuqing; Zhang, Yue; Lin, Zhiqiang (2022): "Cross Miniapp Request Forgery: Root Causes, Attacks, and Vulnerability Detection", in: Proceedings of the ACM SIGSAC Conference on Computer and Communications Security. (DOI)
[10]
Shi, Yizhe; Yang, Zhemin; Zhong, Kangwei; Yang, Guangliang; Yang, Yifan; Zhang, Xiaohan; Yang, Min (2025): "The Skeleton Keys: A Large Scale Analysis of Credential Leakage in Mini-apps", in: Proceedings of the Network and Distributed System Security Symposium. (Link)
[11]
Shi, Yizhe; Yang, Zhemin; Liu, Dingyi; Zhong, Kangwei; Dai, Jiarun; Yang, Min (2026): "Better Safe than Sorry: Uncovering the Insecure Resource Management in App-in-App Cloud Services", in: Proceedings of the Network and Distributed System Security Symposium. (Link)
[12]
Chen, Pei; Hong, Geng; Qin, Yicheng; Wang, Huazhe; Wu, Mengying; Yang, Min; Zhao, Ziru; Zhu, Yuanpeng; Su, Tao (2026): "When Fun Turns Toxic: A First Look at Aggressive Advertising in Mini-games", in: Proceedings of the USENIX Security Symposium. (Link)
[13]
Lu, Haoran; Xing, Luyi; Xiao, Yue; Zhang, Yifan; Liao, Xiaojing; Wang, XiaoFeng; Wang, Xueqiang (2020): "Demystifying Resource Management Risks in Emerging Mobile App-in-App Ecosystems", in: Proceedings of the ACM SIGSAC Conference on Computer and Communications Security. (DOI)
[14]
Zhang, Lei; Zhang, Zhibo; Liu, Ancong; Cao, Yinzhi; Zhang, Xiaohan; Chen, Yanjun; Zhang, Yuan; Yang, Guangliang; Yang, Min (2022): "Identity Confusion in WebView-based Mobile App-in-app Ecosystems", in: Proceedings of the USENIX Security Symposium. (Link)
[15]
Cai, Yifeng; Zhang, Ziqi; Yao, Mengyu; Liu, Junlin; Zhao, Xiaoke; Fu, Xinyi; Li, Ruoyu; Liu, Zhe; Chen, Xiangqun; Guo, Yao; Li, Ding (2025): "I Can Tell Your Secrets: Inferring Privacy Attributes from Mini-app Interaction History in Super-apps", in: Proceedings of the USENIX Security Symposium. (Link)
[16]
Wei, Zhiao; Wang, Chao; Faheem, Haseeb-Ur-Rehman; Xing, Luyi; Aafer, Yousra; Lin, Zhiqiang (2026): "Raising the Flag: Detecting Missing Permission Controls in Mini-Program APIs", in: Proceedings of the USENIX Security Symposium. (Link)
[17]
Yang, Yuqing; Lin, Zhiqiang (2026): "Real or Rogue? Detecting Malicious Miniapps with Deceptive Reporting Interface", in: Proceedings of the ACM Web Conference. (DOI)
[18]
Zhou, Jiawei; Zhang, Zidong; Ying, Lingyun; Chai, Huajun; Cao, Jiuxin; Duan, Haixin (2025): "Hey, Your Secrets Leaked! Detecting and Characterizing Secret Leakage in the Wild", in: Proceedings of the IEEE Symposium on Security and Privacy. (DOI)
[19]
He, Yi; Guan, Yunchao; Lun, Ruoyu; Song, Shangru; Guo, Zhihao; Zhuge, Jianwei; Chen, Jianjun; Wei, Qiang; Wu, Zehui; Yu, Miao; Shi, Hetian; Li, Qi (2024): "Demystifying the Security Implications in IoT Device Rental Services", in: Proceedings of the USENIX Security Symposium. (Link)
[20]
Liu, Kaizheng; Yang, Ming; Ling, Zhen; Zhang, Yue; Lei, Chongqing; Luo, Junzhou; Fu, Xinwen (2024): "RIoTFuzzer: Companion App Assisted Remote Fuzzing for Detecting Vulnerabilities in IoT Devices", in: Proceedings of the ACM SIGSAC Conference on Computer and Communications Security. (DOI)
[21]
Wang, Chao; Ko, Ronny; Zhang, Yue; Yang, Yuqing; Lin, Zhiqiang (2023): "TaintMini: Detecting Flow of Sensitive Data in Mini-Programs with Static Taint Analysis", in: Proceedings of the 45th IEEE/ACM International Conference on Software Engineering. (DOI)
[22]
Meng, Shi; Wang, Liu; Wang, Shenao; Wang, Kailong; Xiao, Xusheng; Bai, Guangdong; Wang, Haoyu (2023): "WeMinT: Tainting Sensitive Data Leaks in WeChat Mini-Programs", in: Proceedings of the 38th IEEE/ACM International Conference on Automated Software Engineering. (DOI)
[23]
Lee, Woonghee; Hur, Junbeom; Kwon, Hyunsoo (2025): "Deep Dive into In-app Browsers: Uncovering Hidden Pitfalls in Certificate Validation", in: Proceedings of the ACM SIGSAC Conference on Computer and Communications Security. (DOI)
[24]
Baskaran, Supraja; Zhao, Lianying; Mannan, Mohammad; Youssef, Amr (2023): "Measuring the Leakage and Exploitability of Authentication Secrets in Super-apps: The WeChat Case", in: Proceedings of the 26th International Symposium on Research in Attacks, Intrusions and Defenses. (DOI)
[25]
Ciccotelli, Andrea; Zappone, Federico; Di Pietro, Roberto (2026): "TENET: Telegram Mini App (in)security". arXiv:2608.17538. (Link)
[26]
Ferrari, Luca; Ceccato, Mariano; Verderame, Luca (2026): "TeleGapper: On the (un)reliability of Privacy Policies in Telegram Mini apps". arXiv:2608.13390. (Link)
[27]
Shi, Yizhe; Yang, Zhemin; Yang, Yifan; Yang, Yunteng; Yang, Min (2026): "Convenience at a Cost: the Security Risks of Template-Based Development in the App-in-App Ecosystem", in: Proceedings of the IEEE Symposium on Security and Privacy. (DOI)
[28]
Zhang, Zidong; Xie, Zhentao; Ying, Lingyun; Hou, Qinsheng; Gu, Yacong; Diao, Wenrui; Wu, Jianliang (2026): "Mini-Programs, Mega-Problems: Unveiling OAuth-based Authentication Misuses in Mini-Programs via Dynamic Analysis". arXiv:2607.08232, accepted at ACM CCS 2026. (Link)
1)
WeChat developer documentation, network capability page, https://developers.weixin.qq.com/miniprogram/dev/framework/ability/network.html, fetched 2026-09-27; quotes on the provenance page.
2)
WeChat server API documentation, code2Session, https://developers.weixin.qq.com/miniprogram/dev/server/API/user-login/api_code2session.html, fetched 2026-09-27.
3)
MIIT notice 工信部信管〔2023〕105号, dated 2023-07-21, published 2023-08-04, https://www.miit.gov.cn/zwgk/zcwj/wjfb/tz/art/2023/art_920db564162e4312916a01bed6540ad8.html; WeChat filing FAQ, https://developers.weixin.qq.com/miniprogram/product/record/record_faq.html; both fetched 2026-09-27.
4)
腾讯微信软件许可及服务协议, https://weixin.qq.com/agreement?lang=zh_CN; WeChat Terms of Service, https://www.wechat.com/en/service_terms.html; both fetched 2026-09-27.
5)
WeChat API documentation, wx.getUserProfile, https://developers.weixin.qq.com/miniprogram/dev/api/open-api/user-info/wx.getUserProfile.html, fetched 2026-09-27.
6)
WeChat DevTools documentation, https://developers.weixin.qq.com/miniprogram/dev/devtools/remote-debug.html, fetched 2026-09-27.
7)
WeChat developer documentation, 小程序隐私协议开发指南, https://developers.weixin.qq.com/miniprogram/dev/framework/user-privacy/PrivacyAuthorize.html, fetched 2026-09-27.
8)
Telegram Bot API, Mini Apps, https://core.telegram.org/bots/webapps, fetched 2026-09-27.
You could leave a comment if you were logged in.
design/mobile_and_app_measurement/mini_programs.txt · Last modified: by karel.kubicek.claude