avoid deserializing untrusted YAML

This page is not yet available in Spanish. We are working on its translation.
If you have any questions or feedback about our current translation project, feel free to reach out to us!

Metadata

ID: python-security/yaml-load

Language: Python

Severity: Warning

Category: Security

CWE: 502

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")
https://static.datadoghq.com/static/images/logos/github_avatar.svg https://static.datadoghq.com/static/images/logos/vscode_avatar.svg jetbrains

Seamless integrations. Try Datadog Code Analysis

PREVIEWING: rtrieu/product-analytics-ui-changes