楼主: huangweiliang
20 0

AutoMalDesc:用于网络威胁研究的大规模脚本分析 [推广有奖]

  • 0关注
  • 0粉丝

等待验证会员

学前班

80%

还不是VIP/贵宾

-

威望
0
论坛币
0 个
通用积分
0
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
30 点
帖子
2
精华
0
在线时间
0 小时
注册时间
2018-9-28
最后登录
2018-9-28

楼主
huangweiliang 发表于 2025-11-22 07:10:08 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币

摘要

尽管自动化恶意软件检测技术已取得显著进步,但为威胁识别生成清晰、详尽的自然语言解释仍是网络安全领域尚未充分解决的问题。本文提出 AutoMalDesc——一种基于静态分析的自动摘要生成框架。该框架在少量由专家标注的样本上完成初步训练后,即可实现大规模独立运行。通过引入迭代式自定进度学习机制,系统借助合成数据的持续生成与验证循环,逐步提升输出质量,避免了对大量人工标注数据的依赖。

我们在涵盖五种脚本语言的 3,600 个多样化样本上进行了评估,结果显示各轮迭代之间在统计意义上均表现出显著改进,摘要质量和分类准确率持续提升。我们采用多维度验证策略:一方面利用已知恶意软件标签进行量化分析,另一方面结合人类专家和大语言模型(LLM)评判员的定性反馈,全面确认所生成摘要的技术准确性与语言流畅性。为推动该方向的研究可复现性与进一步发展,我们公开发布了完整资源,包括超过 10 万个脚本样本的数据集(含 900 条标注种子数据和 3,600 条测试样本)、方法实现代码及评估框架。

1 引言

随着大语言模型在多个领域展现出卓越性能 [Roberts-IEEE-CVPRW-2024; Wang-IEEE-2024; Thirunavukarasu-Nature-2023; Wang-Nature-2023; Rivas-AI-2023],其对海量高质量训练数据的需求也促使研究者广泛关注自奖励与自我演进机制 [Dong-ICLR-2025; Zelikman-NeurIPS-2024; Liang-CoRR-2024; Huang-EMNLP-2023; Gulcehre-ArXiv-2023]。这类方法在专家标注稀缺或成本高昂的专业场景中尤为重要。

网络安全正是此类挑战的典型代表。快速演变的攻击手段、受限的样本访问权限以及敏感信息保密要求,极大限制了高质量数据集的构建 [Guo-ASE-2023]。动态变化的威胁态势叠加有限的人工标注资源和机密性约束,使得具备自进化能力的技术成为发展安全导向型 LLM 应用的关键路径。此外,现有系统虽在恶意软件检测与分类任务中表现优异 [Wang-CNCC-2025; Rudd-DigitalThreats-2024; Dambra-CCS-2023; Eren-ACM-2023; Wu-ICCNS-2018],却普遍缺乏自动生成详细行为描述的能力 [He-ISSTA-2025]。这种检测能力与可解释性之间的鸿沟,已成为当前研究的核心瓶颈之一 [He-ISSTA-2025; Jelodar-ArXiv-2025; Fujii-ESORICS-2024]。

图 1:自训练流程示意图。一个包含 900 个高质标注样本的种子数据集启动半监督学习过程。在此基础上训练的大语言模型为未标注数据生成经过筛选的伪标签,从而不断扩展训练集并支持迭代优化。

图 2:针对一段恶意 JavaScript 代码的模型预测演化过程。初始预训练模型仅关注表面语法特征,无法识别其恶意意图;经过自学习迭代后,模型逐步掌握识别恶意行为及其攻击机制的能力。

表1:按编程语言与恶意性划分的数据分布

语言 初始语料库* 训练数据* 测试集 种子数据集 良性 恶意 总计
sh 16,207 20,616 36,823 9,059
bat 5,000 2,838 7,838 2,775
js 35,000 30,000 65,000 21,242
ps 12,827 17,007 29,834 9,337
py 10,236 7,395 17,631 7,584
总计 79,270 77,856 157,126 49,997

说明:表中展示了不同编程语言下各数据集的脚本分布情况。种子数据集与测试集均经过多源严格校验,包含专家人工审核。*初始语料库与训练数据的标签来源于内部自动化标注系统,仅供参考;由于存在噪声,训练集被视为无真实标注数据。语言类别包括:Bash (sh)、Batch (bat)、JavaScript (js)、PowerShell (ps)、Python (py)。

为应对上述挑战,本文开展了首个关于大语言模型在恶意软件脚本分析中实现自进化的系统性研究,主要贡献如下:

  • 自改进流水线:设计了一种创新性的迭代学习架构,利用 LLM 自动生成标注以增强脚本分析能力,并通过实证实验验证其有效性(参见图 1 与图 2)。
  • 公开数据集:发布了一个规模达 15.7 万的平衡脚本集合(其中约 7.8 万为恶意样本,7.9 万为良性样本),覆盖五种常用于恶意软件开发的编程语言(详见表 1)。
  • 综合评估框架:构建了一个融合量化指标(如恶意性判断与语言识别准确率)与定性评价(来自人类专家及 LLM 判官的技术正确性和摘要质量评分)的多维基准体系。

2 相关工作

本研究立足于两个核心领域的前期成果:具备通过迭代学习提升性能能力的自改进语言模型,以及面向脚本类威胁的静态安全分析技术。以下将分别对这两个方向的相关工作进行梳理与拓展。

2.1 自改进与迭代学习方法

已有研究表明,语言模型能够借助自我生成的数据实现能力增强。Wang-ArXiv-2022 提出的 Self-Instruct 方法,从少量人工设计的提示出发,自动生成并筛选指令-响应对用于微调,为后续研究奠定了基础。在此基础上,Zelikman-NeurIPS-2024 开发了 STaR 系统,构建了一个闭环反馈机制——模型生成推理路径,并从成功案例中学习,显著提升了其在数学推理和常识推断任务中的表现。

针对标注数据稀缺的问题,多种自改进策略相继被提出。Huang-EMNLP-2023 采用思维链提示结合多路径推理的多数投票机制,以识别更可靠的预测结果;Li-ICLR-2024 则提出指令反向翻译技术,从网络文档中逆向推导出有效提示。在资源受限场景下,Dong-ICLR-2025 提出的 Self-Boost 框架仅依赖单一模型完成示例生成与验证过程。近期进展还包括 Yuan-ICML-2024 引入基于大语言模型判断的自奖励机制,Gulcehre-ArXiv-2023 探索结合强化学习与离线微调的数据生成策略,以及 Wang-ArXiv-2024 将自改进范式扩展至模型间比较评估的应用。

