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
chain-bench — Audit la conformité de la sécurité de la chaîne d'approvisionnement logicielle par rapport au benchmark CIS, en analysant les paramètres SCM, les protections de branches, les dépendances et les pipelines CI/CD pour détecter les risques. | Kitploit
Outils/GitHubGitHub/aquasecurity/chain-bench
Scanners de VulnérabilitésAudit de ConfigurationDevSecOpsSécurité de la Chaîne Logistique
GitHubaquasecurity/chain-bench

chain-bench

Audit la conformité de la sécurité de la chaîne d'approvisionnement logicielle par rapport au benchmark CIS, en analysant les paramètres SCM, les protections de branches, les dépendances et les pipelines CI/CD pour détecter les risques.

Voir le dépôt
77463il 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

logo chain-bench

📖 Documentation

Chain-bench est un outil open-source pour auditer votre chaîne d'approvisionnement logicielle en matière de conformité de sécurité, basé sur un nouveau benchmark CIS Software Supply Chain. L'audit se concentre sur l'ensemble du processus SDLC, où il peut révéler les risques depuis le moment du code jusqu'au déploiement. Pour gagner la course contre les hackers et protéger vos données sensibles et la confiance de vos clients, vous devez vous assurer que votre code est conforme aux politiques de votre organisation.

Lisez-en plus dans la Documentation Chain-bench

Go Reference GitHub Release Downloads DockerHub Pulls Build Status License go-report-card

démo

Sommaire

  • Sommaire
  • Introduction
  • Démarrage rapide
    • Installation
    • Utilisation
      • Avec Docker
      • Avec GitHub Actions
      • Avec Gitlab CI (bêta)
  • Prérequis
  • Fournisseurs supportés
  • Veuillez noter
  • Contribuer
  • Feuille de route

Introduction

Chain-bench est un outil open-source pour auditer votre chaîne d'approvisionnement logicielle en matière de conformité de sécurité, basé sur un nouveau benchmark CIS Software Supply Chain. L'audit se concentre sur l'ensemble du processus SDLC, où il peut révéler les risques depuis le moment du code jusqu'au déploiement.

Démarrage rapide

La principale façon d'exécuter chain-bench est en tant qu'interface en ligne de commande autonome. Il nécessite un jeton d'accès pour votre compte ainsi que l'URL du dépôt afin d'accéder à votre SCM.

Installation

Obtenez Chain-bench via votre méthode d'installation préférée. Voir la section installation dans la documentation pour plus de détails. Par exemple :

  • brew install chain-bench
  • nix-env --install -A nixpkgs.chain-bench
  • docker run aquasec/chain-bench
  • Téléchargez le binaire depuis https://github.com/aquasecurity/chain-bench/releases/latest/

Utilisation

root@kitploit:~
chain-bench scan --repository-url <URL_DU_DÉPÔT> --access-token <JETON> -o <CHEMIN_DE_SORTIE>

Utilisation de plateformes SCM auto-hébergées ou dédiées (avec domaines personnalisés)

root@kitploit:~
chain-bench scan --repository-url <URL_DU_DÉPÔT> --scm-platform <PLATEFORME_SCM> --access-token <JETON> -o <CHEMIN_DE_SORTIE>

Les options supportées pour scm-platform sont "github" et "gitlab" (bêta)

Avec Docker

root@kitploit:~
docker run aquasec/chain-bench scan --repository-url <URL_DU_DÉPÔT> --access-token <JETON>

Avec GitHub Actions

Voir le dépôt sur https://github.com/aquasecurity/chain-bench-action

Exemple de sortie
root@kitploit:~
2022-06-13 15:22:18 INF 🚩	Début de la récupération
2022-06-13 15:22:19 INF 🏢	Récupération des paramètres de l'organisation terminée
2022-06-13 15:22:29 INF 🛢️	Récupération des paramètres du dépôt terminée
2022-06-13 15:22:29 INF 🌱	Récupération des paramètres de protection de branche terminée
2022-06-13 15:22:29 INF 👫	Récupération des membres terminée
2022-06-13 15:22:31 INF 🔧	Récupération des pipelines terminée
2022-06-13 15:22:31 INF 🏁	Récupération réussie
   ID                                                 Nom                                                Résultat                Raison
