ИИ-инструменты и скрипты
Проверка конфигурации Git-хуков
Проверяет настройки хуков pre-commit, lefthook и husky: репозитории хуков по обычному HTTP, ревизии-ветки, хуки, передающие вывод curl в оболочку, токены в файлах хуков, незакреплённые версии инструментов и отсутствующие или пропускаемые сканеры секретов.
Что вы получите: 1 файл · 58.59 KB · ZIP
Варианты покупкиОписание товара
Файл .pre-commit-config.yaml с rev: stable выглядит закреплённым, но pre-commit никогда не обновляет ревизию-ветку, и каждый новый клон получает то, что лежит в этой ветке в данный день. Локальный хук с entry вида bash -c 'curl ... | sh' запускает загруженный скрипт при каждом коммите на ноутбуке каждого разработчика. Хук gitleaks, указанный в ci: skip, никогда не сканирует коммиты, которые пропустили его локально. Этот навык находит такие ошибки и другие ошибки Git-хуков, перечисленные ниже, и подсказывает, как исправить каждую из них.
Ваш агент запускает сканер для .pre-commit-config.yaml (вместе с разделом ci: для pre-commit.ci) и .pre-commit-hooks.yaml, конфигураций lefthook в YAML, JSON или TOML (включая файлы lefthook-local и remotes) и скриптов в .lefthook/, скриптов хуков husky в .husky/, скриптов хуков в .githooks/ и похожих папках, simple-git-hooks и старой конфигурации husky в package.json, а также для shell-скриптов, Makefile и скриптов package.json, которые устанавливают хуки или обходят их. Он пропускает комментарии, объединяет перенесённые строки, использует собственную проверку pre-commit для ревизий-веток и считает $VAR и ${{ secrets.X }} значениями, хранящимися вне файла. Он никогда не запускает хуки, git или другие инструменты и никогда не обращается к сети. Результат: BLOCK, REVIEW или NOT FLAGGED с указанием файла, строки, причины и более безопасного подхода. Секреты никогда не выводятся.
Что проверяется
BLOCK (исправить до выпуска)
- G01: репозитории хуков, загружаемые по http:// или git:// (repo: в pre-commit, git_url в remote lefthook)
- G02: ревизии pre-commit, указывающие на ветку, HEAD, перемещаемый тег или пустые (rev: main, rev: stable, rev: '')
- G03: хуки, которые загружают код и запускают его (curl или wget, переданные через конвейер в оболочку или интерпретатор, который читает загруженное как свою программу, sh -c "$(curl ...)", bash <(wget ...), iex (irm ...), или загруженный файл, запускаемый без проверки контрольной суммы); подсказки по установке, которые хук только выводит, не учитываются
- G04: токены, пароли и ключи в конфигурациях и скриптах хуков (значения env, аргументы --token и --password, заголовки Authorization, пароль в URL репозитория, известные форматы токенов); имена файлов, пути и слова настроек, например enabled, не сообщаются
REVIEW (проверить до релиза)
- G11: ревизии pre-commit, закреплённые за тегами, а не за SHA коммитов
- G12: remotes lefthook без ref или с ref на ветку
- G13: инструменты хуков, загружаемые без версии (additional_dependencies, Docker-образы без тега или с :latest, npx --yes, bunx, pnpm и yarn dlx, uvx, pipx run, go run @latest)
- G14: проекты с Git-хуками, но без хука сканирования секретов
- G15: сканеры секретов, пропускаемые в pre-commit.ci, ограниченные стадией manual, исключённые для всех файлов или отключённые через skip в lefthook
- G16: обход хуков в скриптах и сообщениях хуков (--no-verify, git commit -n, HUSKY=0, LEFTHOOK=0, SKIP= с именем сканера секретов, core.hooksPath со значением /dev/null)
- G17: скрипты проекта, задающие core.hooksPath с --global или --system
- G18: отключённые в хуках проверки TLS или ключа хоста (curl -k, http.sslVerify false, NODE_TLS_REJECT_UNAUTHORIZED=0, --trusted-host и другие)
- G19: конфигурации хуков, которые инструмент никогда не загружает (конфигурация husky v4 при husky 5 или новее, .pre-commit-config.yml, две конфигурации lefthook в одной папке)
Что входит в комплект
- Сканер (Python 3.9+, только стандартная библиотека)
- Руководство по правилам с причиной, более безопасным подходом и официальным источником для каждого правила
- Рискованный и безопасный примеры (API с pre-commit, веб-приложение с lefthook, мобильное приложение с husky) и реальный отчёт сканера по рискованному примеру
Ограничения
Каждый файл читается в том виде, в каком он написан. Удалённые репозитории хуков и удалённые конфигурации lefthook указываются по имени, но не загружаются, поэтому подключаемый ими код не проверяется. Хуки, уже установленные в .git/hooks, core.hooksPath, заданный в вашей конфигурации git, скрипты, которые вызывает хук, и CI-процессы, запускающие pre-commit, не читаются. G11 (ревизии, закреплённые за тегами) и G14 (нет хука сканирования секретов) срабатывают на большинстве конфигураций, включая пример из быстрого старта pre-commit и проекты husky по умолчанию; агент представляет их как рекомендации по усилению защиты, а не как проблемы. G14 не видит сканирование на стороне сервера, например GitHub push protection. NOT FLAGGED не является гарантией.
Содержимое
Один ZIP-файл с 22 файлами: SKILL.md, сканер в scripts/ (10 файлов Python), references/rules.md (все правила с причиной и более безопасным подходом) и examples/ (11 файлов примеров плюс report.md, реальный вывод сканера по рискованному примеру).
Как использовать: Это навык для агента: папка с файлом SKILL.md и скриптами Python, которые может запускать ИИ-агент для программирования, например Claude Code, Cursor или Codex CLI. Распакуйте архив в папку навыков вашего агента (для Claude Code: ~/.claude/skills/), затем попросите агента проверить ваш проект. Скрипты также работают самостоятельно с Python 3.9 или новее, ничего устанавливать не нужно. Они только читают ваши файлы: без доступа к сети, и никуда ничего не отправляется.
Что вы получите
1 файл · 58.59 KB
- git-hooks-config-check-1.0.0.zipZIP · 58.59 KB
ИИ-инструменты и скрипты
Проверка конфигурации Git-хуков
Проверяет настройки хуков pre-commit, lefthook и husky: репозитории хуков по обычному HTTP, ревизии-ветки, хуки, передающие вывод curl в оболочку, токены в файлах хуков, незакреплённые версии инструментов и отсутствующие или пропускаемые сканеры секретов.
Getly открыл загруженные файлы и не нашёл ничего, что помешало бы их открыть. Это не проверка на вирусы и не оценка качества.
Теги
Частые вопросы
Доступ открывается сразу?
Да. Это цифровой товар - скачать его можно сразу после оплаты, прямо из своей библиотеки.
Можно ли использовать в коммерческих проектах?
Да. Коммерческое использование разрешено: в своём бизнесе и в том, что вы продаёте. Перепродавать и распространять сам файл нельзя.
Какие условия возврата?
Запросить возврат можно в течение 30 дней. Если что-то не так, оформите заявку в своём заказе - её рассмотрит команда Getly.
Какие форматы и размеры файлов я получу?
Вы скачаете 1 файл - ZIP - всего 58.59 KB.
Обновления бесплатны?
Да - когда продавец выпускает новую версию, вы можете бесплатно скачать актуальные файлы из своей библиотеки. Последние изменения смотрите в истории версий.
Цена
$5.00



