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
allstar — GitHub App pour définir et appliquer des politiques de sécurité | Kitploit
Outils/GitHubGitHub/ossf/allstar
Outils DéfensifsAudit de ConfigurationSécurité CloudDevSecOpsSécurité de la Chaîne Logistique
GitHubossf/allstar

allstar

GitHub App pour définir et appliquer des politiques de sécurité

Voir le dépôt
1.4k147il y a 22h 58mVé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

OpenSSF Scorecard

Allstar

Aperçu

  • Qu'est-ce qu'Allstar ?

Nouveautés d'Allstar

  • whats-new.md

Désactiver les problèmes indésirables

  • Aide ! Allstar crée des problèmes que je ne veux pas !

Pour commencer

  • Contexte
  • Options au niveau de l'organisation
  • Options d'installation
    • Utiliser l'application Allstar publique
      • Installation rapide
      • Installation manuelle
    • Héberger Allstar soi-même
      • Exécuter Allstar en tant qu'action GitHub
      • Exécuter Allstar en tant que démon de service

Politiques et actions

  • Actions
  • Politiques

Avancé

  • Définitions de configuration
  • Exemples de configurations
  • Exécuter votre propre instance d'Allstar

Contribuer

  • Contribuer


Aperçu

Qu'est-ce qu'Allstar ?

Allstar est une application GitHub qui surveille en continu les organisations ou dépôts GitHub pour s'assurer du respect des bonnes pratiques de sécurité. Si Allstar détecte une violation de politique de sécurité, il crée un problème pour alerter le propriétaire du dépôt ou de l'organisation. Pour certaines politiques de sécurité, Allstar peut également modifier automatiquement le paramètre du projet à l'origine de la violation, le rétablissant à l'état attendu.

L'objectif d'Allstar est de vous offrir un contrôle fin sur les fichiers et les paramètres qui affectent la sécurité de vos projets. Vous pouvez choisir quelles politiques de sécurité surveiller, à la fois au niveau de l'organisation et du dépôt, et comment gérer les violations de politique. Vous pouvez également développer ou contribuer à de nouvelles politiques.

Allstar est développé dans le cadre du projet OpenSSF Scorecard.

Nouveautés d'Allstar

Désactiver les problèmes indésirables

Si vous recevez des problèmes indésirables créés par Allstar, suivez ces instructions pour vous désinscrire.

Pour commencer

Contexte

Allstar est hautement configurable. Il existe trois niveaux principaux de contrôles :

  • Niveau organisation : Les administrateurs de l'organisation peuvent choisir d'activer Allstar sur :
    • tous les dépôts de l'organisation ;
    • la plupart des dépôts, à l'exception de certains qui sont désinscrits ;
    • seulement quelques dépôts qui sont inscrits.

Ces configurations sont effectuées dans le dépôt .allstar de l'organisation.

  • Niveau dépôt : Les responsables de dépôt dans une organisation qui utilise Allstar peuvent choisir d'inscrire ou de désinscrire leur dépôt des mesures de contrôle au niveau de l'organisation. Remarque : ces contrôles au niveau du dépôt ne sont fonctionnels que si la "surcharge de dépôt" est autorisée dans les paramètres au niveau de l'organisation. Ces configurations sont effectuées dans le répertoire .allstar du dépôt.

  • Niveau politique : Les administrateurs ou responsables peuvent choisir quelles politiques sont activées sur des dépôts spécifiques et quelles actions Allstar entreprend lorsqu'une politique est violée. Ces configurations sont effectuées dans un fichier yaml de politique, soit dans le dépôt .allstar de l'organisation (administrateurs), soit dans le répertoire .allstar du dépôt (responsables).

Options au niveau de l'organisation