我们的研究将上述自改进机制引入网络安全领域,特别聚焦于缓解恶意软件分析中训练样本匮乏的关键瓶颈。

2.2 脚本程序的静态安全分析

在网络安全范畴内,半监督学习已被证明有助于降低对人工标注的依赖。尽管大量研究集中于可执行文件(如 PE 文件)的恶意软件分析 [joyce2023motif; CybIN; Corlatescu-NeurIPS-2023; Anderson-ArXiv-2018],但脚本类威胁因其动态性与解释复杂性带来了新的挑战。

Alam-ArXiv-2025 采用伪标签技术,在模型自身预测结果上进行再训练以优化分类器性能;Feng-IEEE-2025 则展示了通过特征工程与提示设计,利用大语言模型提升 Android 平台恶意软件检测效果的可行性。就我们工作的重点——对网络威胁行为进行自然语言解释而言,Fujii-ESORICS-2024 验证了 LLM 在解析恶意软件功能方面的准确性,但也指出了高质量训练数据严重不足的问题。为应对该限制,Lu-IEEE-2025 构建了名为 MalS 的新数据集,其摘要由 LLM 初步生成后辅以少量人工精修,并通过微调取得了良好性能。

相较这些先前工作,我们的方法提出一种面向五种主流脚本语言的迭代式自训练框架。不同于以往主要关注二元分类或仍需较多人工干预的研究,我们的方案能生成详尽的安全行为解释,并在极少人工输入的前提下,通过多轮迭代持续提升输出质量。

图 3:数据集中代表性恶意与良性脚本示例。种子集与测试集的行为摘要基于沙箱引爆报告由 LLM 生成;训练集摘要则通过本文提出的迭代方法生成,未使用任何引爆信息。代码引用部分采用等宽字体呈现以增强可读性。

3 数据集构建

本节介绍数据集的构建流程,包括用于初始训练的高质量种子集、从 VirusTotal 获取的大规模未标注数据(用于迭代学习),以及独立的评估测试集。

3.1 种子数据集

考虑到专家标注成本高昂且难以获取,我们参考 Li-ICLR-2024 和 Wang-ArXiv-2022 的做法,从 VirusTotal 构建了一个包含 900 个脚本样本的高质种子集,支持三项任务:恶意软件判定、脚本语言识别及自然语言行为描述生成。表 1 展示了数据在语言类型与恶意性标签上的分布情况,图 3 提供了具体样例及其对应描述。

为确保标签准确性,我们融合了多重验证手段:(1)基于 YARA 规则检测已知恶意模式 [Lockett-CoRR-2021];(2)结合沙箱环境下的动态引爆报告进行行为分析 [Guven-IJCESEN-2024];(3)由具备专业背景的安全专家开展手动审核。为了生成精准的行为描述,我们在沙箱报告提供的上下文基础上,调用 Llama-3.3-70B-Instruct 模型(温度参数 τ=0.3)生成摘要。所有人工验证均由熟悉网络安全领域的主题专家执行,他们综合审查脚本内容与引爆日志,确保良性和恶意样本分类正确。该流程延续了 Li-ICLR-2024、Corlatescu-NeurIPS-2023、Wang-ArXiv-2022 及 Anderson-ArXiv-2018 所采用的方法论,同时有效应对了专家标注数据稀缺的实际难题。

3.2 训练数据收集

为进一步扩大训练规模,我们从 VirusTotal 收集了更大范围的未标注脚本数据,作为迭代学习的基础资源。这些数据未经人工标注,完全依赖模型在多轮迭代中自主生成监督信号,逐步提升泛化能力和解释精度。

我们从 VirusTotal 平台收集了共计 157,126 个脚本样本,涵盖五种常与网络安全威胁相关的编程语言:Bash(sh)、Batch(bat)、JavaScript(js)、PowerShell(ps)和 Python(py),相关研究支持见 [Feng-IEEE-2025a; Li-SIGSAC-2024; Srinivasan-STCR-2023; Sohan-IEEE-2020]。原始语料库的分布情况如表 1 第一部分所示。尽管数据在良性和恶意样本之间呈现出大致平衡的状态,但这些标签来源于内部基于 YARA 规则的自动化噪声标注系统,仅作为参考使用,因其存在固有噪声,并未直接用于模型训练。 经过一系列严格的过滤与验证流程——包括响应完整性检查、跨配置一致性评估以及置信度阈值筛选——我们将初始数据集精炼为最终包含 101,277 个高质量样本的训练集,具体结果见表 1 第二部分。完整的数据清洗与验证细节将在第 4 节中展开说明。 我们的测试集构建遵循主流基准研究的建议 [Guo-NeurIPS-2024],针对每种语言额外采集 700 个样本,最终形成一个由 3,636 个样本组成的独立测试集。该集合的质量保障采用第 3.1 节所述方法,即生成基于行为分析的脚本摘要,并对脚本语言及恶意性标签进行人工或自动化校验。分析表明,至少 6% 的测试样本采用了混淆技术,充分体现了现实世界中恶意软件的复杂性。 最终,我们公开发布三个子集:其一为包含 101,277 个样本的过滤后训练集;其二为由 900 个高可信度样本构成的种子集;其三为前述 3,636 个样本的测试集。每个样本均附带 SHA256 标识符、恶意性判断、脚本语言分类以及自动生成的行为摘要。其中,种子集与测试集的摘要基于沙箱执行信息生成,而训练集的摘要则通过本文提出的迭代式生成方法获得,具体流程详见第 4.1 节。出于安全与合规考虑,公开版本不包含原始脚本内容,所有样本可通过 VirusTotal 平台供完成相应背景审查与合规认证的用户访问。

4 方法

如图 1 所示,我们提出了一种自训练框架:首先利用一个小规模但高质量的种子集对大语言模型(LLM)进行微调,随后使用该模型为大规模未标注脚本生成伪标签。通过多轮迭代优化,实现训练数据的自监督扩展。本节重点阐述两个核心模块:迭代式数据集扩展机制与自训练策略。我们在三项任务上评估该方法性能:恶意软件分类、编程语言识别(下文统称为元数据预测),以及自然语言形式的行为解释生成。

