章节 01
导读 / 主楼:SCTS:让大语言模型通过自我批判树搜索自主发现代码漏洞
一种基于蒙特卡洛树搜索的迭代推理框架,让8B参数模型在分布外漏洞检测任务上超越32B模型,实现无需标注数据的自监督优化。
正文
一种基于蒙特卡洛树搜索的迭代推理框架,让8B参数模型在分布外漏洞检测任务上超越32B模型,实现无需标注数据的自监督优化。
章节 01
一种基于蒙特卡洛树搜索的迭代推理框架,让8B参数模型在分布外漏洞检测任务上超越32B模型,实现无需标注数据的自监督优化。
章节 02
章节 03
在软件安全领域,检测代码中的潜在漏洞一直是开发者和安全工程师的核心挑战。传统的监督学习方法虽然在已知漏洞模式上表现良好,但面对分布外(Out-of-Distribution, OOD)的新型漏洞时,往往力不从心——这些模型无法泛化到训练数据中未曾见过的漏洞模式。
与此同时,大语言模型(LLMs)虽然在代码理解和生成方面展现出强大能力,但在零样本推理场景下仍存在逻辑不一致和召回率低的问题。根本原因在于,这些方法将复杂的漏洞分析过程简化为单步预测,忽略了漏洞检测本质上是一个需要迭代探索和深度推理的任务。
章节 04
SCTS(Self-Critique Tree Search,自我批判树搜索)提出了一种全新的解决思路:在推理阶段进行迭代自监督优化,而非依赖昂贵的标注数据。该方法将蒙特卡洛树搜索(MCTS)框架与大语言模型结合,让模型在推理时扮演双重角色——既是生成漏洞分析报告的推理者(Reasoner),也是批判和修正报告的评审者(Critique)。
这种设计的核心洞见是:对于漏洞分析这类复杂推理任务,显式的搜索机制和自修正能力是实现稳健OOD泛化的有效路径。通过让模型自我批判、自我改进,SCTS能够在没有 ground truth 标签的情况下,逐步收敛到逻辑一致的结论。
章节 05
SCTS的每一次迭代包含四个关键阶段,形成一个完整的自我进化循环:
章节 06
智能体采用上置信界(UCB)策略遍历现有搜索树,在高奖励分析路径的开发与未探索路径的探索之间取得平衡。这一阶段选择最有潜力的节点(即现有的漏洞分析报告)进行扩展。
章节 07
选中的节点通过生成新的、可能更优的分析报告来扩展。这一过程包含两个反思步骤:
章节 08
SCTS的一个重要贡献是设计了无需 ground truth 标签的奖励函数。新生成的报告基于以下内部质量指标进行加权评分: