AutoMalDesc: Large-Scale Script Analysis for Cyber Threat Research¶
会议: AAAI 2026
arXiv: 2511.13333
代码: https://github.com/CrowdStrike/automaldesc
领域: NLP生成 / 安全
关键词: 恶意软件分析, 自我改进LLM, 自步学习, 静态分析, 脚本安全
一句话总结¶
提出 AutoMalDesc 自动化静态分析框架,通过迭代自步学习流水线——从 900 个专家标注种子样本出发,经 LoRA 微调 Llama-3.3-70B 生成伪标签,多阶段质量过滤后进行 V2 训练——实现 5 种脚本语言的恶意软件自动分类和行为描述,Batch 脚本检测准确率从 52.7% 提升到 82.4%。
研究背景与动机¶
-
领域现状:网络安全中需要对恶意脚本做静态分析并生成自然语言解释。现有方法依赖 YARA 规则和沙箱引爆,覆盖面有限且需人工专家。
-
现有痛点:(1) 专家标注成本极高,难以覆盖 5 种脚本语言的海量变种;(2) 通用 LLM 对恶意软件的行为理解不足(Base 模型 Batch 检测仅 52.7%);(3) 缺乏大规模高质量恶意脚本描述数据集。
-
核心矛盾:高质量标注数据稀缺,但需要大量多样化数据才能训练出鲁棒的恶意软件分析模型。
-
本文要解决什么? 用少量种子+自步训练策略突破标注瓶颈。
-
切入角度:沙箱行为报告作为知识桥梁,将运行时行为转化为训练信号。
-
核心 idea 一句话:从 900 个专家种子迭代自步学习,逐步扩展到 10 万+高质量恶意脚本分析训练集。
方法详解¶
整体框架¶
种子集(900) → LoRA微调V1 → V1标注157K未标注脚本 → 四阶段质量过滤(→101K) → V2训练。三个任务:恶意软件检测、语言识别、行为描述。
关键设计¶
-
种子数据集构建:900个脚本(5语言),经YARA规则+沙箱引爆+专家验证。描述由Llama-3.3-70B基于沙箱报告生成(τ=0.3)。
-
四阶段质量过滤:(1) 语法检查(可解析JSON);(2) 共识检查(τ=0.4/0.6/0.8下标签一致);(3) 置信度检查(logit概率≥90%);(4) 连贯性检查(Phi-3.5-Mini验证摘要-标签对齐)。
-
训练配置:V1: LoRA rank=8, α=16, 11 epochs;V2: rank=16, α=32, 13 epochs。16K上下文。
损失函数 / 训练策略¶
标准语言模型交叉熵损失 + LoRA 微调。
实验关键数据¶
主实验¶
| 模型 | Bash | Batch | JS | PS | Python | 平均 |
|---|---|---|---|---|---|---|
| Base 恶意检测 | 92.4 | 52.7 | 90.8 | 94.2 | 89.8 | 83.1 |
| V1 恶意检测 | 93.2 | 77.9 | 90.6 | 95.3 | 91.8 | 89.3 |
| V2 恶意检测 | 96.3 | 82.4 | 92.2 | 95.3 | 92.6 | 91.5 |
消融实验¶
- V3 探索:标签准确率 91.53%(与V2持平),两轮即饱和
- McNemar 检验:V2 vs V1 显著 (p<10⁻⁵)
关键发现¶
- Batch 脚本恶意检测从近随机(52.7%)提升到 82.4%——改善最显著
- 性能在两轮迭代后饱和(V3 无显著增益)
亮点与洞察¶
- 工业级落地:CrowdStrike 出品,157K 脚本规模的真实部署方案
- 四阶段过滤是核心质量保障:多温度共识+logit 置信+外部模型连贯性检查
局限性 / 可改进方向¶
- 幻觉问题未完全解决(V2 仍有 14 个幻觉描述)
- 仅覆盖 5 种脚本语言,未涵盖二进制恶意软件
相关工作与启发¶
- 自步学习在专家知识稀缺领域的成功案例,可迁移到其他安全分析任务
评分¶
- 新颖性: ⭐⭐⭐⭐ 沙箱报告→LLM种子→自步扩展的流水线新颖实用
- 实验充分度: ⭐⭐⭐⭐ 3600测试样本、多轮迭代对比、McNemar统计检验
- 写作质量: ⭐⭐⭐⭐ 工业论文风格清晰
- 价值: ⭐⭐⭐⭐⭐ 直接服务网络安全产业,代码和数据开源