Add a rule flagging unsafe deserialization in Python.
Where: signetry_core/pipeline/findings/deterministic.py (_scan_python).
Detect: pickle.loads(...) / pickle.load(...) on non-constant input; yaml.load(x) without Loader=SafeLoader; marshal.loads.
Must NOT flag: yaml.safe_load(...), or yaml.load(x, Loader=yaml.SafeLoader).
Acceptance criteria:
- Rule id
py.insecure-deserialization, category deserialization, CWE-502, severity HIGH.
- Tests: one vulnerable case detected, one safe case (safe_load) not flagged.
pytest + ruff green.
Add a rule flagging unsafe deserialization in Python.
Where:
signetry_core/pipeline/findings/deterministic.py(_scan_python).Detect:
pickle.loads(...)/pickle.load(...)on non-constant input;yaml.load(x)withoutLoader=SafeLoader;marshal.loads.Must NOT flag:
yaml.safe_load(...), oryaml.load(x, Loader=yaml.SafeLoader).Acceptance criteria:
py.insecure-deserialization, categorydeserialization,CWE-502, severityHIGH.pytest+ruffgreen.