===================================
0x01 工具介绍
-
所有 PyTorch <= 2.4.1 的版本
0x02 安装与使用
-
初始化 RPC:使用 RPC 前,先用
rpc.init_rpc
初始化 RPC 框架。 -
调用
rpc.remote
: -
指定目标节点的名称或 ID。
-
传入要调用的函数及参数。
-
该函数异步执行,返回一个 RRef 对象。
-
处理返回值:通过 RRef 可以获取远程计算结果,但要注意,RRef 是远程对象的引用,不是直接的数据。
rpc.remote
的简单示例:import torch
import torch.distributed.rpc as rpc
# 初始化 RPC
rpc.init_rpc("worker0", rank=0, world_size=2)
# 定义一个加法函数
def add_tensors(tensor1, tensor2):
return tensor1 + tensor2
# 使用 rpc.remote 调用远程函数
rref_result = rpc.remote("worker1", add_tensors, args=(torch.ones(2), torch.ones(2) * 2))
# 获取结果
result = rref_result.to_here() # 阻塞直到结果可用
print(result) # 输出: tensor([3., 3.])
# 关闭 RPC
rpc.shutdown()
0x03 下载链接
原文始发于微信公众号(网络安全者):PyTorch RemoteModule 反序列化远程代码执行漏洞(CVE-2024-48063)
- 左青龙
- 微信扫一扫
- 右白虎
- 微信扫一扫
评论