Skip to content
KitploitKITPLOIT
ИнструментыЭксплойтыБлог
Log in
Отправить
ИнструментыЭксплойтыБлог
Отправить

Инструменты для хакинга, пентеста и кибербезопасности — ваш арсенал защиты!

Kitploit — это каталог инструментов для хакинга, кибербезопасности и пентестинга. Находите последние обновления проектов для поиска уязвимостей, анализа систем, автоматизации тестирования и усиления вашей безопасности.

ЛентыКонтактыКонфиденциальность© 2026 Kitploit

Каталог инструментов

Категории

Все категории
Loading categories
gh-safe-repo — Python CLI, который автоматически создаёт репозитории GitHub с безопасными настройками по умолчанию — защита веток, Dependabot, сканирование секретов и предварительное сканирование безопасности. | Kitploit
Инструменты/GitHubGitHub/ariesq/gh-safe-repo
Утилиты общего назначенияСканеры уязвимостейСкриптинг и автоматизацияАудит конфигурацииБезопасность облачных средDevSecOpsОбнаружение Секретов
GitHubariesq/gh-safe-repo

gh-safe-repo

Python CLI, который автоматически создаёт репозитории GitHub с безопасными настройками по умолчанию — защита веток, Dependabot, сканирование секретов и предварительное сканирование безопасности.

Репозиторий
383246 дней назадПроверено Kitploit

Популярное

Смотреть все →

Откройте для себя самые используемые инструменты нашего сообщества.

Изучить все инструменты

Просмотрите нашу коллекцию инструментов

Смотреть все инструменты →
Поделиться

gh-safe-repo

CI

Создавайте репозитории GitHub с безопасными настройками по умолчанию одной командой.

gh-safe-repo create <owner/repo>

Защита веток, неизменяемые теги, ограниченный доступ для Actions, Dependabot, сканирование секретов с защитой от отправки и приватное сообщение об уязвимостях — всё это настраивается до того, как вы отправите первый коммит. Тот же инструмент проверяет и исправляет уже существующие репозитории, а также сканирует локальный код на наличие секретов до того, как он покинет вашу машину.

Статус: основной рабочий процесс стабилен и проверен от начала до конца, но CLI всё ещё дорабатывается. До версии 1.0 возможны периодические критические изменения.

Содержание

  • Что вы получаете
  • Установка
  • Быстрый старт
  • Команды
  • Справочник CLI
  • Вывод — таблица плана, JSON, проверка, коды выхода
  • Безопасные значения по умолчанию
  • Отправка кода — --local и --from
  • Сканер предварительной проверки
  • Конфигурация
  • Ограничения планов GitHub
  • Использование с ИИ-агентом
  • Как это работает
  • Разработка

Что вы получаете

Настройки GitHub по умолчанию отдают приоритет обнаруживаемости, а не безопасности: у нового репозитория нет защиты веток, нет Dependabot, а Actions могут писать в репозиторий и одобрять собственные пул-реквесты. gh-safe-repo меняет это и показывает вам план до того, как что-либо изменит:

  • Приватность по умолчанию. Передайте --public, чтобы сделать его публичным.
  • Защита веток. Требуется PR, одно одобряющее ревью, устаревшие ревью отклоняются, обсуждения разрешены, без force push, без удаления веток.
  • Неизменяемые теги. Теги релизов нельзя перезаписать или удалить.
  • Actions ограничены. Токен только для чтения, без самоодобряющих PR, действия закреплены по SHA, только владельцы GitHub и проверенные издатели.
  • Dependabot включён. Оповещения об уязвимостях плюс автоматические PR с исправлениями.
  • Сканирование секретов с защитой от отправки. Коммиты, содержащие поддерживаемые секреты, блокируются.
  • Приватное сообщение об уязвимостях. Исследователи могут связаться с вами приватно.
  • Предварительное сканирование секретов. При отправке существующего кода рабочее дерево и история git сначала сканируются локально.
  • Дополнительные опции по желанию. Wiki, проекты и issues не трогаются, если вы не управляете ими в конфигурации.

Каждая настройка конфигурируема. Точные значения см. в разделе Безопасные значения по умолчанию, а способы их изменения — в разделе Конфигурация.

