使用Python以二进制读模式处理恶意软件文件是否会感染?
关于读取恶意软件二进制文件的安全疑问解答
疑问一:读取恶意软件二进制文件是否会导致感染?
不会。open(file_path, 'rb').read()只是将文件的二进制字节内容读取到Python进程的内存中,这个过程没有执行任何恶意代码。恶意软件要实现感染,必须让其包含的指令被系统执行(比如运行可执行文件、加载恶意代码到内存并触发执行),单纯读取字节内容完全不会触发这个过程,所以不会导致设备感染。
疑问二:计算哈希和HTTP发送恶意文件的操作是否安全?
你的这两个操作都是安全的:
- 计算MD5哈希的代码
hashlib.md5(open(file_path, 'rb').read()).hexdigest():只是对读取到的二进制字节做哈希摘要计算,全程没有执行恶意代码的逻辑; - 构造文件对象的代码
file = {'file': (file_path.name, open(file_path, 'rb'))}:只是准备要发送的文件字节流,同样没有触发恶意代码的执行。
这两个操作都属于只读二进制内容的范畴,不会让恶意软件的指令得到执行,因此不会造成设备感染。
内容的提问来源于stack exchange,提问作者Dan
相关产品推荐
相关产品推荐

