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

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

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

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

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

Категории

Все категории
Loading categories
vinifera — Инструмент разведки/мониторинга GitHub для поиска внутренних утечек, принадлежащих вашей организации. | Kitploit
Инструменты/GitHubGitHub/zomato/vinifera
OSINT (Разведка открытых источников)РазведкаСбор информацииОбнаружение СекретовРеагирование на Инциденты
GitHubzomato/vinifera

vinifera

Инструмент разведки/мониторинга GitHub для поиска внутренних утечек, принадлежащих вашей организации.

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

Популярное

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

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

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

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

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

Vinifera - Мониторинг внутренних утечек на Github

Инструмент мониторинга Github 🤖

Vinifera Logo


Мы используем Vinifera в production с декабря 2019 года, и это помогло нам предотвратить инциденты безопасности. Vinifera начинался как внутренний проект для обеспечения безопасности наших публичных вкладов и мониторинга потенциальных утечек на Github. Мы считаем, что это поможет другим компаниям укрепить свою безопасность при работе с такими публичными источниками, как Github.

Статистика

Что такое Vinifera?

Vinifera позволяет компаниям/организациям отслеживать публичные активы для поиска ссылок на утечки внутреннего кода и потенциальные нарушения.

Иногда разработчики могут случайно раскрыть внутренний код и учетные данные. Vinifera призвана помочь компаниям своевременно обнаруживать такие утечки и реагировать на инцидент.

Как это работает?

Vinifera отслеживает разработчиков, принадлежащих организации, отслеживает и сканирует публичные вклады для поиска потенциальных нарушений и утечек внутреннего/секретного/собственного кода по заданным ссылкам.

  • Vinifera работает путем синхронизации пользователей организации.
  • Для каждого пользователя регистрируются все публичные активы (если они еще не отслеживаются).
  • Каждый актив (Repo, Gist) затем сканируется на наличие изменений.
  • Каждое изменение затем сканируется, сохраняется и сообщается (если содержит утечки)

Рабочий процесс Vinifera

Что означает название?

Во время разработки и создания инструмента команда безопасности съела много винограда, поэтому мы назвали его в честь любимого фрукта :)

Vinifera вдохновлено биномиальным названием винограда

Настройка и использование.

Требования

Vinifera требует установки следующих инструментов:

  1. PostgreSQL
  2. Redis
  3. Docker
  4. Ruby (установка через rbenv/rvm)

Настройка

Токен доступа Github

Для сканирования участников вашей организации Vinifera требуется токен с возможностью чтения участников организации.

Создайте новый токен https://github.com/settings/tokens/new без специальных разрешений

Рекомендуется использовать токен администратора (без специальных разрешений), так как администратор может получить список всех пользователей организации.

https://docs.github.com/en/rest/reference/orgs#list-organization-members

Если аутентифицированный пользователь также является участником этой организации, то будут возвращены как скрытые, так и открытые участники.

Docker

  • Переименуйте .docker_env.example в .docker_env
mv .docker_env.example .docker_env
  • Обновите .docker_env необходимыми переменными
GITHUB_ACCESS_TOKEN=<REDACTED>
VINIFERA_ORG_NAME=<Your_org_name>

RAILS_MAX_THREADS=60 # This also controls DB pool

RAILS_MASTER_KEY=<ADD_YOUR_MASTER_KEY_HERE>

# set the environment
RAILS_ENV=<development|production>

# set the following if RAILS_ENV is set to production
SECRET_KEY_BASE=<YOUR_SECRET_KEY> # min 32 bits key is allowed

# add slack incoming webhook URLs for respective slack channels
SLACK_UPDATES_GROUP_URL=https://hooks.slack.com/services/<YOUR_CONFIG_HERE>
SLACK_TARGETS_GROUP_URL=https://hooks.slack.com/services/<YOUR_CONFIG_HERE>
SLACK_USER_TRACKING_GROUP_URL=https://hooks.slack.com/services/<YOUR_CONFIG_HERE>
SLACK_VINIFERA_VIOLATION_GROUP_URL=https://hooks.slack.com/services/<YOUR_CONFIG_HERE>
SLACK_ERROR_GROUP_URL=https://hooks.slack.com/services/<YOUR_CONFIG_HERE>

