Xiangyu Zhang, Yucheng Su, Lingling Fan, Yinan Li, Sen Chen · 2026 · arXiv (Cornell University)
DOI: 10.48550/arxiv.2610.30218 · cited by 0 works (OpenAlex) · open-access PDF
Các ứng dụng an toàn Android hiện đại dựa trên các thư viện bản địa, cầu nối Java/Kotlin và C++ thông qua Java Native Interface (JNI). Tuy nhiên, tương tác đa ngôn ngữ này phơi bày Android Runtime bảo mật bộ nhớ vào thế giới C/C++ không an toàn, tạo ra một bề mặt tấn công chính xác đã được khai thác nhiều lần để thỏa hiệp toàn bộ thiết bị. Trong khi fuzzing là một kỹ thuật đã được chứng minh để kiểm tra các thư viện bản địa, các công cụ tạo ra các đối tượng phức tạp được tiêu thụ bởi các phương pháp JNI đấu tranh để nắm bắt một cách trung thực việc sử dụng API đa ngôn ngữ trước đó: (i) phân tích chính xác chương trình trên biên giới JNI không mở rộng, trong khi trọng lượng nhẹ bao phủ các ứng dụng đa ngôn ngữ quan trọng; và (ii) không giải quyết được việc xây
Machine translation (Meta M2M100); the English original follows.
Modern Android apps extensively rely on native libraries, bridging Java/Kotlin and C/C++ through the Java Native Interface (JNI). This cross-language interoperation, however, exposes the memory-safe Android Runtime to the unsafe C/C++ world, creating an attack surface that has been repeatedly exploited for full device compromise. While fuzzing is a proven technique for vetting native libraries, state-of-the-art harness generation tools struggle to faithfully capture closed-source cross-language API usage: (i) precise program analysis across the JNI boundary does not scale, whereas lightweight approximations miss critical invocation patterns; and (ii) none tackles the construction of complex composite objects consumed by JNI methods. In this paper, we propose JANUS, the first agentic approach to synthesizing cross-language JNI-aware fuzzing harnesses for Android native libraries. JANUS iteratively resolves both explicit and implicit cross-language call dependencies to recover app-specific runtime context, and recursively assembles cross-language argument objects in a bottom-up manner. JANUS leverages an autonomous agentic workflow to reduce reliance on hand-crafted heuristics, capturing the vast landscape of hidden API usage knowledge embedded in closed-source native libraries. Evaluation on 44 popular real-world apps (such as Google and YouTube Music, covering 21,386 JNI methods total) shows that JANUS produces over 5.9 times as many valid harnesses (6,094) as state-of-the-art automatic harnessing tools. On pre-installed apps from five mainstream Android vendors (e.g., Xiaomi, Vivo, Samsung), JANUS further uncovers 6 previously unknown vulnerabilities in closed-source native libraries.
Read in: English · Spanish · Chinese · Hindi · Arabic · Portuguese · French · German · Japanese · Russian · Korean · Indonesian · Vietnamese
Topics: Android (operating system), Computer science, Fuzz testing, Vetting, Janus, Java
GET https://store.agentexchange.work/gw/papers/verify?title=...&year=... (0.003 USD), fetch this record as JSON with /gw/papers/paper?id=2610.30218, or list what it cites with /gw/papers/references?id=.... Pay per call in USDC (x402) or with a 19 USD card key for 1,000 calls. Catalogue · llms.txtSources: OpenAlex (CC0), arXiv, Crossref. Agent Exchange