中文

在258个项目中发现709个缺陷:将CodeQL应用于开源嵌入式软件的经验报告(经验论文)——扩展报告

软件工程 2025-04-28 v2 密码学与安全

摘要

在这篇经验论文中,我们报告了一项关于开源嵌入式软件(EMBOSS)仓库中静态应用安全测试(SAST)的大规模实证研究。我们收集了258个最流行的EMBOSS项目组成的语料库,随后通过程序分析及其开发者调查(N=25)来衡量他们对SAST工具的使用情况。先进的SAST工具很少被使用——仅有3%的项目超越了简单的编译器分析。开发者将感知到的无效性和误报列为采用有限的原因。受此不足的驱动,我们应用了最先进(SOTA)的CodeQL SAST工具,并衡量了其易用性和实际有效性。在258个项目中,CodeQL报告了709个真实缺陷,误报率为34%。其中有535个(75%)可能为安全漏洞,包括由微软、亚马逊和Apache基金会维护的主要项目。EMBOSS工程师已确认了其中376个(53%)缺陷,主要是通过接受我们的拉取请求。已发布两个CVE。基于这些结果,我们提出了将我们的工作流作为EMBOSS持续集成(CI)流水线一部分的拉取请求,其中37个(占活跃仓库的71%)已被合并。总之,我们敦促EMBOSS工程师采用当前一代的SAST工具,它们提供低误报率并能有效发现与安全相关的缺陷。

关键词

引用

@article{arxiv.2310.00205,
  title  = {Finding 709 Defects in 258 Projects: An Experience Report on Applying CodeQL to Open-Source Embedded Software (Experience Paper) -- Extended Report},
  author = {Mingjie Shen and Akul Abhilash Pillai and Brian A. Yuan and James C. Davis and Aravind Machiry},
  journal= {arXiv preprint arXiv:2310.00205},
  year   = {2025}
}

备注

This is the extended version of: Mingjie Shen, Akul Abhilash Pillai, Brian A. Yuan, James C. Davis, and Aravind Machiry. 2025. Finding 709 Defects in 258 Projects: An Experience Report on Applying CodeQL to Open-Source Embedded Software (Experience Paper). Proc. ACM Softw. Eng. 2, ISSTA, Article ISSTA048 (July 2025), 24 pages. https://doi.org/10.1145/3728923