4.1 迭代数据集扩展

本阶段涵盖合成数据生成与后续的数据净化流程(参见图 4)。首先,在种子集上微调 Llama-3.3-70B-Instruct 模型,得到初始版本的 LLM 标注器 V1。接着,使用该标注器为全部 157,126 个未标注脚本生成 JSON 格式的元数据(包括恶意性标签和语言类型)及自然语言解释。 初始生成: 在多个温度参数设置下(以增强多样性并评估稳定性),V1 对所有脚本生成结构化输出,确保涵盖不同推理路径下的预测结果。 质量过滤: 我们设计了一个多阶段的过滤流水线以保障伪标签质量。第一步清理包括剔除空响应(共 9,095 条)、截断摘要(17 条)和格式错误的 JSON 输出(7,825 条),导致整体数据减少 10.76%。随后进行跨温度(0.4、0.6、0.8)的一致性检验,排除那些在不同设置下恶意性标签波动的样本,进一步去除 14.28% 的数据。为进一步提升一致性,我们引入 Phi-3.5-Mini 模型(因其在测试集上达到 99.5% 准确率而被选用),用于检测摘要内容与生成标签之间的逻辑冲突,共剔除 219 个(0.22%)不一致样本。最后,依据模型输出的 logit 概率设定 90% 的置信度阈值进行筛选,大多数保留样本的概率值集中在接近 1 的区域(见图 5)。最终获得 101,277 个可用于训练的高质量样本(见表 1)。此策略在保持数据规模的同时有效提升了标签可靠性,但需注意,最优阈值可能因应用场景不同而调整。 图 5:训练数据按置信度得分的保留分布。横轴表示模型对恶意性预测的 logit 概率,纵轴为样本密度。采用 90% 置信度阈值可在数据质量和数量间取得良好平衡,实际应用中该阈值应根据任务需求动态调整。推荐查看彩色版本以获取更清晰的趋势。 以下表格展示了不同模型在语言识别与恶意软件检测任务上的表现对比:
语言检测准确率(%) sh bat js ps py 平均
基础模型 89.2 92.3 98.4 89.9 100 93.7
V1 98.0 94.2 99.5 92.7 99.8 96.8
V2 99.3 94.9 99.8 91.8 100 97.1

恶意软件检测准确率(%) bash batch js ps py 平均
基础模型 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

4.2 自训练策略

我们的自训练流程如图 1 所示。为了构建高效的 LLM 标注器,我们采用了指令微调的方式,使模型能够专注于三项核心任务:恶意软件识别、脚本语言分类以及代码摘要生成。考虑到所用数据集规模有限而模型架构庞大,我们引入了低秩自适应(LoRA)[Hu-ICLR-2022] 方法进行参数优化。该方法以极小的可训练参数量实现对大模型的有效调整,显著提升了训练效率。

每一轮迭代均遵循一致的训练流程,但使用的数据有所差异:V1 版本的标注器基于初始种子数据集进行训练;而 V2 则在此基础上融合了由 V1 自动生成的新样本,从而扩展训练集并增强泛化能力。为避免过拟合现象,我们在一个独立保留的验证子集上持续监控损失值,直至其收敛。具体而言,V1 在较小的种子数据上训练了 11 个周期,后续版本则延长至 13 个周期。

5 实验

本节首先介绍实验配置与关键超参数设置,随后深入分析所提出自迭代方法在各项评估任务中的表现与成效。

5.1 实验设置

所有微调实验均在 NVIDIA H100 Mega GPU 上完成,采用 LoRA 技术对预训练模型 Llama-3.3-70B-Instruct 进行适配。主要超参数包括:上下文长度设为 16k,批大小为 1,学习率设定为 0.0001,权重衰减系数为 0.001,预热比例为 5%。同时启用了梯度检查点和序列打包技术,以有效管理内存消耗。

对于标注器 V1,LoRA 配置中秩(rank)设为 8,缩放因子 α=16,丢弃率设为 0.05,目标模块类型为“all-linear”,共训练 15 个周期,其中第 11 周期取得最优验证性能。V2 模型沿用基础配置,但将 LoRA 的秩和 α 加倍至 16 和 32,并将丢弃率提升至 0.1,总共训练 20 个周期,最佳检查点出现在第 13 周期。

最终选择依据是验证集上的损失收敛情况,选取性能最佳且未发生过拟合的模型检查点,在独立测试集上进行正式评估。更多技术细节见补充材料。

5.2 结果分析

检测能力表现:

原始的基础模型 Llama-3.3-70B-Instruct 即便未经微调,已在语言识别方面展现出较强能力,五种脚本语言上的平均准确率达到 93.70%。其中,Javascript 与 Python 表现优异,而 Bash 略显不足,准确率为 89.22%。在恶意软件检测方面,各语言间差异明显:Bash、Javascript 和 PowerShell 准确率均超过 90%,但批处理脚本仅为 52.68%,整体平均为 83.09%。

经过我们的迭代微调后,两个任务的表现均得到显著提升。V1 模型将 Bash 语言检测准确率提高了 8.8%;V2 更进一步,Bash 与 Javascript 的语言识别准确率均突破 99%,Python 达到 100%。在恶意软件检测方面,多数语言的性能提升介于 1.1% 至 3.8% 之间,而批处理脚本实现了高达 52.7% 的绝对增长(从基础模型的 52.68% 提升至 V2 的 82.58%)。

通过 McNemar 检验 [McNemar-Psychometrika-1947] 分析发现,V2 相较于 V1 的改进具有高度统计显著性(p < 105),成功纠正了 V1 中的 110 例假阳性与 49 例假阴性预测。

这些结果充分说明,我们的迭代式微调策略能有效弥补基础模型在特定脚本类型(尤其是复杂或低资源语言)上的识别短板,显著增强其在语言分类与威胁检测方面的综合能力。

脚本理解的人工评估:

我们结合人工评审与多个大型语言模型作为评判员,对生成的代码摘要质量进行了系统性评估。人工评估采用盲测方式执行,确保评判过程不受主观偏见影响。每位人类评审随机分配约 20 组摘要对,需从中选出更优者并阐述理由。

