介绍pickle 反序列化机制及其__reduce__攻击原理,复现 Hugging Face Transformers 库中的反序列化漏洞CVE-2024-3568,分析 Transformers 库中的安全隐患并提出安全加固的有效方案。详细内容参见实验PDF文档。
(poc作者代码详见CVE-2024-3568或者author_inf文件夹)
漏洞位置
TFAutoModel.load_repo_checkpoint() 方法(Transformers ≤ v4.37.2)
攻击原理
恶意检查点中的 extra_data.pickle 文件通过 pickle.load() 反序列化时触发RCE
影响范围
# 详细配置说明见实验PDF
pip install transformers==4.37.2 tensorflow
git clone https://github.com/llm-sec/transformer-hacker
详见PDF文档。
test.py、test2.py涉及原理分析(由AI问小白辅助,感谢技术突破带来的生产力提升)。
恶意检查点生成 (具体命令见PDF文档)
漏洞触发 (代码示例见PDF文档)
攻击验证 (验证方法见PDF文档)
load_repo_checkpoint()方法详细技术分析: 完整漏洞原理、利用过程和防御策略请参考实验PDF文档 POC实现:poc作者代码详见CVE-2024-3568或者author_inf文件夹