# By default fork and big fork scanning is disabled
VINIFERA_ENABLE_FORK_SCANNING=false
VINIFERA_ENABLE_BIG_FORK_SCANNING=false
  • Сборка
docker-compose build
  • Запуск
docker-compose up
  • Пересборка после любых изменений
docker-compose up --build
  • Синхронизация пользователей организации Github
docker exec -it vinifera_sidekiq bundle exec rake periodic_syncs:sync_github_users

Команды Docker Compose для справки


Вручную

  • Установите необходимые зависимости
cd <location_of_cloned_repo>
bundle install
  • Настройте базу данных и миграции
bundle exec rails db:create
bundle exec rails db:migrate
  • Настройте переменные окружения и вебхук Slack Пример файла окружения доступен в .example_env
GITHUB_ACCESS_TOKEN=<REDACTED>
VINIFERA_ORG_NAME=<Your_org_name> # Name of org for which token was generated.

VINIFERA_DATABASE_HOST=<localhost>
VINIFERA_DATABASE_PASSWORD=<YOUR_PASSWORD>

RAILS_MAX_THREADS=60 # This also controls DB pool

RAILS_MASTER_KEY=<REDACTED>


SLACK_UPDATES_GROUP_URL=https://hooks.slack.com/services/<YOUR_CONFIG_HERE>
SLACK_TARGETS_GROUP_URL=https://hooks.slack.com/services/<YOUR_CONFIG_HERE>
SLACK_USER_TRACKING_GROUP_URL=https://hooks.slack.com/services/<YOUR_CONFIG_HERE>
SLACK_VINIFERA_VIOLATION_GROUP_URL=https://hooks.slack.com/services/<YOUR_CONFIG_HERE>
SLACK_ERROR_GROUP_URL=https://hooks.slack.com/services/<YOUR_CONFIG_HERE>



# Add this only if you are using Docker over TLS, recommended way, if, on the same host as vinifera, you may skip it

DOCKER_CLIENT_CERT_PATH=/home/deployer/.docker
DOCKER_HOST=tcp://<IP>:<PORT>

# By default fork and big fork scanning is disabled
VINIFERA_ENABLE_FORK_SCANNING=false
VINIFERA_ENABLE_BIG_FORK_SCANNING=false

REDIS_URL=redis://<REDIS_URI>
SIDEKIQ_REDIS_URL=redis://<REDIS_URI>

# For PagerDuty Integration
DEFAULT_PD_INTEGRATION_KEY=<xxxxxxxx>
ENABLE_PAGER_DUTY_TRIGGER=true
  • Настройте Cron-задачи
bundle exec whenever --update-crontab
  • Настройте свои пользовательские правила toml для Gitleaks. Подробнее
[[rules]]
# Insert your rules here
# description = "Internal References"
# regex = '''(?i)((.*)<COMPANY_INTERNAL_REFERENCES>(.*))'''
# tags = ["internal", "company","references"]
  • Запустите Sidekiq
bundle exec sidekiq
Datadog

Дополнительно, чтобы получать метрики в Datadog, как на скриншоте выше, вы можете использовать агент DataDog - https://docs.datadoghq.com/agent/

PagerDuty

Чтобы гарантировать, что команда не пропустит ни одного нарушения, доступна интеграция с PagerDuty:

Инцидент PagerDuty

Для интеграции с PagerDuty необходимо установить следующую переменную окружения в true

ENABLE_PAGER_DUTY_TRIGGER=true

Затем создайте новый сервис и ключ интеграции, как описано в следующей документации - https://support.pagerduty.com/docs/services-and-integrations#create-a-new-service

Сервис PagerDuty

DEFAULT_PD_INTEGRATION_KEY=<xxxxxxxx>

Участие в разработке

Мы открыты для вклада/исправления ошибок/улучшения производительности нашего проекта :)

Пожертвования

Если вы оценили созданный нами инструмент, не стесняйтесь вносить вклад/пожертвования в проекты, на основе которых был построен Vinifera :)

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