Linux KVM Zapscape虚拟机逃逸漏洞检测脚本

KVM 虚拟化环境一旦出现虚拟机逃逸漏洞,攻击者就可能从虚拟机直接打到宿主机,影响面很大。
Zapscape 是近期被公开讨论的这类安全风险,目前主要靠检测脚本判断主机是否受影响。
这篇文章会带你从零开始,完成检测脚本的准备、执行、结果解读和常见排错,全程不需要太深的内核知识,照着做就行。

检测前,先把这几项准备好

开始之前,请先确认三件事:

  • 你有一台KVM 宿主机的 SSH 登录权限,且当前用户支持 sudo
  • 宿主机系统为 Linux,内核架构一般为 x86_64 或 ARM64,脚本需要以 root 权限读取 /proc/sys 下的关键信息。
  • 检测脚本建议从官方公告或可信安全渠道下载,不要随意从第三方博客复制不明脚本,避免引入新的安全风险。

如果无法确定脚本来源,可以先用 sha256sum 校验文件哈希,再与发布方给出的哈希值比对。
这一步虽然简单,但在安全场景下非常必要。

下载并执行 Zapscape 检测脚本

登录宿主机后,先创建一个专用目录,避免脚本文件散落:

mkdir -p ~/zapscape-check && cd ~/zapscape-check

将检测脚本放到这个目录下(假设文件名为 zapscape_check.sh),然后赋予执行权限:

chmod +x zapscape_check.sh

执行检测前,建议先用 Bash 语法检查,防止脚本文件在传输过程中损坏:

bash -n zapscape_check.sh

没有输出说明语法正常。
接着用 root 权限运行:

sudo ./zapscape_check.sh

脚本运行时间一般在几秒到几十秒,期间会收集内核版本、KVM 模块参数、CPU 虚拟化特性等信息。
如果脚本内部会更新缓存或写入临时文件,注意不要让脚本在你完全不信任的环境变量下运行,比如可以先清理一下环境:

env -i HOME=$HOME PATH=$PATH TERM=$TERM ./zapscape_check.sh

实际执行时,以你下载的脚本说明为准。

看懂输出结果,判断是否受影响

脚本执行完毕后,通常会输出以下几种结果之一:

  • Vulnerable(受影响):当前主机的 KVM 配置或内核状态符合漏洞触发条件,需要尽快处理。
  • Not Vulnerable(不受影响):主机状态安全,但仍建议继续关注官方更新。
  • Unknown / Manual Review Required(需要人工复核):脚本无法自动判断,需要人工查看输出中的关键字段。

不要只看最后一行结论,建议把输出内容保存下来便于复查:

sudo ./zapscape_check.sh | tee zapscape_result.txt

然后重点检查这几项信息:

  • 当前内核版本与 KVM 模块版本;
  • 是否开启了嵌套虚拟化;
  • 虚拟机 CPU 模型是否与漏洞触发路径相关。

如果结果包含“processor flags(处理器特性标志)”或“kvm module parameters(模块参数)”,可以对照官方公告里给出的受影响特征逐项确认。

常见报错与避坑指南

缺少依赖命令,比如 lscpumodinfo 不存在。
可以先用包管理器安装 util-linuxkmod

sudo apt update && sudo apt install -y util-linux kmod   # Debian/Ubuntu
sudo yum install -y util-linux kmod                       # RHEL/CentOS

脚本提示 Permission denied
检查文件权限和执行方式:

ls -l zapscape_check.sh
sudo bash zapscape_check.sh

误把宿主机当虚拟机检测
Zapscape 针对的是 KVM 宿主机,如果你在虚拟机内部运行,检测结果可能不适用。
请先确认环境:

systemd-detect-virt

输出为 kvm 时,说明当前就在虚拟机里;
输出为 none 时才大概率是宿主机或物理机。

避免在业务高峰期直接执行带内核模块操作的检测
部分检测脚本会加载或卸载测试模块,可能短暂影响虚拟化性能。
建议先在测试环境跑一遍,确认无副作用后再在生产主机执行。

确认受影响后,怎么处理

如果脚本确认主机受影响,先不要慌张,可以按以下顺序处置:

  1. 确认业务影响:临时迁移该宿主机上的关键虚拟机,或做好备份快照。
  2. 关注官方补丁:KVM 相关漏洞一般通过内核补丁修复,请留意发行版安全公告,及时更新 kernelqemu-kvm 软件包。
  3. 加固配置:如果官方给出临时缓解措施,比如关闭嵌套虚拟化或调整 CPU 模型,可结合业务情况评估后实施。
  4. 复查:补丁安装完成后,重启宿主机并再次运行检测脚本,确认结果变为“不受影响”。

整个自查过程建议记录执行时间、脚本版本、输出结果,方便后续安全审计。
如果你正在处理 331.Linux KVM Zapscape虚拟机逃逸漏洞检测脚本,自查受影响主机,建议先按本文步骤完整执行,再根据自己的环境做微调;
遇到异常时优先回看避坑和高频问题部分。

分享到:
上一篇
KVM虚拟机网卡多队列virtio‑net‑queues提升
下一篇
npm供应链蠕虫400+投毒包,Node项目依赖安全自查流程
1
系统公告

机房迁移升级通知

尊敬的用户: IP 段 103.23.148.x、156.224.29.x 原香港一区线路波动、攻击频繁,平台定于 7 月 5 日凌晨分批迁移至香港 GIA 机房,硬件升级 AMD 铂金机型。 迁移均在凌晨操作,最大程度降低业务影响,迁移期间服务器临时关机; 升级后配置不降低、费用不涨价,数据默认同步迁移; 迁移后 IP 全部更换,请及时修改域名解析、防火墙白名单; 建议提前备份重要数据,有问题可联系在线客服。 感谢理解与支持! 泽御云科技 2026.06.30
服务中心
客服
在线客服
24小时为您服务
咨询
联系我们
联系我们,为您的业务提供专属服务。
24/7 技术支持
如果您遇到寻求进一步的帮助,请过工单与我们进行联系。
24/7 即时支持
泽御云
售前客服
泽御云
泽御云
售后客服
泽御云
技术支持
评价
您对当前页面的整体感受是否满意?
😞
非常不满意
😕
不满意
😐
一般
🙂
满意
😊
非常满意