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, сканирование секретов и предварительное сканирование безопасности.

Репозиторий
3831214 ч 52 мин назадПроверено Kitploit

Популярное

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

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

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

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

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

gh-safe-repo

Создавайте репозитории GitHub с автоматически применяемыми безопасными настройками по умолчанию. Заменяет пятиминутную проверку настроек после создания одним единственным командованием.``` gh-safe-repo create <owner/repo>

Защита веток, неизменяемые теги, Dependabot, ограниченные разрешения Actions и сканирование секретов с защитой от push — всё настроено до того, как вы напишете первую строку кода.

> **Статус:** gh-safe-repo находится в активной разработке. Он хорошо работает для основного сценария — создания нового репозитория с безопасными настройками по умолчанию — но параметры CLI всё ещё дорабатываются, чтобы лучше соответствовать ожиданиям пользователей. Ожидайте ломающих изменений, пока не будут окончательно настроены релизы и CI/CD. ✌️

---

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

Настройки GitHub по умолчанию оптимизированы для обнаруживаемости и гибкости, а не для безопасности: каждый новый репозиторий создаётся без защиты веток, без Dependabot и с Actions, которые имеют доступ на запись к репозиторию и могут одобрять собственные pull request'ы.

`gh-safe-repo` исправляет всё это одним махом, сначала показывая вам план:

- **Приватность по умолчанию** — передайте `--public`, когда хотите, чтобы его увидел весь мир
- **Защита веток** — требуется PR, 1 одобряющий отзыв, устаревшие отзывы отклоняются, обсуждения разрешены, без force push, без удаления веток
- **Неизменяемые теги** — теги релизов нельзя перезаписать или удалить
- **Actions заблокированы** — токен только для чтения, без самоодобряющих PR, actions, закреплённые по SHA, только издатели, принадлежащие GitHub и верифицированные
- **Dependabot включён** — оповещения об уязвимостях плюс автоматические PR с исправлениями
- **Сканирование секретов с защитой от push** — коммиты, содержащие поддерживаемые секреты, блокируются
- **Приватное сообщение об уязвимостях** — исследователи могут связаться с вами, не предавая огласке
- **Предварительное сканирование секретов** — при push существующего кода (`--local` / `--from`) ваше рабочее дерево и история git сканируются локально, прежде чем что-либо попадёт на GitHub
- **Дополнительные опции по желанию** — wiki, projects и issues не трогаются, если вы не попросите управлять ими (`has_wiki = false` в конфигурации)

Всё настраивается. Смотрите [Безопасные настройки по умолчанию полностью](#safe-defaults-in-full) для точных параметров и [Конфигурация](#configuration) для того, как их изменить.

## Требования

- **Python 3.10+**
- **[`gh` CLI](https://cli.github.com/)** с аутентификацией (`gh auth login`), **или** `GITHUB_TOKEN`, заданный в вашем окружении
- **[`uv`](https://docs.astral.sh/uv/)** для установки из исходников
- **truffleHog v3** *(опционально)* — используется предварительным сканером; автоматически определяется из PATH или запускается через podman/docker, с regex-фолбэком, если ни того, ни другого нет

Для push кода с `--local` или `--from` дополнительно нужны ваши обычные учётные данные git для GitHub — смотрите [Работа с локальным или существующим кодом](#working-from-local-or-existing-code).

## Установка```bash
git clone https://github.com/AriESQ/gh-safe-repo
cd gh-safe-repo
uv tool install .

gh-safe-repo --help

Это устанавливает gh-safe-repo в среду инструментов uv и добавляет его в ваш PATH.

Чтобы запустить его без установки:```bash uv sync # creates .venv ./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 пропускает его):```bash gh-safe-repo create AriESQ/demo-repo

**3. Начните работу.** В случае успеха вы получите URL репозитория и готовые к вставке команды для удалённого доступа:```
╭─ 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).

Типовые задачи

Создание репозитория```bash

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

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

### Отправка существующего локального проекта```bash
gh-safe-repo create <owner/repo> --local ~/projects/myapp

Сначала сканирует каталог на наличие секретов, создаёт репозиторий, отправляет все ветки и теги, затем настраивает origin и отслеживание upstream в вашем исходном каталоге, чтобы git push работал сразу. Существующий origin, указывающий на другое место, остаётся нетронутым; предупреждение и баннер об успехе сообщают точную команду git push -u origin <branch>:<branch>, которую нужно выполнить вместо этого. См. Работа с локальным или существующим кодом.

Скачать инструмент