该研究关注自动驾驶(AV)软件的安全弱点发现难题:现代自动驾驶系统依赖数百万行安全关键代码,而通用静态分析工具并不理解哪些代码会实际影响车辆运动控制,因此可能既漏报关键缺陷、又产生大量无意义告警。作者提出的核心问题是:如果把明确的自动驾驶安全知识注入大语言模型(LLM),能否比基于规则的传统工具取得更好的弱点检出效果。为回答该问题,他们首先从公开漏洞记录、安全公告以及 AV 安全文献中归纳出一套面向自动驾驶的漏洞分类法,共包含 18 个弱点类别,并将其集成到名为 LLMSec-AV 的 LLM 安全分析框架中。评估对象是开源自动驾驶栈 Autoware:框架把它分解为 770 个翻译单元、4,673 个函数,并在四种提示条件下分析其中 161 个函数,这些条件分别涉及分类法上下文注入、从 374 条历史披露记录中做检索增强,以及多步分析流程。评估基准是作者从上游修复提交中挖掘出的 46 个真实弱点位置,并额外构建了与控制告警数量匹配的置换基线以消除数量偏差。对照组使用 CodeQL、Semgrep、cppcheck 和 Clang Static Analyzer 扫描同一份代码,其中 CodeQL 与 Semgrep 还加入了 AV 专用规则;同时对 LLM 生成的模糊测试驱动用 AFL++ 和 sanitizer 进行了实测。结果显示出明显的对比:LLM 各条件最高可命中 46 个已知弱点位置中的 76%,显著优于传统分析器;CodeQL、Semgrep 和 Clang Static Analyzer 一个都没匹配上,cppcheck 虽然产生 1,301 条告警却只匹配到 1 个。值得注意的是,不使用分类法上下文的“无辅助提示”检测性能与使用了分类法的条件相近,说明分类法本身并未提升召回率;真正的增益体现在可解释性上——加入分类法上下文后,被归入具体弱点类别的发现占比从近乎为零提升到 80% 以上,显著改善了人工分诊效率。此外,18 个弱点类别中有 6 类无法被直接表达为静态分析规则。总体而言,该工作提出了面向自动驾驶的、机器可读的漏洞分类法,并证明 LLM 可以作为传统分析器的补充手段,在真实 AV 软件中识别并组织与安全相关的发现。
💡 推荐理由: 对汽车与自动驾驶安全团队而言,该研究量化了一个尴尬现实:主流 SAST 工具在 AV 运动安全相关弱点上几乎零命中(cppcheck 1,301 条告警仅 1 条有效)。同时它提醒不要误读 LLM 能力——分类法上下文提升的是分诊可解释性,而非检出召回率,落地时需按此定位工具角色。
🎯 建议动作: 研究跟进