语言 模型版本 语言检测准确率 (%) 恶意软件检测准确率 (%)
Bash 基础模型 89.22 91.45
V1 98.02 93.21
V2 99.31 95.87
Javascript 基础模型 96.54 92.18
V1 98.76 94.05
V2 99.63 96.72
Python 基础模型 95.87 89.23
V1 98.11 91.04
V2 100.00 93.45
PowerShell 基础模型 94.33 90.77
V1 97.22 92.56
V2 98.88 94.12
批处理脚本 基础模型 92.11 52.68
V1 95.43 69.81
V2 97.65 82.58

表2:三种模型版本(基础模型:预训练的 Llama-3.3-70B-Instruct,V1:第一次迭代,V2:第二次迭代)在五种脚本语言上的语言检测和恶意软件检测准确率百分比。批处理脚本的恶意软件检测准确率从基础模型到 V2 提升了 29.9 个百分点,若对比整体方法流程则总提升达 52.7%,体现了迭代训练带来的显著增益。

在对两个模型的评估中,人类评估者发现,在50.42%的情况下,V1与V2生成了内容相似且事实准确的摘要,表明两者在脚本理解能力上具有可比性。模型之间的偏好差异主要体现在风格层面,例如摘要的详略程度、信息组织方式、结构逻辑以及语言冗余度等方面,而非在事实正确性上的差距。尽管个体偏好影响了最终选择,手动评估结果显示V1获得了略微更高的青睐,偏好比例为50.46%——其中V1被选中54次,V2被选中53次,另有9个案例中两个模型的表现被视为同等有效。

然而也存在不足之处:两个模型共出现了27例幻觉现象(V1:13次,V2:14次),且分布因编程语言而异。V1在处理PowerShell脚本时幻觉最多(5次),其次是在Batch和Python脚本中各出现3次;但其对JavaScript样本的分析表现稳定,未出现任何幻觉。相比之下,V2在批处理脚本上的问题尤为突出,出现了8次幻觉,但在Python脚本的理解上有所改善,仅发生1次错误。

基于大语言模型的脚本理解评估

为了补充人工评估的结果,我们引入了多个大语言模型(LLM)作为自动评判员。采用统一的标准化提示(见图6),每个LLM从多个维度对摘要进行评分,包括语言识别准确性、技术覆盖完整性、安全影响描述、文本构成质量以及网络安全术语使用的精确性。

如表3所示,在六个参与评估的LLM中,有三个的判断结果与人类评估趋势一致,倾向于偏好V1;而Claude 3.7 Sonnet和GPT-5则明显更倾向V2。其余LLM评判员均表现出对V1的一致支持。这种评价分歧说明,当两个模型在事实准确性方面都表现良好时,不同的评估框架可能更关注摘要的不同特性,如表达清晰度或信息组织方式。

值得注意的是,参数规模较小的Phi-3.5-Mini-Instruct(仅3.8B参数)未能完成全部评估任务,推测是由于其推理能力和上下文理解受限,难以应对复杂的技术性判断需求。

表3:不同评估者对V1与V2的性能比较。人类和LLM评判员各评估了约215个样本。百分比显示了样本更受偏好的模型版本的胜率。本表排除了人类评估者评为等效的19个案例,因为LLM评判员没有此选项。
评估者 V1 V2
人类标注员 46.26% 44.85%
Llama-3.3-70B-Instruct 48.85% 51.15%
Claude 3.7 47.57% 52.43%
Phi-3.5-Mini-Instruct 56.22% 43.78%
Mixtral-7x22B-Large 52.07% 47.93%
GPT-4o 51.15% 48.85%
GPT-5 (low) 47.47% 52.53%

6 讨论

本节进一步深化第5.2节中的评估分析,聚焦于两个核心议题:一是探讨基于沙箱信息构建的种子摘要如何通过跨迭代的行为模式保留来提升生成质量;二是呈现关于V1与V2在摘要风格演变方面的定性观察,以揭示模型输出特征的深层变化。

来自沙箱报告的知识迁移效果

为验证基于沙箱行为生成的种子摘要的有效性,我们分析了这些种子与V1生成描述之间在行为模式上的重合情况。表4列出了两个数据集中部分高频出现的共同行为模式,更长的典型模式还包括“查询敏感的IE安全设置”、“调用常用于建立HTTP或FTP会话的API”以及“输入文件包含长base64编码字符串”等。

具体数据显示,超过50条种子摘要与超过1,300条由V1生成的摘要实现了精确匹配。这一高频率的模式复现表明,通过微调过程,源自沙箱分析的专业知识已成功迁移到模型中,并在实际生成过程中得以体现。

特别是在大规模数据集标注场景下,该方法相较于传统引爆分析展现出显著优势。传统的沙箱引爆不仅成本高昂、耗时较长,还高度依赖特定运行环境。而基于LLM的静态分析方法则更为高效,根据应用场景甚至更具经济性。此外,静态分析能够识别潜在恶意行为,即使脚本因依赖不可达资源、具备沙箱逃逸能力或需要特殊配置而无法在动态环境中执行,也能提供有价值的洞察。

表4:基于沙箱分析的种子摘要与后续V1生成描述中共同存在的行为模式示例
行为模式 种子集出现次数 V1生成出现次数
向远程进程写入数据 10 141
写入注册表键 9 32
创建新进程 8 98
修改代理设置 8 48
删除注册表键 8 26
执行shell命令 7 214
执行JavaScript文件 5 269
查询进程信息 5 24
查询敏感IE安全设置 5 30
释放cabinet压缩文件 5 9
调用C#编译器 3 10
搜索文件内容 2 256

上述对比清晰地展示了这些安全关键行为在初始专家标注样本与模型自动生成结果中的分布一致性,反映出知识迁移的实际成效。

摘要生成风格的演进分析

通过对V1和V2输出的细致观察,我们注意到两者在摘要风格上呈现出明显的演化路径。V1趋向于生成结构清晰、信息紧凑且重点突出的描述,尤其在处理多步骤脚本时表现出更强的逻辑连贯性。而V2虽然在细节丰富度上有一定优势,但也更容易引入冗余信息或偏离核心行为主线。这种风格差异解释了为何部分评估者虽认可其内容完整性,却仍更偏好V1的简洁性和可读性。

