Command injection risk
CriticalAV-RUNTIME-004Runtime safetyCore pack
What it finds
`exec(`/`spawn(` called with a variable derived from request input, `shell: true`, `child_process`, `os.system`, or `subprocess`.
Why it matters
If user- or model-controlled input reaches a shell, an attacker may execute arbitrary commands.
How to fix it
Avoid shell execution; use allowlisted commands, pass args as arrays, validate every argument.
Pro shows the corrected code for your exact file, step by step, and re-scans to confirm the fix. See plans
Check details
- Finding code
- COMMAND_INJECTION_RISK
- How it detects
- Looks for a specific risky pattern in the code or config.
- Confidence
- Definite: the risky setting is written plainly in the file.
- Scans
- Agent source in languages with shell/process execution (JS/TS/Python)
Check your agent for this
Paste your agent code or MCP config. The free scan runs all 124 checks in about 10 seconds — no account needed.
Related checks
- Unsafe dynamic code executionAV-RUNTIME-005 · Critical
- Privileged or host-mounted container configurationAV-RUNTIME-007 · Critical
- SQL query built from unescaped inputAV-RUNTIME-009 · Critical
- Unsafe deserialization of untrusted dataAV-RUNTIME-010 · Critical
- Prompt injection surface detectedAV-RUNTIME-002 · High
- Unsandboxed browser automationAV-RUNTIME-008 · High