Skip to content
KitploitKITPLOIT
OutilsBlog
Soumettre
OutilsBlog
Soumettre

Outils de Hacking, PenTest et Cybersécurité pour votre Arsenal de Sécurité !

Kitploit est un répertoire d'outils de hacking, de cybersécurité et de pentesting. Découvrez les dernières mises à jour des projets pour trouver des vulnérabilités, analyser des systèmes, automatiser les tests et renforcer votre sécurité.

··Flux·Contact·Confidentialité·© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
vinifera — Un outil de reconnaissance et de surveillance GitHub pour trouver les fuites internes appartenant à votre organisation. | Kitploit
Outils/GitHubGitHub/zomato/vinifera
OSINT (Renseignement de Sources Ouvertes)ReconnaissanceCollecte d'InformationsDétection de SecretsRéponse aux Incidents
GitHubzomato/vinifera

vinifera

Un outil de reconnaissance et de surveillance GitHub pour trouver les fuites internes appartenant à votre organisation.

Voir le dépôt
941849il y a 2 ansVérifié par Kitploit

Populaires

Voir tout →

Découvrez les outils les plus utilisés par notre communauté.

Explorer tous les outils

Parcourez notre collection d'outils

Voir tous les outils →
Partager

Vinifera - Surveiller les fuites internes sur Github

Outil de surveillance Github 🤖

Vinifera Logo


Nous utilisons Vinifera en production depuis décembre 2019 et cela nous a aidé à prévenir des incidents de sécurité. Vinifera a commencé comme un projet interne pour assurer l'hygiène de sécurité de nos contributions publiques et surveiller les fuites potentielles sur Github. Nous pensons que cela aidera d'autres entreprises à renforcer leur hygiène de sécurité vis-à-vis de sources publiques comme Github.

Stats

Qu'est-ce que Vinifera ?

Vinifera permet aux entreprises/organisations de surveiller les actifs publics pour trouver des références à des fuites de code interne et des violations potentielles.

Parfois, les développeurs peuvent involontairement divulguer du code interne et des identifiants. Vinifera vise à aider les entreprises à détecter ces violations en temps utile et à répondre à l'incident.

Comment cela fonctionne-t-il ?

Vinifera surveille les développeurs appartenant à l'organisation, surveille et analyse les contributions publiques pour rechercher d'éventuelles violations et divulgations de code interne/secret/propriétaire en recherchant les références définies.

  • Vinifera fonctionne en synchronisant les utilisateurs de l'organisation.
  • Pour chaque utilisateur, tous les actifs publics sont enregistrés (s'ils ne sont pas déjà suivis).
  • Chaque actif (Repo, Gist) est ensuite analysé pour détecter les différences.
  • Chaque différence est ensuite analysée, stockée et signalée (si elle contient des fuites)

Flux de travail Vinifera

Que signifie le nom ?

Pendant le développement et la création de l'outil, l'équipe de sécurité a consommé beaucoup de raisins, nous l'avons donc nommé d'après le fruit que nous aimons :)

Vinifera est inspiré du nom binomial du raisin

Configuration et utilisation.

Prérequis

Vinifera nécessite l'installation des outils suivants :

  1. PostgreSQL
  2. Redis
  3. Docker
  4. Ruby (installer via rbenv/rvm)

Configuration

Jeton d'accès Github

Pour analyser les membres de votre organisation, Vinifera nécessite un jeton avec la capacité de lire les membres de l'organisation.

Générez un nouveau jeton sur https://github.com/settings/tokens/new sans portée spéciale.

Vous voudrez utiliser le jeton d'un utilisateur administrateur (sans portée spéciale), car l'administrateur peut lister tous les utilisateurs d'une organisation.

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

Si l'utilisateur authentifié est également membre de cette organisation, les membres cachés et publics seront retournés.

Docker

  • Renommer .docker_env.example en .docker_env
root@kitploit:~
mv .docker_env.example .docker_env
  • Mettre à jour .docker_env avec les variables nécessaires
root@kitploit:~
GITHUB_ACCESS_TOKEN=<REDACTED>
VINIFERA_ORG_NAME=<Your_org_name>

RAILS_MAX_THREADS=60 # Cela contrôle aussi le pool de la base de données

RAILS_MASTER_KEY=<ADD_YOUR_MASTER_KEY_HERE>

# Définir l'environnement
RAILS_ENV=<development|production>

# Définir ce qui suit si RAILS_ENV est défini sur production
SECRET_KEY_BASE=<YOUR_SECRET_KEY> # Une clé d'au moins 32 bits est autorisée

# Ajouter les URLs des webhooks Slack pour les canaux respectifs
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>

