UNPKG

pi-lens

Version:

Real-time code feedback for pi — LSP, linters, formatters, type-checking, structural analysis & booboo

49 lines (38 loc) • 1 kB
# Python Security # Detects unsafe deserialization APIs. id: python-insecure-deserialization name: Insecure Deserialization severity: error category: security defect_class: injection inline_tier: blocking language: python message: "Potential insecure deserialization sink — avoid unsafe loaders" description: | Deserializing untrusted input with pickle/yaml unsafe loaders can lead to code execution. ✅ FIX: use safe parsing formats or safe loaders and strict schema validation. query: | (call function: (attribute object: (identifier) @MOD attribute: (identifier) @FN) arguments: (argument_list (_) @DATA) (#match? @MOD "^(pickle|yaml)$") (#match? @FN "^(load|loads|unsafe_load)$")) metavars: - MOD - FN - DATA post_filter: py_insecure_deserialization_sink has_fix: false tags: - python - security - deserialization - cwe-502 - owasp-a08 examples: bad: | obj = pickle.loads(request_body) good: | obj = json.loads(request_body)