MCP stdio ShellGuard — MCP-сервер для Claude Code
Обёртка над вызовами shell в MCP-серверах: allowlist, песочница и детект повторов, плюс CLI, который ищет опасные места в исходниках.
claude mcp add stdio-shellguard -- npx -y mcp-stdio-shellguardЧто делает MCP stdio ShellGuard
MCP stdio ShellGuard закрывает класс атак, при котором MCP-сервер выполняет команду из необработанного пользовательского ввода. Работает в трёх слоях, и каждый можно взять отдельно.
Первый слой — библиотека: guardExec и guardSpawn вместо child_process.exec/spawn. По умолчанию всё запрещено, пока не зарегистрируешь инструмент через AllowlistRegistry с путём к исполняемому файлу и шаблонами аргументов. Песочница задаёт лимиты по времени, размеру вывода и числу файловых дескрипторов, а окно повторов отсекает одинаковые вызовы.
Второй слой — CLI mcp-shellguard-audit: обходит AST файлов и находит 12 антипаттернов от мелких (нет таймаута) до критичных (строка с интерполяцией ввода внутри exec). Есть код возврата для CI: 0 если чисто, 1 если находки есть. Требования жёсткие — Node.js 20 или новее и SDK @modelcontextprotocol/sdk версии ^1.29.0; на старом Node сервер просто не поднимется.
Какие задачи решает
- проверить MCP-сервер на строки с интерполяцией ввода в
exec - запретить вызовы вне зарегистрированного списка инструментов
- ограничить время работы и объём вывода дочерних процессов
- поймать повторный одинаковый вызов команды
- встроить аудит shell-вызовов в проверку CI
Примеры запросов агенту
- Просканируй
./srcна опасные shell-вызовы и покажи отчёт в markdown - Зарегистрируй инструмент
git-logдля/usr/bin/gitс аргументами толькоlog --oneline -n - Проверь, не было ли уже такого вызова команды с этим хешем
Как установить MCP stdio ShellGuard
Командой платформы
claude mcp add stdio-shellguard -- npx -y mcp-stdio-shellguardКомандой платформы
codex mcp add mcp-stdio-shellguard -- npx -y mcp-stdio-shellguardФайл настроек
{
"mcpServers": {
"mcp-stdio-shellguard": {
"command": "npx",
"args": [
"-y",
"mcp-stdio-shellguard"
]
}
}
}Файл настроек
{
"servers": {
"mcp-stdio-shellguard": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"mcp-stdio-shellguard"
]
}
}
}Командой платформы
gemini mcp add mcp-stdio-shellguard npx -y mcp-stdio-shellguardПо шагам, с командами для каждой платформы: Как подключить MCP-сервер: Claude Code, Codex, Cursor, VS Code, Gemini CLI и другие
Вопросы о MCP stdio ShellGuard
Как установить MCP stdio ShellGuard в Claude Code?
Одной командой: claude mcp add stdio-shellguard -- npx -y mcp-stdio-shellguard.
Что делает MCP stdio ShellGuard?
Даёт безопасные guardExec и guardSpawn с allowlist и песочницей, CLI для поиска shell-инъекций в исходниках и справочный сервер с восемью инструментами для отладки.
Какая версия Node.js нужна?
Node.js 20 или новее, вместе с @modelcontextprotocol/sdk ^1.29.0.