К основному содержанию
хук

shell-wrapper-guard — хук для Claude Code

Перехватывает опасные команды, спрятанные в оболочках вроде sh -c и python3 -c. Помогает закрыть обходы прямых проверок команд.

Установить в Claude Code · Через claude-code-templates Все способы и платформы ↓
npx claude-code-templates@latest --hook security/shell-wrapper-guard
Открыть на GitHub

Что делает 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-guard

2Вручную: положить файлы

.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

Похожие хуки

Все хуки по теме «Безопасность» →

Из того же набора740

Весь набор →
env-file-protection Хук блокирует вызовы Write к файлам .env*, чтобы агент случайно не перезаписал секреты. Ставится одной командой в настройки Claude. 279установок slack-notifications Отправляет сообщение в Slack, когда Claude закончил работу или завершился субагент. Пригодится, если вы уходите от терминала и хотите знать, что задача готова. 279установок worktree-ghostty Открывает в Ghostty три панели при создании worktree: Claude слева, lazygit и yazi справа. Только macOS. 249установок discord-notifications Отправляет сообщение в Discord, когда Claude закончил работу или завершил субагента. Пригодится, если вы уходите от терминала и хотите знать, что задача готова. 217установок desktop-notification-on-stop Хук показывает уведомление на рабочем столе, когда Claude Code заканчивает ответ. Пригодится, если вы переключаетесь в другое окно и ждёте продолжения. 211установок tdd-gate Хук блокирует правку production-файлов, пока рядом нет теста. Пригодится, если хотите удержать TDD в работе с агентом. 192установок debug-window Открывает окно с живым хвостом лога отладки, когда Claude запущен с флагом --debug или -d, и закрывает его по концу сессии. 189установок console-log-cleaner Хук ищет вызовы console. при редактировании JavaScript- и TypeScript-файлов в production-ветках. Помогает заметить отладочный вывод до слияния изменений. 165установок

Спонсоры проекта

Компании, которые помогают держать аналитику открытой