- Analyzer
- semgrep
- Category
- Injection
- Default severity
- CRITICAL
- CWE
- CWE-78
- Execution
- Passive
- Authentication
- Not required
- Applicability
- python
- Availability
- stable
What it detects
subprocess with shell=True and a non-literal command: an injection check run by the semgrep analyzer.
Evidence
The Semgrep source location, rule identity, and bounded match context normalized into Fendix evidence.
Remediation
subprocess with shell=True and a non-literal command — command injection risk. Drop shell=True and pass argv as a list, OR shlex.quote() each interpolated argument if shell semantics are truly required.
Limitations
This check is limited to the applicability and evidence delivered by semgrep. Review the evidence in context; a match is a finding input, while confidence and policy determine its disposition.
Related reference
Analyzer Registry · Findings and release decisions · Policy and confidence
Remediation guidance: Remediation and fix verification · Baselines and suppressions