Skip to content
KitploitKITPLOIT
OutilsExploitsBlog
Log in
Soumettre
OutilsExploitsBlog
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
941860il 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
mv .docker_env.example .docker_env
  • Mettre à jour .docker_env avec les variables nécessaires
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
docker-compose build
  • Exécuter
docker-compose up
  • Reconstruire après des modifications
docker-compose up --build
  • Synchroniser les utilisateurs de l'organisation Github
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
cd <location_of_cloned_repo>
bundle install
  • Configurer la base de données et les migrations
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
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
bundle exec whenever --update-crontab
  • Configurer vos règles toml personnalisées pour Gitleaks. Pour plus d'informations
[[rules]]
# Insérez vos règles ici
# description = "Internal References"
# regex = '''(?i)((.*)<COMPANY_INTERNAL_REFERENCES>(.*))'''
# tags = ["internal", "company","references"]
  • Démarrer Sidekiq
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

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

Télécharger l’outil