問題概述
許多用戶在 Apple Silicon (M1/M2) Mac 上嘗試運行 W3AF Docker 鏡像時遇到了以下錯誤:
WARNING: The requested image's platform (linux/amd64) does not match the detected host platform (linux/arm64/v8) and no specific platform was requested
qemu: uncaught target signal 11 (Segmentation fault) - core dumped
這個問題的根本原因是架構不匹配 - 您正在嘗試在基于 ARM 的 Apple Silicon Mac 上運行為 x86_64 架構構建的 Docker 鏡像。
深入理解問題
架構差異
- Apple Silicon Mac 使用 ARM64 架構
- 大多數 Docker 鏡像(包括 W3AF)是為 x86_64 架構構建的
- Docker 使用 QEMU 仿真來運行不同架構的鏡像,但這并不總是完美工作
W3AF 的特殊性
W3AF 是一個相對老舊的安全工具,其依賴鏈復雜,特別是在仿真環境中容易出現問題。這導致了 QEMU 中的段錯誤,使容器無法正常運行。