Установка

Требования:

  • Python 3.10+
  • gh CLI с выполненным входом (gh auth login) или GITHUB_TOKEN, заданный в окружении
  • uv для установки из исходников
  • truffleHog v3 (опционально) для сканера предварительной проверки. Он ищется в PATH или запускается через podman/docker; без того и другого используется сканер на регулярных выражениях.

Для отправки кода с --local или --from также нужны ваши обычные git-учётные данные для GitHub. См. Отправка кода.

git clone https://github.com/AriESQ/gh-safe-repo
cd gh-safe-repo
uv tool install .
gh-safe-repo --help

Для запуска без установки:

uv sync
./gh-safe-repo create <owner/repo>

Быстрый старт

1. Предварительный просмотр. --dry-run не выполняет вызовов API и ничего не создаёт.

$ gh-safe-repo create AriESQ/demo-repo --dry-run

Configuring AriESQ/demo-repo...

Planned Changes
Type    Category           Setting                                 Value / Note
------  -----------------  --------------------------------------  ----------------------------------------------------------------
ADD     repo               repository                              AriESQ/demo-repo
DELETE  file               readme                                  README.md
UPDATE  actions            allowed_actions                         'all' → 'selected'
UPDATE  actions            verified_allowed                        False → True
UPDATE  actions            sha_pinning_required                    False → True
UPDATE  actions            default_workflow_permissions            'write' → 'read'
UPDATE  actions            can_approve_pull_request_reviews        True → False
SKIP    branch_protection  branch_protection                       Branch protection requires a public repo or paid GitHub plan
SKIP    security           dependabot_alerts                       Requires a public repo or paid GitHub plan
SKIP    security           secret_scanning                         Requires a public repo or paid GitHub plan
SKIP    security           dependabot_security_updates             Requires a public repo or paid GitHub plan
SKIP    security           private_vulnerability_reporting         Requires a public repo or paid GitHub plan
SKIP    security           enable_dependency_graph                 Requires a public repo or paid GitHub plan
SKIP    security           enable_secret_scanning_push_protection  Requires a public repo or paid GitHub plan
SKIP    tag_protection     tag_protection                          Tag protection rulesets require a public repo or paid GitHub plan

7 change(s) to apply, 8 skipped

Dry run — no changes made.

Строки SKIP — это то, как выглядит приватный репозиторий на бесплатном плане. Эти функции требуют публичного репозитория или платного плана, и инструмент сообщает об этом, а не завершается молча с ошибкой. См. Ограничения планов GitHub.

2. Применение. Уберите --dry-run. Вы увидите тот же план, затем запрос на подтверждение (--yes пропускает его).

gh-safe-repo create AriESQ/demo-repo

3. Начните работу. При успехе вы получите раздел Verified (каждый параметр, считанный обратно с GitHub) и баннер с готовыми к вставке командами:

╭─ Done ───────────────────────────────────────────────────╮
│   Repository created successfully!                       │
│   https://github.com/AriESQ/demo-repo                    │
│                                                          │
│   Add remote to existing repo:                           │
│   SSH  : git remote add origin [email protected]:AriESQ/…   │
│   HTTPS: git remote add origin https://github.com/…      │
│                                                          │
│   Clone fresh:                                           │
│   SSH  : git clone [email protected]:AriESQ/demo-repo.git   │
│   HTTPS: git clone https://github.com/AriESQ/demo-…      │
╰──────────────────────────────────────────────────────────╯

Предпочитаемый вами протокол (gh config get -h github.com git_protocol) указан первым.

Команды

Создание нового репозитория

gh-safe-repo create <owner/repo>            # private (default)
gh-safe-repo create <owner/repo> --public   # public: branch and tag protection apply

Репозиторий инициализируется, чтобы существовала ветка по умолчанию (она нужна для защиты ветки), затем автоматически сгенерированный README.md удаляется, чтобы вы начали с чистого листа. Установите auto_init = true в конфигурации, чтобы сохранить его. Владелец должен совпадать с вашей аутентифицированной учётной записью; это защищает от ошибок в системах с несколькими учётными записями.

Отправка существующего локального проекта

gh-safe-repo create <owner/repo> --local ~/projects/myapp
Скачать инструмент