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
gato — Outil d'énumération et d'attaque de pipelines GitHub Actions | Kitploit
Outils/GitHubGitHub/praetorian-inc/gato
ReconnaissanceScanners de VulnérabilitésExploitationCollecte d'InformationsPost-ExploitationTests d'IntrusionDevSecOpsDétection de SecretsSécurité de la Chaîne LogistiqueRed TeamingArchived
GitHub
91il y a 3 moisPas encore vérifié

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 →
praetorian-inc/gato

gato

Outil d'énumération et d'attaque de pipelines GitHub Actions

Voir le dépôt
Partager

[!WARNING]

Ce dépôt est obsolète et archivé

Gato a été remplacé par Trajan, l'outil multi-plateforme de détection de vulnérabilités et d'automatisation d'attaques CI/CD de Praetorian. Trajan consolide les capacités d'attaque CI/CD de GitHub Actions (Gato) et GitLab (Glato) en un seul projet activement maintenu.

Veuillez migrer vers Trajan : https://github.com/praetorian-inc/trajan

Aucune mise à jour, correction de bug ou correctif de sécurité ne sera plus apporté à ce dépôt.


Supported Python versions

Gato (Github Attack TOolkit)

gato

Gato, ou GitHub Attack Toolkit, est un outil d'énumération et d'attaque qui permet aux équipes bleues (blue teamers) et aux professionnels de la sécurité offensive d'identifier et d'exploiter les vulnérabilités de pipeline dans les dépôts publics et privés d'une organisation GitHub.

L'outil dispose de fonctionnalités de post-exploitation pour exploiter un jeton d'accès personnel compromis, en plus de fonctionnalités d'énumération pour identifier les vulnérabilités d'exécution de pipeline empoisonné et les secrets d'artefacts d'actions contre les dépôts publics.

GitHub recommande que les exécuteurs auto-hébergés ne soient utilisés que pour les dépôts privés, mais des milliers d'organisations utilisent des exécuteurs auto-hébergés. Les configurations par défaut sont souvent vulnérables, et Gato utilise un mélange d'analyse de fichiers de workflow et d'analyse de journaux d'exécution pour identifier les dépôts potentiellement vulnérables à grande échelle.

Version 1.7

Gato version 1.7 introduit le Actions Artifacts Secrets Scanner.

Le Actions Artifacts Secrets Scanner énumère les artefacts de workflow GitHub Actions pour y trouver des secrets. Les chercheurs de Praetorian ont utilisé le scanner pour identifier des vulnérabilités critiques dans plusieurs projets open-source importants. Les détails de ces vulnérabilités seront publiés une fois les processus de divulgation terminés. Ce travail a été initialement inspiré par des recherches de Palo Alto Networks.

Le Actions Artifacts Secrets Scanner effectue les actions suivantes :

  1. Télécharge les artefacts de workflow GitHub Actions depuis le dépôt cible
  2. Extrait récursivement les artefacts téléchargés
  3. Analyse les artefacts à la recherche de secrets avec NoseyParker
  4. Rapporte les résultats

NoseyParker doit être installé dans le $PATH du système exécutant le Actions Artifacts Secrets Scanner.

Les secrets dans les artefacts de workflow publics peuvent contenir de nombreux faux positifs. Par défaut, le Actions Artifacts Secrets Scanner exclut les règles et résultats associés aux faux positifs courants. Pour inclure tous les résultats d'analyse des secrets, vous pouvez utiliser le drapeau --include_all_artifact_secrets.

Voici un exemple de commande qui exécute le Actions Artifacts Secrets Scanner sur une liste d'organisations GitHub, désactive l'énumération des exécuteurs auto-hébergés, inclut tous les résultats de secrets d'artefacts et génère la sortie dans un fichier JSON.

root@kitploit:~
gato e --enum_wf_artifacts --include_all_artifact_secrets --skip_sh_runner_enum -O testorgs.txt  -oJ testorgoutput.json

Par défaut, le Actions Artifacts Secrets Scanner impose les limitations suivantes pour réduire le temps passé sur un seul dépôt :

  • Télécharge un seul artefact par nom
  • Télécharge un maximum de 50 artefacts par dépôt
  • Télécharge un maximum de 10 fichiers de plus de 536 Mo
  • Ne télécharge aucun fichier de plus de 2,68 Go

Ces contraintes ont été optimisées pour que le Actions Artifacts Secrets Scanner puisse analyser les 200 principales organisations GitHub en 48 heures. Si vous souhaitez modifier ces contraintes, vous pouvez les mettre à jour dans la fonction scan_wf_artifacts() de gato/enumerate/repository.py.

