Question
Which practice avoids a common mistake with subprocess and Shell Boundary Safety?
- Do not interpolate untrusted input into shell strings when an argument list and direct invocation would preserve safety and clarity.
- Ignore the subprocess and Shell Boundary Safety issue and rely on team discipline instead of clearer APIs or invariants.
- Silence the subprocess and Shell Boundary Safety problem by using broad catches, hidden globals, or extra shared mutable state.
- Prefer the version of subprocess and Shell Boundary Safety that makes behavior less predictable as long as the code still runs.
Hint
Look for the option that protects correctness instead of hiding the problem.
Answer and rationale
Correct answer: A. Do not interpolate untrusted input into shell strings when an argument list and direct invocation would preserve safety and clarity.
Do not interpolate untrusted input into shell strings when an argument list and direct invocation would preserve safety and clarity. This is a common failure mode in real Python code and a frequent interview follow-up.
Track: Python