v0.6.0 — secure mode by default
⚠️ Breaking change
Secure mode is now the default. With no config file, mcp-shell boots restricted to a narrow allowlist of read-only utilities. To restore the previous unrestricted behavior you must opt in explicitly:
MCP_SHELL_ALLOW_UNSAFE=true mcp-shellSecurity fixes
Closes three advisories where "secure mode" did not deliver the advertised restriction:
- GHSA-f5pj-2738-996m (critical) — security was disabled by default in the bare-binary install path.
- GHSA-3x77-wg38-92r3 (high) —
/bin/bash(andpython3) in the default allowlist bypassed secure mode viabash -c. - GHSA-74hp-mggr-hv58 (high) — git shell-alias bypass (
git -c alias.x=!cmd);!was missing from the metacharacter blocklist.
What changed
- Built-in secure defaults — no config file required.
- Shell/language interpreters removed from the default
security.yaml, with a startup warning if one is allowlisted. !/=!blocked as shell metacharacters.- Fixed the misleading "security disabled" startup log.
Thanks to @dodge1218, @EQSTLab and @useworld for the reports.