Nouvelles fonctionnalités

  • Ajout du Actions Artifacts Secrets Scanner
  • Prise en charge de l'exécution de modules sur une liste d'organisations GitHub
  • Possibilité de désactiver l'énumération des exécuteurs auto-hébergés
  • Option de désactiver la mise en veille
  • Différenciation entre les dépôts publics et privés dans la sortie
  • Plusieurs corrections de bugs
  • Prise en charge de l'énumération pour les jetons d'installation d'application GitHub

À qui s'adresse cet outil ?

  • Ingénieurs en sécurité qui souhaitent comprendre le niveau d'accès qu'un jeton PAT classique compromis pourrait offrir à un attaquant
  • Équipes bleues qui souhaitent développer des détections pour les attaques sur les exécuteurs auto-hébergés
  • Red Teamers
  • Chasseurs de bug bounty qui veulent essayer de prouver l'exécution de code à distance (RCE) sur des organisations utilisant des exécuteurs auto-hébergés

Fonctionnalités

  • Énumération des privilèges des PAT classiques GitHub
  • Énumération basée sur l'API de recherche de code GitHub
  • Énumération par recherche SourceGraph
  • Analyse des journaux d'exécution d'actions GitHub pour identifier les exécuteurs auto-hébergés
  • Fonctionnalités de clone partiel en masse de dépôts
  • Analyse des workflows d'actions GitHub
  • Création automatisée de PR fork pour exécution de commandes
  • Création automatisée de workflow pour exécution de commandes
  • Exfiltration automatisée des secrets de workflow
  • Prise en charge du proxy SOCKS5
  • Prise en charge du proxy HTTPS
  • Analyse des secrets dans les artefacts de workflow GitHub Actions

Pour commencer

Installation

Gato prend en charge OS X et Linux avec au moins Python 3.7.

Pour installer l'outil, clonez simplement le dépôt et utilisez pip install. Nous recommandons de le faire dans un environnement virtuel.

root@kitploit:~
git clone https://github.com/praetorian-inc/gato
cd gato
python3 -m venv venv
source venv/bin/activate
pip install .

Gato nécessite également que git version 2.27 ou supérieure soit installé et présent dans le PATH du système. Pour exécuter le module d'attaque par fork PR, sed doit également être installé et présent dans le PATH du système.

Branche de développement

Nous maintenons une branche de développement qui contient des fonctionnalités plus récentes de Gato non encore ajoutées à la branche principale. Il y a une probabilité accrue de rencontrer des bugs ; cependant, nous exécutons toujours notre suite de tests d'intégration sur la branche dev, donc il ne devrait pas y avoir de bugs flagrants.

Si vous souhaitez utiliser la branche dev, vérifiez-la simplement avant d'exécuter pip install - c'est tout !

Si vous rencontrez des bugs pour votre cas d'utilisation spécifique, n'hésitez pas à ouvrir une issue !

Utilisation

Après avoir installé l'outil, il peut être lancé en exécutant gato ou praetorian-gato.

Nous recommandons de consulter les paramètres de l'outil de base avec gato -h, et les paramètres de chacun des modules de l'outil en exécutant les commandes suivantes :

  • gato search -h
  • gato enum -h
  • gato attack -h

L'outil nécessite un jeton d'installation d'application ou un jeton classique GitHub pour fonctionner. Pour en créer un, connectez-vous à GitHub et allez dans GitHub Developer Settings et sélectionnez Generate New Token puis Generate new token (classic).

Après avoir créé ce jeton, définissez la variable d'environnement GH_TOKEN dans votre shell en exécutant export GH_TOKEN=<VOTRE_JETON_CREE>. Alternativement, stockez le jeton dans un gestionnaire de mots de passe sécurisé et saisissez-le lorsque l'application vous le demande.

Si vous créez un jeton d'installation d'application GitHub, l'application doit avoir au moins Actions:read et Contents:read pour exécuter les modules d'énumération.

Pour le dépannage et des détails supplémentaires, tels que l'installation en mode développeur ou l'exécution de tests unitaires, veuillez consulter le wiki.

Documentation

Veuillez consulter le wiki pour une documentation détaillée, ainsi que les considérations OpSec pour les différents modules de l'outil !

Bugs

Si vous pensez avoir identifié un bug dans le logiciel, veuillez ouvrir une issue contenant la sortie de l'outil, ainsi que les actions que vous tentiez d'effectuer.

Si vous n'êtes pas sûr que le comportement soit un bug, utilisez plutôt la section discussions !

Contribuer

Les contributions sont les bienvenues ! Veuillez consulter notre méthodologie de conception et nos normes de codage avant de travailler sur une nouvelle fonctionnalité !

De plus, si vous proposez des changements importants à l'outil, veuillez ouvrir une issue pour entamer une conversation sur la motivation des changements.

Licence

Gato est sous licence Apache License, Version 2.0.

root@kitploit:~
Copyright 2023 Praetorian Security, Inc

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

    http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
Télécharger l’outil