-------- ----------------------------------------------------------------------------------------------- -------- ---------------------------------------
 1.1.3    S'assurer que toute modification du code reçoit l'approbation de deux utilisateurs fortement authentifiés                 Réussi
 1.1.4    S'assurer que les approbations précédentes sont annulées lorsque des mises à jour sont introduites dans une proposition de modification de code   Échoué
 1.1.5    S'assurer qu'il existe des restrictions sur qui peut annuler les révisions de modifications de code                       Échoué
 1.1.6    S'assurer que les propriétaires de code sont définis pour les codes ou configurations particulièrement sensibles                            Échoué
 1.1.8    S'assurer que les branches inactives sont révisées et supprimées périodiquement                                  Échoué   20 branches inactives
 1.1.9    S'assurer que toutes les vérifications ont réussi avant la fusion du nouveau code                                      Réussi
 1.1.10   S'assurer que les branches Git ouvertes sont à jour avant de pouvoir être fusionnées dans la base de code                 Réussi
 1.1.11   S'assurer que tous les commentaires ouverts sont résolus avant d'autoriser la fusion des modifications de code                     Réussi
 1.1.12   S'assurer de la vérification des commits signés des nouvelles modifications avant la fusion                                   Échoué
 1.1.13   S'assurer qu'un historique linéaire est requis                                                               Réussi
 1.1.14   S'assurer que les règles de protection des branches sont appliquées aux administrateurs                                   Échoué
 1.1.15   S'assurer que l'ajout de nouveau code est limité à des personnes ou équipes spécifiques                       Réussi
 1.1.16   S'assurer que les pushes forcés de code vers les branches sont refusés                                                  Échoué
 1.1.17   S'assurer que les suppressions de branches sont refusées                                                              Échoué
 1.2.1    S'assurer que tous les dépôts publics contiennent un fichier SECURITY.md                                       Échoué
 1.2.2    S'assurer que la création de dépôts est limitée à des membres spécifiques                                       Échoué
 1.2.3    S'assurer que la suppression de dépôts est limitée à des membres spécifiques                                       Réussi
 1.2.4    S'assurer que la suppression de problèmes est limitée à des membres spécifiques                                            Réussi
 1.3.1    S'assurer que les utilisateurs inactifs sont révisés et supprimés périodiquement                                     Échoué   22 utilisateurs inactifs
 1.3.3    S'assurer qu'un nombre minimum d'administrateurs est défini pour l'organisation                                              Réussi
 1.3.5    S'assurer que l'organisation exige des membres qu'ils utilisent l'MFA                                         Réussi
 1.3.7    S'assurer que 2 administrateurs sont définis pour chaque dépôt                                                     Échoué
 1.3.8    S'assurer que des permissions de base strictes sont définies pour les dépôts                                         Réussi
 1.3.9    S'assurer que l'identité de l'organisation est confirmée avec un badge vérifié                            Échoué
 2.3.1    S'assurer que toutes les étapes de construction sont définies comme du code                                                      Échoué   Aucun job de construction trouvé dans les pipelines
 2.3.5    S'assurer que l'accès au déclenchement du processus de construction est minimisé                                    Réussi
 2.3.7    S'assurer que les pipelines sont automatiquement analysés pour les vulnérabilités                                  Réussi
 2.3.8    S'assurer que des analyseurs sont en place pour identifier et empêcher les données sensibles dans les fichiers de pipeline           Échoué   Le dépôt n'est pas analysé pour les secrets
 2.4.2    S'assurer que toutes les dépendances externes utilisées dans le processus de construction sont verrouillées                           Échoué   16 tâche(s) ne sont pas épinglées
 2.4.6    S'assurer que les étapes du pipeline produisent un SBOM                                                           Réussi
 3.1.7    S'assurer que les dépendances sont épinglées à une version spécifique et vérifiée                                  Échoué   16 dépendances ne sont pas épinglées
 3.2.2    S'assurer que les packages sont automatiquement analysés pour les vulnérabilités connues                             Réussi
 3.2.3    S'assurer que les packages sont automatiquement analysés pour les implications de licence                              Réussi
 4.2.3    S'assurer que l'accès de l'utilisateur au registre de packages utilise l'MFA                                       Réussi
 4.2.5    S'assurer que l'accès anonyme aux artefacts est révoqué                                                 Réussi
 4.3.4    S'assurer que les webhooks du registre de packages sont sécurisés                                             Réussi
-------- ----------------------------------------------------------------------------------------------- -------- ---------------------------------------
 Total des règles réussies : 19 sur 36
2022-06-13 15:22:31 INF Analyse terminée : 13.108s

Avec Gitlab CI (bêta)

Vous pouvez intégrer les résultats de chain-bench dans le Rapport de vulnérabilité Gitlab en ajoutant une nouvelle étape dans votre définition CI :

root@kitploit:~
chain-bench-scanning:
  stage: test
  image:
    name: docker.io/aquasec/chain-bench
    entrypoint: [""]
  script:
    - chain-bench scan --repository-url $CI_PROJECT_URL --access-token $CHAIN_BENCH_TOKEN --scm-platform gitlab -o results.json --template @/templates/gitlab_security_scanner.tpl
  artifacts:
    reports:
      container_scanning: results.json
  • Vous devez créer un nouveau jeton avec le rôle Maintainer qui a les autorisations read_api et read_repository et l'utiliser comme variable d'environnement (par ex. $CHAIN_BENCH_TOKEN)

Prérequis

Il est nécessaire de fournir un jeton d'accès avec les autorisations pour ces domaines : repo(tous), read:repo_hook, admin:org_hook, read:org

Fournisseurs supportés

Nous supportons actuellement les SCM Github et Gitlab, avec une authentification PAT.

Veuillez noter

Chain-bench implémente le benchmark CIS Software Supply Chain aussi fidèlement que possible. Vous pouvez trouver les contrôles actuellement implémentés sous AVD - Software Supply Chain CIS - 1.0 qui se mettent à jour chaque nuit en fonction des fichiers metadata.json de chain-bench. Veuillez signaler les problèmes ici si chain-bench n'implémente pas correctement le test tel que décrit dans le benchmark. Pour signaler des problèmes dans le benchmark lui-même (par exemple, des tests que vous estimez inappropriés), veuillez rejoindre la communauté CIS.

Contribuer

Merci de lire Contribuer avant de contribuer. Nous accueillons favorablement les PR et les rapports de problèmes.

Feuille de route

À l'avenir, nous prévoyons de publier des mises à jour de chain-bench pour augmenter la couverture du benchmark avec plus de contrôles et supporter plus de plateformes. Chain-bench est un projet open source d'Aqua Security faisant partie de la famille Trivy.

Télécharger l’outil