论文

跨越 NL/PL 边界的可达性:LLM 集成应用程序的分类驱动数据流模型

Reachability Across the NL/PL Boundary: A Taxonomy-Driven Dataflow Model for LLM-Integrated Applications

摘要

LLM API 调用已成为标准编程原语,但它们创建了破坏传统数据流分析的程序边界。运行时值可以通过模板占位符插入到自然语言提示中,由 LLM 进行不透明转换,并作为下游逻辑使用的代码、JSON 或文本返回。现有的分析(例如污点分析和程序切片)需要一个数据流摘要来描述被调用者如何将输入映射到输出; LLM 调用不提供此类摘要,从而破坏了我们所谓的 NL/PL 边界的分析。我们引入了 PRISM,这是该边界的第一个可达性模型。 PRISM 将 LLM 调用的缺失数据流摘要抽象为占位符到输出的可达性。由于 LLM 的内部转换是不透明的,因此唯一可观察的信号是输入-输出关系,它涵盖了无限的行为范围。因此,PRISM 使用基于定量信息流理论的有限分类法。它将占位符输出行为沿两个维度分类为 25 个标签:信息保存和输出模态。每个标签都会为占位符生成一个可达性谓词。该模型就其标签而言是合理的,残差误差根据经验受到限制。 PRISM 可靠且有效。独立模型和人类注释者一致地分配其标签(Fleiss' kappa >= 0.72),并且标签覆盖了 8,119 个现实世界对,没有一个对是不可分类的;古德图灵发现概率为 0.09%。对于污点分析,PRISM 几乎是保守基线的两倍,并且优于直接 LLM 基线,达到 F1 = 81.7%。在六个真实的 OpenClaw CVE 中,它检测每个易受攻击的流并确认每个补丁(F1 = 100%)。在向后切片中,它删除了大约四分之一的不相关代码,而不丢弃任何真正的依赖关系。