Command execution
Keep untrusted values out of shell grammar and process selection.
The question to answer
Can any value change the executable, argument boundaries, or shell syntax?
What to verify
- Prefer a fixed executable with an argument array.
- Keep shell mode disabled unless shell syntax is the explicit requirement.
- Constrain executable selection and validate each argument for its domain.