摘要:现有浏览器JavaScript引擎模糊测试工具在检测潜在漏洞方面仍存在局限, 尤其对不触发崩溃的堆内存错误识别能力不足. 为此, 提出ToxiHeap, 一种将内存毒性标记(toxic labeling)的运行时监测和大语言模型(large language model, LLM)制导语义生成, 设计为并行核心轨道的JavaScript引擎模糊测试框架. 检测轨在目标引擎的堆分配与访问路径上插桩, 通过影子内存与细粒度毒性标记统一刻画释放后使用(use-after-free, UAF)、double free、堆越界读写(out-of-bounds read/write,OOB-R/W)、内存泄漏(memory leak)和未初始化堆内存读(uninitialized memory read,UMR)等多类堆错误, 并将对已释放内存等非法状态的访问转化为可消费的异常信号, 弥补传统依赖崩溃信号方法对非崩溃漏洞缺乏有效检测信号的不足; 生成轨采用“蒸馏-激励”两阶段的LLM变异器, 从历史PoC中提炼语义特征并定向构造状态依赖的测试用例, 突破仅依赖语法或轻语义变异在深路径覆盖上的局限. 两条轨道以覆盖增益和非崩溃命中信号在反馈环路中汇合, 协同驱动样本保留、路径权重更新和知识库自增, 同时引入隔离重放验证机制, 在干净进程中二次确认异常, 显著降低非确定性误报. 实验结果表明, 在JavaScriptCore (JSC)引擎上, ToxiHeap在24 h运行下的分支覆盖率由31.17%提升至33.52%, 在V8、SpiderMonkey (SM)和ChakraCore (CH)等其他主流引擎上同样取得了最高或接近最高的分支覆盖率, 有效样本占比稳定在91%以上. 在覆盖UAF等多类缺陷模式的50条PoC参考集上, 4个引擎综合平均的整体检出率达到89.18%.