Skip to content
FendixDocumentationDocs

.fendix.yaml · SEC-001 · SARIF

Current release v3.7.0
CheckStablev3.7.0

subprocess with shell=True and a non-literal command

subprocess with shell=True and a non-literal command: an injection check run by the semgrep analyzer.

On this page
python-subprocess-shell-true-with-variable
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.

Analyzer Registry · Findings and release decisions · Policy and confidence

Remediation guidance: Remediation and fix verification · Baselines and suppressions