shell-wrapper-guard — хук для Claude Code
Перехватывает опасные команды, спрятанные в оболочках вроде sh -c и python3 -c. Помогает закрыть обходы прямых проверок команд.
npx claude-code-templates@latest --hook security/shell-wrapper-guardЧто делает shell-wrapper-guard
Хук проверяет команды Bash до выполнения и ищет разрушительные действия, спрятанные внутри оболочек. Среди поддерживаемых вариантов — вызовы интерпретаторов с кодом, вложенные оболочки, передача команд через конвейер и here-строки. Всего описано восемь шаблонов обхода.
Скрипт shell-wrapper-guard.sh запускается через PreToolUse для инструмента Bash. Это дополнение к dangerous-command-blocker, а не замена прямой проверке команд. Установите через npx claude-code-templates@latest --hook security/shell-wrapper-guard; настройка хука связана с .claude/settings.json. Без вызова Bash этот хук не срабатывает.
Какие задачи решает
- обнаружить удаление файлов внутри
sh -c - перехватить опасную команду в
python3 -c - проверить вложенные оболочки перед запуском
- закрыть обход через передачу команды в оболочку из конвейера
Примеры запросов агенту
- Перед запуском проверь, не скрыта ли опасная команда в
sh -c "rm -rf /". - Проверь вызов
python3 -cна разрушительные команды. - Проверь команду с вложенным вызовом оболочки перед выполнением.
Как установить shell-wrapper-guard
1Через claude-code-templates
npx claude-code-templates@latest --hook security/shell-wrapper-guard2Вручную: положить файлы
.claude/settings.jsonБлок hooks: событие (PreToolUse, PostToolUse, Stop…) → команда. Личные — ~/.claude/settings.json
По шагам, с командами для каждой платформы: Хуки Claude Code: что это, где настраивать и как запретить опасную команду
Вопросы о shell-wrapper-guard
Как установить shell-wrapper-guard в Claude Code?
Выполните npx claude-code-templates@latest --hook security/shell-wrapper-guard, затем используйте .claude/settings.json для настройки хука.
Что делает shell-wrapper-guard?
Проверяет команды Bash перед выполнением и обнаруживает разрушительные команды, спрятанные в оболочках и вызовах интерпретаторов.
Какие оболочки и обходы он проверяет?
В описании перечислены sh -c, bash -c, python3 -c, node -e, perl -e и ruby -e, а также вложенные оболочки, конвейеры, here-строки и обёртки через env.
Исходный текст
shell-wrapper-guard.json · MIT
{
"description": "Detects destructive commands hidden inside shell wrappers (sh -c, bash -c, python3 -c, node -e, perl -e, ruby -e). Complements dangerous-command-blocker by catching bypass vectors like 'sh -c \"rm -rf /\"' that evade direct command checks. Covers 8 bypass patterns: interpreter one-liners, nested wrappers, pipe-to-shell, here-strings, and env-based wrappers.",
"supportingFiles": [
{
"source": "shell-wrapper-guard.sh",
"destination": ".claude/hooks/shell-wrapper-guard.sh",
"executable": true
}
],
"hooks": {
"PreToolUse": [
{
"matcher": "Bash",
"hooks": [
{
"type": "command",
"command": "bash .claude/hooks/shell-wrapper-guard.sh"
}
]
}
]
}
}
© davila7 · MIT · davila7/claude-code-templates