在Ruby中是否有与yaml.safe_load相同的东西?

Dan*_*Tao 4 ruby python security yaml

Rails中一个相当引人注目的安全漏洞最近揭示了在Ruby应用程序中解析用户提供的YAML的潜在危险.

快速谷歌搜索显示,Python的YAML库包含的safe_load方法只能反序列化"简单的Python对象,如整数或列表",而不是任意类型的对象.

Ruby有同等的吗?有没有办法安全地接受Ruby应用程序中的YAML输入而无需手工编写自定义解析器?

Dan*_*Tao 6

按照Jim的建议,我继续编写了safe_yaml,这是一个添加YAML.safe_load方法的宝石,并在内部使用Psych进行繁重的工作.