Avant d'installer Allstar au niveau de l'organisation, vous devez décider approximativement sur combien de dépôts vous souhaitez qu'Allstar s'exécute. Cela vous aidera à choisir entre les stratégies d'inscription et de désinscription.

  • La stratégie d'inscription vous permet d'ajouter manuellement les dépôts sur lesquels vous souhaitez qu'Allstar s'exécute. Si vous ne spécifiez aucun dépôt, Allstar ne s'exécutera pas malgré son installation. Choisissez la stratégie d'inscription si vous souhaitez appliquer des politiques uniquement sur un petit nombre de vos dépôts totaux, ou si vous voulez essayer Allstar sur un seul dépôt avant de l'activer sur davantage. Depuis la version v4.3, les globs sont pris en charge pour ajouter facilement plusieurs dépôts portant un nom similaire.

  • La stratégie de désinscription (recommandée) active Allstar sur tous les dépôts et vous permet de sélectionner manuellement les dépôts à désinscrire des mesures de contrôle d'Allstar. Vous pouvez également choisir de désinscrire tous les dépôts publics, ou tous les dépôts privés. Choisissez cette option si vous souhaitez exécuter Allstar sur tous les dépôts d'une organisation, ou si vous souhaitez désinscrire seulement un petit nombre de dépôts ou un type spécifique (c'est-à-dire public vs. privé) de dépôt. Depuis la version v4.3, les globs sont pris en charge pour ajouter facilement plusieurs dépôts portant un nom similaire.

Options d'installation

Les options Installation rapide et Installation manuelle impliquent toutes deux l'installation de l'application Allstar dans votre organisation GitHub. L'application Allstar est gérée par OpenSSF et constitue un bon choix pour la plupart des dépôts open source. Vous pouvez consulter les autorisations demandées. L'application demande un accès en lecture à la plupart des paramètres et contenus de fichiers pour détecter la conformité de sécurité. Elle demande un accès en écriture aux problèmes et aux vérifications afin de pouvoir créer des problèmes et permettre l'action block.

Si vous ne souhaitez pas utiliser l'application Allstar gérée par OpenSSF, vous pouvez héberger Allstar vous-même, en créant votre propre application Allstar. Cela offre un contrôle direct de l'application, en échange de la nécessité de configurer, sécuriser, surveiller et maintenir l'application.

Utiliser l'application Allstar

L'installation rapide ou manuelle est recommandée, sauf si vous avez des contraintes de sécurité ou de conformité spécifiques qui vous empêchent d'utiliser l'application Allstar gérée par OpenSSF.

Installation rapide

Cette option d'installation activera Allstar en utilisant la stratégie de désinscription sur tous les dépôts de votre organisation. Toutes les politiques actuelles seront activées, et Allstar vous alertera des violations de politique en créant un problème. C'est le moyen le plus rapide et le plus simple de commencer à utiliser Allstar, et vous pouvez toujours modifier les configurations ultérieurement.

Effort : très facile

Étapes :

  1. Installer l'application Allstar
    1. Ouvrir la page d'installation et cliquer sur Configurer
    2. Si vous avez plusieurs organisations, sélectionnez celle sur laquelle vous souhaitez installer Allstar
    3. Sélectionner "Tous les dépôts" sous Accès aux dépôts, même si vous prévoyez de désactiver Allstar sur certains dépôts plus tard
  2. Forker le dépôt d'exemple
    1. Ouvrir le dépôt d'exemple et cliquer sur le bouton "Utiliser ce modèle"
    2. Dans le champ Nom du dépôt, taper .allstar
    3. Cliquer sur "Créer un dépôt à partir du modèle"

C'est tout ! Toutes les politiques actuelles d'Allstar sont maintenant activées sur tous vos dépôts. Allstar créera un problème si une politique est violée.

Pour modifier les configurations, voir les instructions d'installation manuelle.

Installation manuelle

Cette option d'installation vous guidera dans la création de fichiers de configuration selon la stratégie d'inscription ou de désinscription. Cette option offre un contrôle plus granulaire des configurations dès le départ.

Effort : modéré

Étapes :

  1. Installer l'application Allstar (choisir "Tous les dépôts" sous Accès aux dépôts, même si vous ne prévoyez pas d'utiliser Allstar sur tous vos dépôts)
  2. Suivre les instructions d'installation manuelle pour créer des fichiers de configuration Allstar au niveau de l'organisation ou du dépôt, ainsi que des fichiers de politique individuels.

Héberger Allstar soi-même

