paperbot · PL 论文追踪

全部论文 待读 收藏

P2 LibKit: Detecting Third-Party Libraries in iOS Apps

LibKit:检测 iOS 应用中的第三方库
FSE Proceedings of the 31st ACM Joint European Software Engineering Conference and Symposium on the Foundations of Software Engineering2023匹配度 1/10 · 该论文聚焦 iOS 应用第三方库检测与二进制指纹匹配,虽属于程序分析范畴,但未涉及用户画像核心的 LLM/Agent、浮点程序分析或贝叶斯程序分析,也未讨论 AI 与程序分析的交叉。引用 7 inbox
Daniel Domínguez-Álvarez, Alejandro de la Cruz, Alessandra Gorla, Juan Caballero
crossref: 2026-09-12dblp: 2026-09-12

AI 速览

一句话:提出首个检测 iOS 应用中第三方库名称与版本的指纹匹配工具 LibKit。

iOS 应用常经 CocoaPods 引入第三方库,但仅从可执行文件识别其名称与版本十分困难,尤其面对 Swift/Objective-C、静态/动态链接、部分包含库及不同编译器配置产生的变体。LibKit 自动为 CocoaPods 上 86K 个库版本构建指纹,并在解密后的应用可执行文件中匹配,从而识别所使用第三方库的名称与版本。在 95 个开源应用标注上,精确率 0.911、召回率 0.839,识别库边界显著优于 CRiOS;对 1,500 个 iTunes 应用检测出 47,015 个库版本,发现含旧版本库的流行应用。

问题
如何从 iOS 应用可执行文件中自动识别其所用第三方库的名称与版本,并应对 Swift/Objective-C、静态/动态链接、部分包含库和编译器配置差异等挑战。
方法
LibKit 从 CocoaPods 的 86K 个库版本自动构建指纹,在解密后的应用可执行文件中匹配指纹以检测库及其版本,并支持静态与动态链接库。
评估
在 95 个开源应用 ground truth 上达到 0.911 精确率和 0.839 召回率,库边界识别优于 CRiOS;对 1,500 个 iTunes 应用检测出 47,015 个库版本。
原文摘要(Abstract)

We present LibKit, the first approach and tool for detecting the name and version of third-party libraries (TPLs) present in iOS apps. LibKit automatically builds fingerprints for 86K library versions available through the CocoaPods dependency manager and matches them on the decrypted app executables to identify the TPLs (name and version) an iOS app uses. LibKit supports apps written in Swift and Objective-C, detects statically and dynamically linked libraries, and addresses challenges such as partially included libraries and different compiler versions and configurations producing variants of the same library version. On a ground truth of 95 open-source apps, LibKit identifies libraries with a precision of 0.911 and a recall of 0.839. LibKit also significantly outperforms the state-of-the-art CRiOS tool for identifying TPL boundaries. When applied to 1,500 apps from the iTunes Store, LibKit detects 47,015 library versions, identifying popular apps that contain old library versions.

链接与引用

DOI 原文 · PDF(开放获取) · DBLP

BibTeX
@inproceedings{Dominguez-Alvarez23,
  title = {LibKit: Detecting Third-Party Libraries in iOS Apps},
  author = {Daniel Domínguez-Álvarez and Alejandro de la Cruz and Alessandra Gorla and Juan Caballero},
  booktitle = {FSE},
  year = {2023},
  doi = {10.1145/3611643.3616344}
}