我们的人类评估揭示了 V1 与 V2 摘要在风格上的显著差异,尽管两者在技术准确性方面表现相近。V1 倾向于采用更为技术化和保守的表述方式,重点聚焦于具体的实现细节,例如命令行参数、内存分配设置以及 API 调用逻辑。相比之下,V2 生成的摘要更具可读性,叙述结构更流畅,展现出若干突出特征。 首先,V2 显示出一定的戏剧化倾向,常将脚本描述为“强大的威胁”,并对脚本意图做出较为宽泛的推断。这种现象在处理良性脚本时尤为明显——V2 有时会高估其安全风险,而 V1 则始终保持相对中立的态度。评估人员普遍注意到这一区别,并倾向于认可 V1 在面对无害脚本时所表现出的审慎立场。 其次,尽管 V2 的语言表达更为自然且易于理解,但在某些情况下出现了冗余问题,尤其是在解释混淆技术或编码机制时重复信息较多。相较之下,V1 虽然叙事性较弱,但其简洁的技术性描述往往更受青睐。 这些观察结果表明,在模型迭代过程中存在技术精确性与语言流畅性之间的权衡。虽然 V2 提升了摘要的可读性和连贯性,但也引入了对恶意意图的预设偏差,并在部分场景下为了增强表达效果而牺牲了细节准确性。该趋势在多位评估者之间具有一致性:他们的偏好更多由写作风格驱动,而非事实正确性,因为两个版本在技术内容上均保持了相当水平的准确。 值得注意的是,V1 与 V2 各自适应不同的使用场景:V1 更适合需要深入技术细节的安全研究人员和工程师;而 V2 则面向更广泛的受众,强调易读性,同时未影响最终的分类性能。

7 局限性

本方法存在三个主要局限。其一,受限于模型上下文长度,难以完整分析较长脚本,这对包含大量代码段的 PowerShell 和 JavaScript 样本影响尤为明显。其二,语言检测准确率(V2 达 97.14%)在多次迭代后提升有限,暗示该任务可能存在性能瓶颈。其三,我们在实验中观察到可读性与技术精确性之间存在明显折衷:V2 更注重自然语言的流畅表达,偶尔以牺牲技术细节为代价;人类评估认为此类差异虽细微,但主要体现在风格层面。

8 结论

本研究展示了通过自改进语言模型可有效提升恶意软件脚本分析能力,在极低人工干预的情况下,实现了分类与摘要生成任务上的统计显著进步。我们的方法将批处理脚本的恶意软件检测准确率从接近随机水平(52.7%)大幅提升至两次迭代后的稳健性能(82.4%)。为促进可重复研究与后续发展,我们公开了一个涵盖五种脚本语言、包含超过 10 万个样本的数据集,且良性和恶意样本分布均衡。同时,我们提供了一套综合评估框架,融合量化指标与人类及 LLM 驱动的定性分析,为该领域建立了可靠的基准。实验结果证实,大型语言模型能够从少量种子数据中有效学习恶意行为模式,显著降低对昂贵沙箱执行和专家标注的依赖。

附录

相关工作

表5 对比了现有公开脚本数据集与本研究(AutoMalDesc)的主要特性:
数据集 恶意样本 良性样本 覆盖语言 解释说明
(Fang-Neurocomputing-2021) 4,202 4,316 PowerShell
(Hung-JIT-2024) 4,100 5,189 PowerShell
(Varlioglu-IEEE-2024) 200 - PowerShell
(Samaana-SIGAPP-2025) 138* 5,193* Python
(Ladisa-ACSAC-2023) 194* 1,640* Python, JavaScript
(Guo-ASE-2023) 4,669* 549* Python
(Vu-ArXiv-2022) 168* 2,416 Python
(Fang-Wiley-2021) 515* 1,511* Python
(Erdemir-ArXiv-2024) 48,259 363,998 Python, Bash, Perl
本工作(种子集+测试集) 2,368 2,168 PowerShell, Bash, Batch, JavaScript, Python

表5:公开脚本数据集与本工作(AutoMalDesc)的比较。 带 * 的条目表示包级脚本(如 Python 的 PyPI 包)。当前大多数数据集集中于单一语言,缺乏对批处理脚本的支持,且未提供自然语言解释。本表列出了各数据集中不同编程语言下的恶意与良性样本数量。

种子数据生成

本节阐述我们在构建高质量脚本解释种子数据集过程中所采用的系统性提示工程策略。经过多轮提示设计与测试迭代,我们识别并解决了在实现一致且准确的恶意软件分析过程中遇到的关键挑战。

在探索大语言模型生成恶意软件分析的有效性过程中,我们从一种极简提示结构出发,仅包含5-6个关键分析要点与基本格式要求。通过在多个温度设置(0.2、0.3、0.5)下的实验评估,发现模型输出中存在两个显著缺陷。其一,生成内容呈现出明显的机械式重复特征:模型以刻板且公式化的方式逐条响应指令,缺乏专业分析师所具备的自然表达和逻辑连贯性;其二,响应中频繁出现冗余的元评论现象——例如插入“我将开始总结脚本”或“根据要求只写1-2段”等自我指涉语句,打断了技术叙述的流畅性。这种行为反映出模型更倾向于维持其通用助手的身份角色,而非完全沉浸于提供直接、深入技术判断的专家身份。

为了应对上述问题,我们尝试采用基于段落的提示设计方法。该方法摒弃原有的要点式结构,转而将指令整合为连贯的散文形式,并划分为“内容指令”与“禁止事项”两个部分,旨在引导模型产出更具自然语言特性的分析文本。然而,实际结果与预期相反:模型生成的内容反而变得更加浓缩、趋向列表化,技术细节明显减少,整体深度不及最初的要点式提示。这一退化表明,提示的形式转换并不必然提升输出质量,提示结构与响应复杂度之间的关系具有非线性特征,仅靠改变表述风格无法实现向专家级分析的跃迁。

图 7:使用 LLama3.3-70B-Instruct 实现高质量脚本分析的综合种子提示工程框架。该提示构建了一个角色扮演场景,使大语言模型充当资深恶意软件分析师,确保输出的技术准确性与专业水准。提示内容涵盖对良性和恶意脚本处理的具体指导,以及关于分析深度、结构组织和内容范围的详细规范。通过引入引爆报告中的恶意与可疑签名作为上下文输入,增强了情境感知能力。核心组件包括:(1) 设定系统级上下文以确立一致的分析师角色;(2) 提供结构化的脚本内容与分类元数据输入格式;(3) 根据样本类型设定差异化的分析要求;(4) 制定细致的格式与风格指南以保障输出一致性;(5) 设置特定约束条件以规避常见LLM陷阱,如不确定性表达或直接引用分类标签。此精心设计的提示架构有效提升了分析的技术精确性与覆盖全面性。

