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

security-scanner — хук для Claude Code: проверка кода после правок

Хук запускает проверку безопасности каждый раз, когда Claude правит или создаёт файл. Ищет уязвимости и захардкоженные секреты.

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

Что делает security-scanner

Хук висит на событии PostToolUse и срабатывает после Edit или Write. Как только файл изменён, по нему проходят три инструмента: semgrep с конфигом --config=auto, bandit для файлов .py и gitleaks в режиме detect --no-git. Плюс простая проверка через grep на строки вида password=, secret=, key=, token= со значением от восьми символов — если что-то нашлось, в stderr уходит предупреждение с путём к файлу.

Каждый инструмент вызывается только если он есть в системе: команды обёрнуты в command -v. Нет semgrep — этот шаг просто пропускается, ошибки не будет. Поэтому перед установкой стоит проверить, что нужные сканеры вообще стоят, иначе хук отработает вхолостую и вы решите, что код чистый.

Все вызовы заканчиваются на || true, так что хук не заблокирует работу Claude и не остановит сессию при находке. Это фоновая проверка, а не жёсткий гейт: результат вы увидите в выводе, но решение остаётся за вами.

Какие задачи решает

  • поймать захардкоженный токен сразу после того, как агент записал его в файл
  • прогнать изменённый Python-файл через bandit, не запуская его вручную
  • проверить свежую правку на типовые уязвимости через semgrep
  • найти секреты в файле, который ещё не попал в git

Примеры запросов агенту

  • поправь конфиг в config.py и проверь, не утекли ли туда ключи
  • добавь обработку вебхука в server.py
  • вынеси строку подключения из db.py в переменные окружения

Как установить security-scanner

1Через claude-code-templates

npx claude-code-templates@latest --hook security/security-scanner

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

.claude/settings.json

Блок hooks: событие (PreToolUse, PostToolUse, Stop…) → команда. Личные — ~/.claude/settings.json

По шагам, с командами для каждой платформы: Хуки Claude Code: что это, где настраивать и как запретить опасную команду

Вопросы о security-scanner

Как установить security-scanner в Claude?

Выполните npx claude-code-templates@latest --hook security/security-scanner, затем проверьте запись в .claude/settings.json.

Что делает security-scanner?

После каждой правки или записи файла запускает semgrep, bandit для Python и gitleaks, а также ищет в тексте строки с паролями, секретами, ключами и токенами.

Что нужно для работы хука?

Сканеры должны быть установлены в системе: хук вызывает их только при наличии в PATH. Если semgrep, bandit или gitleaks не найдены, соответствующий шаг пропускается.

Исходный текст

security-scanner.json · MIT
{
  "description": "Scan code for security vulnerabilities and secrets after modifications. Uses multiple security tools to detect potential issues.",
  "hooks": {
    "PostToolUse": [
      {
        "matcher": "Edit|Write",
        "hooks": [
          {
            "type": "command",
            "command": "if command -v semgrep >/dev/null 2>&1; then semgrep --config=auto \"$CLAUDE_TOOL_FILE_PATH\" 2>/dev/null || true; fi; if command -v bandit >/dev/null 2>&1 && [[ \"$CLAUDE_TOOL_FILE_PATH\" == *.py ]]; then bandit \"$CLAUDE_TOOL_FILE_PATH\" 2>/dev/null || true; fi; if command -v gitleaks >/dev/null 2>&1; then gitleaks detect --source=\"$CLAUDE_TOOL_FILE_PATH\" --no-git 2>/dev/null || true; fi; if grep -qE '(password|secret|key|token)\\s*=\\s*[\"\\x27][^\"\\x27]{8,}' \"$CLAUDE_TOOL_FILE_PATH\" 2>/dev/null; then echo \"Warning: Potential hardcoded secrets detected in $CLAUDE_TOOL_FILE_PATH\" >&2; fi"
          }
        ]
      }
    ]
  }
}

© davila7 · MIT · davila7/claude-code-templates

Похожие хуки

Всё по теме «Безопасность» →

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

Весь набор →
create-prd Слэш-команда превращает идею фичи в документ требований: проблема, объём работ, метрики успеха и критерии приёмки. 2 431установок workflow-orchestrator Оркестрирует цепочки задач автоматизации с графом зависимостей, расписанием и параллельным выполнением в проекте. 2 341установок devops-troubleshooter Субагент исследует логи, сбои развёртывания и проблемы мониторинга. Подключайте его, когда нужно найти причину инцидента и подготовить исправление. 2 328установок dependency-checker Хук на PostToolUse: после правки файла зависимостей запускает аудит пакетов и показывает, что устарело или уязвимо. 2 314установок nextjs-code-quality-enforcer Хук на PostToolUse проверяет каждый записанный файл Next.js: структуру App Router, директивы Server/Client, импорты и типы. Срабатывает сразу после правки. 2 249установок add-changelog Команда обновляет файл CHANGELOG.md по стандарту Keep a Changelog. Она считывает недавние коммиты через git и помогает подготовить описание релиза. 2 025установок unused-code-cleaner Субагент ищет неиспользуемые импорты, функции и классы и удаляет их с проверкой после каждого шага. Пригодится после рефакторинга или перед выкладкой в прод. 1 990установок report-generator Субагент превращает разрозненные заметки и результаты исследований в структурированный отчёт в Markdown. Пригодится на финальном шаге работы, когда нужно свести факты воедино. 1 930установок

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

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