N'hébergez Allstar vous-même que si vous le devez absolument ! L'application Allstar nécessite configuration, sécurisation et maintenance continue. Lorsqu'une nouvelle version d'Allstar est publiée, vous devrez mettre à niveau votre solution auto-hébergée.

Deux approches d'auto-hébergement sont décrites :

  • Exécuter Allstar en tant qu'action GitHub - Cette option est relativement légère et utilise GitHub Actions pour exécuter les vérifications Allstar.
  • Exécuter Allstar en tant que démon de service - Cette option offre le plus haut niveau de contrôle et suppose que vous êtes capable d'exécuter un service persistant sur un serveur fiable ou un orchestrateur de conteneurs.
Exécuter Allstar en tant qu'action GitHub

Cette option d'installation exécute Allstar en tant que tâche planifiée à l'aide de GitHub Actions.

Effort : élevé

Suivez les instructions d'installation pour GitHub Actions pour :

  1. Créer une nouvelle application GitHub pour l'utilisation d'Allstar.
  2. Créer un dépôt de contrôle .allstar au niveau de l'organisation comme décrit dans l'installation rapide ou l'installation manuelle. (Ignorez les étapes pour installer l'application Allstar gérée par OpenSSF dans votre organisation.)
  3. Configurer une action GitHub récurrente dans .allstar pour exécuter Allstar en mode batch.
  4. Surveiller l'activité et les résultats des tâches.
Exécuter Allstar en tant que démon de service

Cette option d'installation exécute Allstar en tant que processus persistant.

Effort : très élevé

Voir les instructions pour l'opérateur pour plus d'informations, notamment la création d'une application Allstar, la gestion des secrets et les variables d'environnement disponibles.

Politiques et actions

Actions

