The Software Bill of Materials (SBOM) is a critical tool for securing the software supply chain (SSC), but its practical utility is undermined by inaccuracies in both its generation and its application in vulnerability scanning. This paper presents a large-scale empirical study on 2,414 open-source repositories to address these issues from a practical standpoint. First, we demonstrate that using lock files with strong package managers enables the generation of accurate and consistent SBOMs, establishing a reliable foundation for security analysis. Using this high-fidelity foundation, however, we expose a more fundamental flaw in practice: downstream vulnerability scanners produce a staggering 97.5\% false positive rate. We pinpoint the primary cause as the flagging of vulnerabilities within unreachable code. We then demonstrate that function call analysis can effectively prune 63.3\% of these false alarms. Our work validates a practical, two-stage approach for SSC security: first, generate an accurate SBOM using lock files and strong package managers, and second, enrich it with function call analysis to produce actionable, low-noise vulnerability reports that alleviate developers' alert fatigue.
翻译:软件物料清单(SBOM)是保障软件供应链(SSC)安全的关键工具,但其实际效用因生成过程与应用漏洞扫描中的不准确性而受到削弱。本文基于2,414个开源代码库的大规模实证研究,从实践角度探讨上述问题。首先,我们证明采用强包管理器配合锁文件能够生成准确且一致的SBOM,为安全分析建立可靠基础。然而,基于这一高保真基础,我们揭示了实践中更根本的缺陷:下游漏洞扫描器产生了高达97.5%的误报率。研究指出其主要原因为对不可达代码中漏洞的误标记。我们进一步论证通过函数调用分析可有效消除63.3%的此类误报。本研究验证了一种实用的软件供应链安全双层方法:首先利用锁文件与强包管理器生成精确的SBOM,其次通过函数调用分析增强其能力,最终生成可操作、低噪声的漏洞报告,从而缓解开发者的告警疲劳。