Python Profile
Load when the diff touches *.py or Python service code.
Checks
PY-001Mutable defaults (HIGH): shared state across calls from mutable default args.PY-002Async blocking (HIGH): blocking I/O in coroutine paths.PY-003Dangerous execution (CRITICAL):eval/exec/unsafe deserialization on untrusted input.PY-004Injection surfaces (CRITICAL): SQL string interpolation,subprocess(..., shell=True)with user input.PY-005Iterator/lifecycle bugs (MEDIUM): exhausted iterators reused or context cleanup omitted.PY-006Type-blind boundaries (MEDIUM): weakly validated external payloads.
Evidence Expectations
- Show exact call path where untrusted input crosses into dangerous API.
- Include deterministic repro condition when possible.