# Par défaut, l'analyse des forks et des gros forks est désactivée
VINIFERA_ENABLE_FORK_SCANNING=false
VINIFERA_ENABLE_BIG_FORK_SCANNING=false
  • Construire
root@kitploit:~
docker-compose build
  • Exécuter
root@kitploit:~
docker-compose up
  • Reconstruire après des modifications
root@kitploit:~
docker-compose up --build
  • Synchroniser les utilisateurs de l'organisation Github
root@kitploit:~
docker exec -it vinifera_sidekiq bundle exec rake periodic_syncs:sync_github_users

Commandes Docker Compose pour référence


Manuellement

  • Installer les dépendances requises
root@kitploit:~
cd <location_of_cloned_repo>
bundle install
  • Configurer la base de données et les migrations
root@kitploit:~
bundle exec rails db:create
bundle exec rails db:migrate
  • Configurer les variables d'environnement et le webhook Slack Un fichier d'environnement exemple est disponible à .example_env
root@kitploit:~
GITHUB_ACCESS_TOKEN=<REDACTED>
VINIFERA_ORG_NAME=<Your_org_name> # Nom de l'org pour lequel le jeton a été généré.

VINIFERA_DATABASE_HOST=<localhost>
VINIFERA_DATABASE_PASSWORD=<YOUR_PASSWORD>

RAILS_MAX_THREADS=60 # Cela contrôle aussi le pool de la base de données

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>

# Ajouter ceci seulement si vous utilisez Docker sur TLS, méthode recommandée. Si vous êtes sur le même hôte que vinifera, vous pouvez l'ignorer.
DOCKER_CLIENT_CERT_PATH=/home/deployer/.docker
DOCKER_HOST=tcp://<IP>:<PORT>

# Par défaut, l'analyse des forks et des gros forks est désactivée
VINIFERA_ENABLE_FORK_SCANNING=false
VINIFERA_ENABLE_BIG_FORK_SCANNING=false

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

# Pour l'intégration PagerDuty
DEFAULT_PD_INTEGRATION_KEY=<xxxxxxxx>
ENABLE_PAGER_DUTY_TRIGGER=true
  • Configurer les tâches cron
root@kitploit:~
bundle exec whenever --update-crontab
  • Configurer vos règles toml personnalisées pour Gitleaks. Pour plus d'informations
root@kitploit:~
[[rules]]
# Insérez vos règles ici
# description = "Internal References"
# regex = '''(?i)((.*)<COMPANY_INTERNAL_REFERENCES>(.*))'''
# tags = ["internal", "company","references"]
  • Démarrer Sidekiq
root@kitploit:~
bundle exec sidekiq
Datadog

En complément, pour obtenir les métriques sur Datadog comme dans la capture d'écran ci-dessus, vous pouvez utiliser l'agent DataDog - https://docs.datadoghq.com/agent/

PagerDuty

Pour garantir que l'équipe ne manque jamais une violation, une option d'intégration PagerDuty est disponible :

Incident PagerDuty

Pour l'intégration PagerDuty, la variable d'environnement suivante doit être définie sur true

root@kitploit:~
ENABLE_PAGER_DUTY_TRIGGER=true

Créez ensuite un nouveau service et une clé d'intégration comme décrit dans le document suivant - https://support.pagerduty.com/docs/services-and-integrations#create-a-new-service

Service PagerDuty

root@kitploit:~
DEFAULT_PD_INTEGRATION_KEY=<xxxxxxxx>

Contribuer

Nous sommes ouverts aux contributions/corrections de bogues/améliorations de performances pour notre projet :)

Dons

Si vous appréciez l'outil que nous avons construit, n'hésitez pas à contribuer/faire un don aux projets sur lesquels Vinifera a été construit :)

Vinifera est construit sur d'autres logiciels open-source :

  1. Rails (Notre framework web préféré)
  2. Sidekiq (Gère le cycle de vie des tâches, la planification et les tentatives)
  3. Gitleaks (Gitleaks alimente l'analyse de code via les images Docker)
  4. Docker (Pour exécuter les analyses dans un environnement isolé)
  5. Docker-api (Client Ruby pour interagir avec l'API distante Docker)
  6. Sidekiq Throttled (Pour limiter les workers)
  7. Octokit (Boîte à outils Ruby pour l'API Github)
  8. Whenever (Tâches cron en Ruby)

.... (la liste continue..., vous voyez l'idée ;) )

Vous pouvez également faire un don à Feeding India

Avertissement

Ni Zomato ni les développeurs de cet outil ne sont responsables des dommages causés par cet outil ou par son utilisation. Utilisez-le de manière responsable. Consultez LICENSE pour plus de détails.

Licence

Vinifera est sous licence Apache License, Version 2.0. Voir LICENSE pour le texte complet de la licence.

Télécharger l’outil