Dill显然是一个非常有用的模块,而且只要您仔细地管理文件,它就显得相对安全。但是,我对以下说法感到不安:
因此,莳萝并非旨在防止错误或恶意构建的数据。留给用户决定他们释放的数据是否来自可信赖的来源。
我在https://pypi.python.org/pypi/dill中阅读。留给用户决定如何管理他们的文件。
如果我理解正确的话,一旦莳萝腌了它,您将无法 轻易地 找到原始脚本在没有某些特殊技能的情况下会做什么。
我的问题是:尽管我没有看到警告, 但泡菜也存在类似情况吗?
莳萝建立在泡菜的顶部,警告和腌菜一样适用于泡菜。
Pickle使用 堆栈语言 有效地执行任意Python代码。例如,攻击者可以潜入指示以打开到计算机的反向端口。永远不要使用来自不受信任来源的腌制数据。
该文档包含一个明确的警告:
警告 :该pickle模块对于错误或恶意构建的数据并不安全。切勿挑剔从不可信或未经身份验证的来源收到的数据。
pickle