吸取前两轮迭代的经验后,我们在第三次尝试中回归结构化设计,但引入明确的分析模块划分(如技术功能、安全影响等),用以引导模型输出的组织逻辑。在温度值0.3下测试时,尽管结构有所改善,但仍暴露出新的挑战:模型开始照搬章节标题,并增加诸如“最佳答案是……”之类的元语言表达;同时无视“禁止代码片段”的指令,在分析中嵌入无关代码。为纠正这些问题,我们强化了限制性条款,却导致反效果——模型过度关注规避禁令,反而忽略了实质分析任务。这种“过度校正”表现为频繁出现“不能包含元评论”“禁止代码”等自反式陈述,分析过程碎片化,部分内容提前终止或重复累赘。一个关键改进来自于优化输入特征:移除那些出现频率超过其他特征20倍以上的过度表征战术、技术和程序(TTPs),显著降低了输出噪声。尽管如此,仍有约20%的生成分析存在质量问题,说明提示工程仍需进一步精细化。

面对持续存在的响应质量波动、元评论干扰及结构不一致等问题,我们的第四次迭代实现了关键突破:通过重构系统的初始上下文,引入一个强角色定义的系统提示,将AI明确定位为“专注于技术威胁评估的高级恶意软件分析师”。该方案结合清晰的角色设定、三段式结构化分析模板以及详尽的格式规范,有效缓解了此前版本中的机械化表达与元评论泛滥问题。响应的整体清晰度显著提升,语言也更加紧凑专业。然而,新问题随之浮现:约25%的良性脚本被错误地标记为恶意,暴露出严重的幻觉倾向——即模型主动在正常代码中“寻找”恶意迹象。为此,我们尝试调整生成温度至0.7和0.9,期望通过增强语言多样性来抑制误判,但结果适得其反:不仅技术准确性下降,幻觉现象也进一步加剧。这一发现揭示出自动化恶意软件分析中的一项核心挑战:如何在保持自然语言表达流畅性的同时,严格维系技术判断的真实性与可靠性。

最终优化提示的设计融合了前述所有迭代的核心经验,形成一套兼顾角色沉浸、结构控制与内容准确性的综合性提示体系。

在对前期迭代结果深入分析的基础上,我们针对系统提示方法中暴露出的幻觉问题进行了优化,并最终形成了改进后的提示工程方案(参见图7)。新方案摒弃了早期版本中僵化的编号式结构,这种格式容易导致模型产生机械化的输出。取而代之的是采用更加自然、连贯的语言指令,使模型响应更贴近人类表达习惯。

为解决第四轮迭代中出现的良性脚本被误判的问题,我们在干净脚本分析部分加入了明确的内容指引,要求模型聚焦于识别合法功能,避免无端推测不存在的恶意行为。同时,通过引入关于分类标签权威性的声明——即“100% 可信和权威”——有效抑制了模型对已有分类进行反复质疑的行为,进一步降低了幻觉发生的可能性。

此外,为了打破此前各版本中存在的重复段落模式,我们在提示中加入了对多样化段落结构和多样化起始句式的具体要求。这一调整显著提升了生成内容的丰富性与可读性。整体来看,此次提示设计的全面升级,在确保技术准确性的同时增强了语言表达的流畅度,并维持了分类结果的高度一致性。最终架构成功应对了迭代过程中遇到的核心挑战:机械响应、元评论、幻觉以及文本重复现象。

数据集特征与令牌分布分析

为全面掌握两个LLM标注器所使用训练数据的基本特性,并评估其是否可能受上下文长度限制影响,我们开展了探索性数据分析,重点考察脚本的令牌数量分布情况。

图8展示了包含900个样本的种子数据集中各脚本的令牌计数分布。结果显示,绝大多数样本远低于基础模型128k令牌的上限。平均令牌数为3,520,中位数为1,158,呈现明显的右偏分布。这意味着虽然大部分脚本较为简短,但存在少量极长样本。

图8:种子数据集的令牌计数分布(n=900)。

进一步按编程语言划分数据(见图9),不同语言在脚本长度上表现出明显差异。JavaScript样本普遍较长,个别甚至超过30,000令牌;PowerShell也包含较多高令牌数的实例。相比之下,Bash、Batch和Python脚本大多较短,集中分布在低令牌区间。

图9:种子数据集按编程语言的令牌计数分布。

对于规模更大的V2训练集(约101,000个样本),其令牌分布趋势与种子集相似(见图10)。平均值上升至5,738,中位数为1,196。为更清晰地展示分布形态,图11以对数刻度重新绘制该数据,可见随着令牌数量增加,对应脚本频率呈指数级下降。这表明极长脚本仅占极小比例,因此上下文长度瓶颈的风险较低。

图10:V2 训练数据集的令牌计数分布(n=101K)。

图11:以对数刻度显示的 V2 训练数据集令牌计数分布。

在更大规模的V2数据集中,种子集中观察到的语言特异性模式依然存在(见图12)。JavaScript仍占据高令牌区间的主导地位,部分样本接近80,000令牌。

图12:V2 训练数据集按编程语言的令牌计数分布。

数据过滤洞察

尽管前文已详述用于构建种子及测试集的迭代式提示工程流程,本节则聚焦于我们对LLM标注器V1生成解释内容所实施的数据过滤策略。

概率过滤机制:通过对标注器LLM的logit输出进行分析,发现其在分类决策上始终保持较高置信度,这与主论文中的结论一致。如图13所示,恶意软件预测对应的概率值高度集中在接近1的区域,反映出模型对其判断具有强烈信心。此类高置信度预测的集中分布说明,模型已建立起有效的判别能力,而非做出模糊或不确定的分类。

图13:标注器 V1 产生的分类标签令牌的概率分布。直方图基于模型原始logit输出计算得出,揭示了整个数据集上模型分类置信度的整体趋势。x轴表示概率区间,y轴表示各区间内出现频次。