Chaque politique peut être configurée avec une action qu'Allstar entreprendra lorsqu'il détecte qu'un dépôt n'est pas conforme.

  • log : Il s'agit de l'action par défaut, et elle a lieu en fait pour toutes les actions. Tous les résultats et détails des exécutions de politiques sont enregistrés. Les journaux ne sont actuellement visibles que pour l'opérateur de l'application, des plans pour les exposer sont en cours de discussion.
  • issue : Cette action crée un problème GitHub. Un seul problème est créé par politique, et le texte décrit les détails de la violation de politique. Si le problème est déjà ouvert, il est relancé avec un commentaire toutes les 24 heures sans mise à jour (actuellement non configurable par l'utilisateur). Si le résultat de la politique change, un nouveau commentaire sera laissé sur le problème et lié dans le corps du problème. Une fois la violation résolue, le problème sera automatiquement fermé par Allstar dans les 5 à 10 minutes.
  • fix : Cette action est spécifique à la politique. La politique apportera les modifications aux paramètres GitHub pour corriger la violation de politique. Toutes les politiques ne pourront pas prendre en charge cela (voir ci-dessous).

Actions proposées, mais pas encore implémentées. Les définitions seront ajoutées à l'avenir.

  • block : Allstar peut définir une vérification de statut GitHub et bloquer la fusion de toute PR dans le dépôt si la vérification échoue.
  • email : Allstar enverrait un courriel au(x) administrateur(s) du dépôt.
  • rpc : Allstar enverrait un rpc à un système spécifique à l'organisation.

Configuration des actions

Deux paramètres sont disponibles pour configurer l'action issue :

  • issueLabel est disponible au niveau de l'organisation et du dépôt. Le définir remplacera l'étiquette par défaut allstar utilisée par Allstar pour identifier ses problèmes.

  • issueRepo est disponible au niveau de l'organisation. Le définir forcera tous les problèmes créés dans l'organisation à être créés dans le dépôt spécifié.

Politiques

Comme pour la configuration d'activation de l'application Allstar, toutes les politiques sont activées et configurées avec un fichier yaml dans soit le dépôt .allstar de l'organisation, soit le répertoire .allstar du dépôt. Comme pour l'application, les politiques sont en inscription par défaut, et l'action par défaut log ne produira pas de résultats visibles. Un moyen simple d'activer toutes les politiques est de créer un fichier yaml pour chaque politique avec le contenu suivant :```yaml optConfig: optOutStrategy: true action: issue

root@kitploit:~
Les détails du fonctionnement de l'action `fix` pour chaque politique sont détaillés ci-dessous. Si omis ci-dessous, l'action `fix` n'est pas applicable.

### Protection de branche

Le fichier de configuration de cette politique est nommé `branch_protection.yaml`, et les [définitions de configuration sont ici](https://pkg.go.dev/github.com/ossf/allstar/pkg/policies/branch#OrgConfig).

La politique de protection de branche vérifie que les [paramètres de protection de branche](https://docs.github.com/en/github/administering-a-repository/defining-the-mergeability-of-pull-requests/about-protected-branches) de GitHub sont configurés correctement selon la configuration spécifiée. Le texte de l'issue décrira quel paramètre est incorrect. Consultez la [documentation de GitHub](https://docs.github.com/en/github/administering-a-repository/defining-the-mergeability-of-pull-requests/about-protected-branches) pour corriger les paramètres.

L'action `fix` modifiera les paramètres de protection de branche pour les rendre conformes à la configuration de la politique spécifiée.

### Artefacts binaires

Le fichier de configuration de cette politique est nommé `binary_artifacts.yaml`, et les [définitions de configuration sont ici](https://pkg.go.dev/github.com/ossf/allstar/pkg/policies/binary#OrgConfig).

Cette politique intègre la [vérification de scorecard](https://github.com/ossf/scorecard/#scorecard-checks). Supprimez l'artefact binaire du dépôt pour atteindre la conformité. Comme les résultats de scorecard peuvent être verbeux, vous devrez peut-être exécuter [scorecard lui-même](https://github.com/ossf/scorecard) pour voir toutes les informations détaillées.

### CODEOWNERS

Le fichier de configuration de cette politique est nommé `codeowners.yaml`, et les [définitions de configuration sont ici](https://pkg.go.dev/github.com/ossf/allstar/pkg/policies/codeowners#OrgConfig).

Cette politique vérifie la présence d'un [`fichier CODEOWNERS`](https://docs.github.com/en/repositories/managing-your-repositorys-settings-and-features/customizing-your-repository/about-code-owners) dans vos dépôts.

### Collaborateurs externes

Le fichier de configuration de cette politique est nommé `outside.yaml`, et les [définitions de configuration sont ici](https://pkg.go.dev/github.com/ossf/allstar/pkg/policies/outside#OrgConfig).

Cette politique vérifie si des [Collaborateurs externes](https://docs.github.com/en/organizations/managing-access-to-your-organizations-repositories/adding-outside-collaborators-to-repositories-in-your-organization) ont un accès administrateur (par défaut) ou push (optionnel) au dépôt. Seuls les membres de l'organisation devraient avoir cet accès, car autrement des membres non fiables peuvent modifier les paramètres de niveau administrateur et commettre du code malveillant.

### SECURITY.md

Le fichier de configuration de cette politique est nommé `security.yaml`, et les [définitions de configuration sont ici](https://pkg.go.dev/github.com/ossf/allstar/pkg/policies/security#OrgConfig).

Cette politique vérifie que le dépôt possède un fichier de politique de sécurité dans `SECURITY.md` et qu'il n'est pas vide. L'issue créée contiendra un lien vers l'[onglet GitHub](https://docs.github.com/en/code-security/getting-started/adding-a-security-policy-to-your-repository) qui vous aide à valider une politique de sécurité dans votre dépôt.

### Workflow dangereux

Le fichier de configuration de cette politique est nommé `dangerous_workflow.yaml`, et les [définitions de configuration sont ici](https://pkg.go.dev/github.com/ossf/allstar/pkg/policies/workflow#OrgConfig).

Cette politique s'exécutera sur **toutes** les branches, voir la justification [ici](https://github.com/ossf/allstar/issues/569).

Cette politique vérifie les fichiers de configuration de workflow GitHub Actions (`.github/workflows`) pour tout motif correspondant à un comportement dangereux connu. Consultez la [documentation OpenSSF Scorecard](https://github.com/ossf/scorecard/blob/main/docs/checks.md#dangerous-workflow) pour plus d'informations sur cette vérification.

### Vérification générique Scorecard

Le fichier de configuration de cette politique est nommé `scorecard.yaml`, et les [définitions de configuration sont ici](https://pkg.go.dev/github.com/ossf/allstar/pkg/policies/scorecard#OrgConfig).

Cette politique exécute toute vérification scorecard listée dans la configuration `checks`. Toutes les vérifications exécutées doivent avoir un score égal ou supérieur au paramètre `threshold`. Veuillez consulter la [documentation OpenSSF Scorecard](https://github.com/ossf/scorecard/blob/main/docs/checks.md) pour plus d'informations sur chaque vérification.

#### Téléversement SARIF

La politique Scorecard peut éventuellement téléverser les résultats au format [SARIF](https://sarifweb.azurewebsites.net/) vers l'onglet **Security > Code Scanning** de chaque dépôt. Cela donne aux administrateurs de l'organisation une visibilité sur les résultats de Scorecard aux côtés d'autres outils de sécurité (CodeQL, Dependabot, etc.) sans nécessiter de configuration de workflow par dépôt.

Pour activer le téléversement SARIF, ajoutez le champ `upload` à votre `scorecard.yaml` :```yaml
optConfig:
  optOutStrategy: true
action: issue
checks:
  - Binary-Artifacts
  - Signed-Releases
threshold: 8
upload:
  sarif: true

Exigences :

  • L'application GitHub Allstar doit avoir la permission Code scanning alerts du dépôt définie sur Read & write (portée API : security_events). Les opérateurs auto-hébergés doivent ajouter cette permission à leur application GitHub. L' application publique Allstar exploitée par OpenSSF n'inclut pas encore cette permission.
  • Le téléchargement SARIF est non bloquant : si le téléchargement échoue (par exemple, en raison de permissions manquantes), la vérification de la politique continue normalement.
  • La détection de changement compare le SHA du commit HEAD du dépôt et ignore l'analyse et le téléchargement lorsque le dépôt n'a pas été mis à jour depuis le dernier téléchargement.

Le téléchargement SARIF fonctionne avec les deux modes de déploiement auto-hébergés : exécuté en tant que démon de service ou en tant que GitHub Action.

GitHub Actions

Le fichier de configuration de cette politique s'appelle actions.yaml, et les définitions de configuration sont ici.

Cette politique vérifie les fichiers de configuration des workflows GitHub Actions (.github/workflows) (et les exécutions de workflows dans certains cas) dans chaque dépôt pour s'assurer qu'ils sont conformes aux règles (par exemple, obliger, interdire) définies dans la configuration au niveau de l'organisation pour la politique.

Administrateurs de dépôt

Le fichier de configuration de cette politique s'appelle admin.yaml, et les définitions de configuration sont ici.

Cette politique vérifie que par défaut tous les dépôts doivent avoir un utilisateur ou un groupe assigné comme administrateur. Elle vous permet de configurer optionnellement si les utilisateurs sont autorisés à être administrateurs (par opposition aux équipes).

Politiques futures

  • S'assurer que Dependabot est activé.
  • Vérifier que les dépendances sont épinglées/gelées.

Exemple de dépôt de configuration

Voir ce dépôt comme un exemple de configuration Allstar utilisée. En tant qu'administrateur de l'organisation, envisagez un README.md avec quelques informations sur la façon dont Allstar est utilisé dans votre organisation.

Avancé

Définitions de configuration

  • Configuration d'activation au niveau de l'organisation
  • Configuration d'activation de remplacement du dépôt

Emplacement secondaire de configuration au niveau de l'organisation

Par défaut, les fichiers de configuration au niveau de l'organisation, tels que le fichier allstar.yaml ci-dessus, sont censés se trouver dans un dépôt .allstar. Si ce dépôt n'existe pas, alors le répertoire allstar du dépôt .github est utilisé comme emplacement secondaire. Pour clarifier, pour allstar.yaml :

PrioritéDépôtChemin
Primaire.allstarallstar.yaml
Secondaire.githuballstar/allstar.yaml

Ceci est également vrai pour les fichiers de configuration au niveau de l'organisation pour les politiques individuelles, comme décrit ci-dessous.

Configurations de politique de dépôt dans le dépôt de l'organisation

Allstar recherchera également les configurations de politique au niveau du dépôt dans le dépôt .allstar de l'organisation, dans le répertoire portant le même nom que le dépôt. Cette configuration est utilisée indépendamment du fait que le "remplacement de dépôt" soit désactivé.

Par exemple, Allstar recherchera la configuration de politique pour un dépôt donné myapp dans l'ordre suivant :

Emplacement des configurations de base et de fusion au niveau de l'organisation

Pour les fichiers de configuration de politique et Allstar au niveau de l'organisation, vous pouvez spécifier le champ baseConfig pour spécifier un autre dépôt qui contient la configuration Allstar de base. Cela s'explique mieux avec un exemple.

Supposons que vous ayez plusieurs organisations GitHub, mais que vous souhaitiez maintenir une configuration Allstar unique. Votre organisation principale est "acme", et le dépôt acme/.allstar contient allstar.yaml :```yaml optConfig: optOutStrategy: true issueLabel: allstar-acme issueFooter: Issue created by Acme security team.

root@kitploit:~
Vous avez également une organisation satellite GitHub nommée « acme-sat ». Vous souhaitez réutiliser la configuration principale, mais appliquer quelques modifications supplémentaires en désactivant Allstar sur certains dépôts. Le dépôt `acme-sat/.allstar` contient `allstar.yaml` :```yaml
baseConfig: acme/.allstar
optConfig:
  optOutRepos:
  - acmesat-one
  - acmesat-two

Cela utilisera toute la configuration de acme/.allstar comme configuration de base, mais appliquera ensuite les modifications du fichier actuel par‑dessus la configuration de base. La méthode utilisée est décrite comme un JSON Merge Patch. Le baseConfig doit être un <org>/<repository> GitHub.

Contribuer

Voir CONTRIBUTING.md

Télécharger l’outil
Désinscription (Recommandée)
optOutStrategy = true
Inscription
optOutStrategy = false
Comportement par défaut Tous les dépôts sont activésAucun dépôt n'est activé
Ajout manuel de dépôtsAjouter manuellement des dépôts désactive Allstar sur ces dépôtsAjouter manuellement des dépôts active Allstar sur ces dépôts
Configurations supplémentairesoptOutRepos : Allstar sera désactivé sur les dépôts listés

optOutPrivateRepos : si vrai, Allstar sera désactivé sur tous les dépôts privés

optOutPublicRepos : si vrai, Allstar sera désactivé sur tous les dépôts publics

(optInRepos : ce paramètre sera ignoré)
optInRepos : Allstar sera activé sur les dépôts listés

(optOutRepos : ce paramètre sera ignoré)
Surcharge de dépôt Si vrai : Les dépôts peuvent se désinscrire des mesures de contrôle de leur organisation en utilisant les paramètres de leur propre fichier de dépôt. Les paramètres d'inscription au niveau de l'organisation qui s'appliquent à ce dépôt sont ignorés.

Si faux : les dépôts ne peuvent pas se désinscrire des mesures de contrôle configurées au niveau de l'organisation.
Si vrai : Les dépôts peuvent s'inscrire aux mesures de contrôle de leur organisation même s'ils ne sont pas configurés pour le dépôt au niveau de l'organisation. Les paramètres de désinscription au niveau de l'organisation qui s'appliquent à ce dépôt sont ignorés.

Si faux : Les dépôts ne peuvent pas s'inscrire aux mesures de contrôle si ce n'est pas configuré au niveau de l'organisation.
DépôtCheminCondition
myapp.allstar/branch_protection.yamlLorsque le « remplacement de dépôt » est autorisé.
.allstarmyapp/branch_protection.yamlTout le temps.
.allstarbranch_protection.yamlTout le temps.
.githuballstar/myapp/branch_protection.yamlSi le dépôt .allstar n'existe pas.
.githuballstar/branch_protection.yamlSi le dépôt .allstar n'existe pas.