Appearance
SEC549 / MCP-AUTOAPPROVE-SUDO
SEC549 flags MCP configuration when autoApprove includes the exact tool token Bash(sudo:*).
Why It Matters
sudo is an explicit privilege-escalation boundary. Auto-approving it removes review from one of the highest-risk shell execution paths in MCP clients.
Trigger Shape
- the file is a detected MCP configuration surface
autoApproveis a string array- the array contains the exact item
Bash(sudo:*)
Clean Cases
- narrower reviewed shell permissions without
sudo - MCP configs that leave privileged execution review-gated
- configs without
sudoinautoApprove
Example Trigger
json
{
"mcpServers": {
"demo": {
"command": "node",
"args": ["server.js"],
"autoApprove": ["Bash(sudo:*)"]
}
}
}Safer Example
json
{
"mcpServers": {
"demo": {
"command": "node",
"args": ["server.js"],
"autoApprove": ["Read(*)"]
}
}
}How To Fix
Remove sudo from autoApprove and keep privileged shell escalation under explicit user review.