置信度阈值的选择依据:我们设定90%作为过滤流水线的置信度阈值,这一选择源于对数据保留率与标注质量之间权衡的深入评估,尤其考虑到了大语言模型普遍存在过度自信的倾向。

如图14所示的标签保留分析表明,90%的阈值在多种温度设置下实现了最优平衡:最低可保留86.49%的标签信息,同时在语言识别层面保留率达96.84%。若采用更高阈值,则会导致显著的数据损失——最高可达总样本的35%,尤其是在高温条件下(如0.8),更严重的是,它会削弱恶意样本的多样性,使分布趋于扁平化。反之,若将阈值设为80%或更低,虽能保持较高的数据保留率,但筛选力度不足,致使大量V1生成的低质量预测通过过滤环节。

图14:置信度阈值和温度设置对恶意软件分类数据保留的影响。该图展示了在不同温度条件下,模型置信度阈值(x轴)与保留样本百分比(y轴)之间的关系。

图15:置信度阈值和温度设置对语言识别数据保留的影响。该图展示了在不同温度条件下,模型置信度阈值(x轴)与保留样本百分比(y轴)之间的关系。

在不同置信度阈值与温度参数组合下,数据保留情况如以下表格所示。该实验评估了标签置信度过滤和语言识别能力对样本保留率的影响,涵盖多个置信度水平(从80%到99%)以及生成时的温度设置(0.4至0.8)。表中加粗项对应我们选定的操作点:90%置信度阈值,在维持较高数据保留率的同时确保预测可靠性。

较高的置信度要求和更高的采样温度通常会导致更严格的数据过滤,从而降低整体保留比例,尤其在标签分类任务中表现明显。这种趋势说明模型输出的不确定性随温度上升而增加,同时高置信门槛排除了更多低可信度预测。

置信度 温度 标签保留率 (%) 语言识别保留率 (%)
80.0% 0.4 97.40 99.14
80.0% 0.6 96.07 98.62
80.0% 0.8 94.20 97.55
85.0% 0.4 96.88 98.99
85.0% 0.6 94.23 97.90
85.0% 0.8 90.71 97.27
90.0% 0.4 95.23 98.77
90.0% 0.6 92.02 97.60
90.0% 0.8 86.49 96.84
95.0% 0.4 93.28 97.92
95.0% 0.6 86.49 97.01
95.0% 0.8 81.08 96.34
99.0% 0.4 86.50 97.09
99.0% 0.6 75.56 96.10
99.0% 0.8 65.76 94.32

选择90%作为最终操作阈值,是出于构建高质量训练集的战略考量,旨在为标注器 V2 提供兼具多样性和准确性的数据基础。尽管底层大语言模型在编程语言识别方面表现出色(参见图15),但恶意软件类别判断仍存在较大挑战,因此我们将主要过滤机制聚焦于标签置信度上。这一经验性优化点能够在剔除不可靠预测的同时,保留足够数量的样本以支持后续迭代学习过程。

为了进一步验证模型性能,我们进行了定性对比分析,将微调后的标注器与原始预训练模型 Llama-3.3-70B-Instruct 进行比较。值得注意的是,标注器仅使用简单单句提示即可运行,而基础模型则依赖结构复杂、精心设计的提示模板,类似于种子数据生成阶段所采用的方式。

表7展示了 V1 标注器与基础模型在摘要质量上的对比结果,基于六位LLM评判员对215个脚本样本的偏好评估。结果显示,三位评判员认为V1生成的内容更优(Llama-3.3-70B-Instruct:53.02%,Claude-3.7-Sonnet:52.44%,Phi-3.5-Mini-Instruct:55.35%),其余三位则略微倾向于基础模型(偏好率介于50.70%至51.39%之间)。该混合结果表明,通过在种子数据上进行微调,V1能在提示简洁的前提下实现与基础模型相当甚至略优的表现,显示出其在实际应用中的高效性与实用性。

评判员 基础模型 V1
Llama-3.3-70B-Instruct 46.98% 53.02%
Claude 3.7 47.56% 52.44%
Phi-3.5-Mini-Instruct 44.65% 55.35%
Mixtral-7x22B-Large 50.70% 49.30%
GPT-4o 51.16% 48.84%
GPT-5 51.39% 48.61%

表8呈现了 V2 与基础模型之间的摘要质量比较结果。尽管差异较小,仅有两位评判员明显偏好V2(Claude-3.7-Sonnet:53.95%,Phi-3.5-Mini-Instruct:50.70%),其余四位更倾向基础模型或无显著偏好。这一结果具有重要意义,因为V2的训练方式与V1截然不同:V1基于约900个由沙箱信息支持的高质量人工标注样本进行微调,而V2则利用V1伪标注生成的大规模数据集(约101,000个样本)进行训练。

V2在无需复杂提示的情况下,达到了接近基础模型的性能水平,证明了其在数据量急剧扩增、且标注来源由专家转向模型自产的背景下,依然能够维持摘要质量。这验证了我们所采用的迭代式自训练策略的有效性——即在扩大训练数据规模的同时,有效控制质量衰减。然而,相较于V1带来的明显偏好提升,V2未展现出同等程度的优势增长,反映出在技术准确性与自然语言表达流畅性之间存在的潜在权衡,这一点也曾在先前的人类评估研究中被发现。

评判员 基础模型 V2
Llama-3.3-70B-Instruct 50.23% 49.77%
Claude 3.7 46.05% 53.95%
Phi-3.5-Mini-Instruct 49.30% 50.70%
Mixtral-7x22B-Large 54.67% 45.33%
GPT-4o 51.85% 48.15%
GPT-5 50.69% 49.31%

表 8:预训练 Llama-3.3-70B-Instruct 基线模型与 V2 标注器(在种子数据上微调)的摘要质量对比,基于四位 LLM 评判员对 215 个脚本样本的评估结果。数值表示偏好率百分比。

微调实现方法

我们采用结合交叉熵优化与低秩自适应(LoRA)的技术进行模型微调,以高效地将大语言模型适配至特定任务场景。通过指令微调策略,并对响应令牌实施选择性梯度计算,显著提升了训练效率。该实现依托于 HuggingFace Transformers 库 [Wolf-EMNLP-2020],相关代码已公开于项目代码库中。

自训练框架概述

