avoid deserializing untrusted YAML

Metadata

ID: python-security/yaml-load

Language: Python

Severity: Warning

Category: Security

Description

Avoid deserialization of untrusted YAML data via potential unsafe yaml.load.

This rule checks that the yaml module is used and the load method is used. It recommends the usage of safe_load that prevents unsafe deserialization.

See Also

Non-Compliant Code Examples

from yaml import load

load("string") # should use safe_load
import yaml

yaml.load("string") # should use safe_load

Compliant Code Examples

import yaml

yaml.load("string", loader=yaml.SafeLoader) # uses SafeLoader, so load is okay
yaml.load("string")