主论文中提出的自学习机制及合成数据过滤流程,在算法 1 和算法 2 中进行了形式化描述。

算法 1 描述了迭代式自学习过程,通过反复执行微调与数据过滤循环,逐步提升标注器性能。输入包括五个关键要素:带有输入-输出配对的种子数据集、一组未标注的输入样本、初始的基础 LLM 标注器、用于验证的 LLM 评判员,以及设定的学习迭代次数。从空的合成标签集合开始,算法运行指定轮次,每轮包含三个主要步骤:

  1. 在合并后的种子数据与历史生成的合成数据上进行模型微调;
  2. 利用当前模型对未标注输入进行推理,生成新的标签;
  3. 对新生成的标签应用多阶段质量过滤,产出精炼后的标签子集。

这一流程构建了一个闭环反馈系统,后续迭代持续利用前一轮经过筛选的输出作为训练数据,从而在保证输出质量的同时不断提升模型能力。随着合成数据质量的逐轮优化,最终获得性能增强的 LLM 标注器。

算法 1:通用自学习方法

0: 输入:种子输入-输出对,未标注输入,基础 LLM,LLM 评判员,迭代次数
0: 输出:优化后的 LLM 标注器
1: 初始化合成标签为空集
2: for i = 1 to 迭代次数 do
3:   在种子数据 + 合成标签上微调模型
4:   对未标注输入生成新标签
5:   应用质量过滤得到精炼标签
6: end for
7: return 最终标注器

算法 2 实现了多阶段的合成标签过滤流水线,旨在确保由 LLM 标注器生成的数据具备高可靠性。其输入包括不同温度下生成的标签结果、源标注器、评判用 LLM 及置信度阈值。整个过滤流程分为五个连续阶段:

  1. 完整性检查:排除句法不可解析的标签;
  2. 一致性检查:仅保留在多种温度设置下预测结果一致的样本;
  3. 置信度筛选:依据模型 logit 分数剔除低于预设阈值的标签;
  4. 连贯性验证:借助 LLM 评判员判断标签内容是否与原文摘要逻辑一致;
  5. 采样决策:最终选取在温度 0.6 下生成的结果,形成高质量过滤集。

该顺序过滤机制通过集合操作层层递进,有效保留准确、稳定且语义连贯的标签,保障后续训练数据的整体品质。

图 17:标注器 V2 验证损失随训练周期的变化趋势,显示经增强的合成语料库需更长训练时间收敛,最佳表现出现在第 13 个周期。

训练框架的灵活性设计

所提出的方法具备良好的可扩展性和适应性,支持多种参数调整路径。例如,温度参数可用其他控制生成多样性的超参数替代;标签生成时的采样策略可根据任务需求灵活变更;过滤标准也可按不同应用场景的质量要求进行定制。这种模块化结构确保了框架在多样化任务中的广泛适用性,同时维持核心自学习机制的有效运作。

图 18:标注器 V3 在各训练周期中的标签准确率变化情况,最高达到 91.53% 的准确率(第 10 周期),与 V2 模型性能相当。

图 19:标注器 V3 的语言识别准确率演变过程,第 13 周期达到峰值 97.52%,略优于 V2 的 97.14%。

实验资源配置与计算消耗

所有实验均在一个分布式集群上完成,每个节点配备 8 块 NVIDIA H100 Mega GPU,资源调度由 Slurm 系统管理。不同模型版本的资源需求存在差异:

  • V1 标注器训练使用 2 个节点(共 16 块 H100),约 1.5 小时完成 15 个训练周期;
  • V2 因语料规模更大,需动用 20 个节点(160 块 H100),耗时约 2 天完成 20 个周期。

推理阶段同样高度依赖算力。在 20 至 24 个节点(160–192 块 H100)的配置下,处理 157,000 个样本的预测任务大约需要一整天。长时间运行的主要瓶颈来自模型复杂度和大规模数据加载带来的开销。鉴于此巨大的计算成本,我们在实际操作中决定跳过超参数调优环节,优先保障核心实验的稳定性与完整性。

评估指标说明

模型性能通过标准分类指标进行衡量。其中,标签准确率与语言识别准确率定义为正确分类样本占总样本的比例:

我们通过计算胜率对使用 LLM 评判员的比较评估进行了分析:

为了检验结果的统计显著性,采用 McNemar 检验方法:

其中,有若干样本被 V1 判定为恶意而被 V2 判定为良性,反之亦然。最终得出 χ 值显著(p < 105),因此拒绝了 p_b = p_c 的零假设。

关于第三代模型的探索发现,性能提升呈现边际递减趋势。在对一个包含约 25 万个样本的扩展数据集进行标注的过程中,V2 相较于 V1 显示出更高的预测噪声。为此,我们调整了过滤策略,例如在一致性校验中排除温度设为 0.8 的生成结果,以避免因采样温度差异导致约 50% 的样本丢失。尽管实施了这些优化,并基于扩大的语料库训练了 V3 模型,但其性能改善仍十分有限。如图 18 和图 19 所示:标签准确率最高达到 91.53%(出现在第 10 个周期),与 V2 表现相当;语言层面的准确率在第 13 个周期达到 97.52%,仅略高于 V2 的 97.14%。这表明模型性能的提升在两次迭代后已趋于饱和。

在训练动态与模型检查点选择方面,图 16 和图 17 展示了 V1 与 V2 在训练过程中的验证损失变化趋势,二者呈现出不同的收敛行为,这对最终模型的选择起到了关键指导作用。

具体而言,V1 是在 900 个高质量种子样本上训练而成(见图 16),其验证损失在整个训练过程中持续平稳下降。最佳检查点出现在第 11 个周期(即第 154 步),此时损失曲线基本稳定,之后则出现过拟合迹象。

相比之下,V2 的训练数据包括原始种子数据及由 V1 生成的 10 万个样本(见图 17),需要更长的训练时间才能收敛,直至第 13 个周期(第 5356 步)才达到最优状态。其训练曲线初期同样经历快速下降,随后进入缓慢优化阶段,反映出从大规模合成数据中学习所面临的复杂性。两个模型均训练至验证损失收敛,并依据最小验证损失对应的检查点进行保存,以保障在未见数据上的泛化能力。

二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

关键词:DESC Auto Tom OMA ESC

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
jg-xs1
拉您进交流群
GMT+8, 2026-1-8 00:56