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
api-security-audit-action — Automatise l'audit de sécurité statique des contrats OpenAPI dans les pipelines CI/CD, exécutant plus de 300 contrôles pour l'authentification, l'autorisation et les contraintes de données, avec des seuils de score minimal et une sortie SARIF. | Kitploit
Outils/GitHubGitHub/42crunch/api-security-audit-action
Outils DéfensifsAnalyse StatiqueAnalyse des VulnérabilitésTests de Sécurité des APIDevSecOpsSécurité des API
GitHub42crunch/api-security-audit-action

api-security-audit-action

Automatise l'audit de sécurité statique des contrats OpenAPI dans les pipelines CI/CD, exécutant plus de 300 contrôles pour l'authentification, l'autorisation et les contraintes de données, avec des seuils de score minimal et une sortie SARIF.

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
Voir le dépôt
3614il y a 13 joursVérifié par Kitploit

Action GitHub : test de sécurité statique des API REST 42Crunch

L'action de test de sécurité statique des API REST localise les contrats d'API REST qui suivent la spécification OpenAPI (OAS, anciennement connue sous le nom de Swagger) et exécute des contrôles de sécurité approfondis sur ceux-ci. Les versions OAS v2 et v3.0.x sont toutes deux prises en charge, aux formats JSON et YAML.

Vous pouvez utiliser cette action dans les scénarios suivants :

  • Ajouter une tâche de test de sécurité statique automatique des API (SAST) à vos workflows CI/CD.
  • Effectuer ces contrôles lors des revues de pull request et/ou des fusions de code.
  • Signaler les problèmes détectés dans les alertes de sécurité / d'analyse de code (Code Scanning) de GitHub.

L'action est propulsée par 42Crunch API Security Audit. Security Audit effectue une analyse statique de la définition d'API qui comprend plus de 300 contrôles sur les bonnes pratiques et les vulnérabilités potentielles liées à l'authentification, à l'autorisation ainsi qu'aux contraintes de données.

Découvrir les API dans vos dépôts

Par défaut, cette action va :

  1. Rechercher tous les fichiers .json et .yaml dans le dépôt.
  2. Sélectionner les fichiers qui utilisent le schéma OpenAPI.
  3. Effectuer un audit de sécurité sur les définitions OpenAPI.

Vous pouvez ainsi localiser tout contrat d'API nouveau ou modifié dans le dépôt.

Vous pouvez affiner le comportement de l'action en spécifiant des parties précises du dépôt ou des masques de noms de fichiers à inclure ou exclure dans la découverte des API. Vous pouvez même désactiver complètement la découverte et lister uniquement des fichiers d'API spécifiques à contrôler, puis les mapper à vos API existantes dans la plateforme de sécurité API 42Crunch. Vous configurez tous ces paramètres dans le fichier de configuration 42c-conf.yaml. Pour des exemples avancés, voir ici.

Toutes les API découvertes sont téléversées dans une collection d'API sur la plateforme 42Crunch. Par défaut, l'action utilise les variables d'environnement GITHUB_REPOSITORY et GITHUB_REF pour nommer le dépôt et la branche/tag/PR d'où provient la collection d'API. Vous pouvez remplacer ce nom à l'aide du paramètre d'action default-collection-name. Lors des exécutions suivantes, les API de la collection restent synchronisées avec les modifications de votre dépôt.

Utiliser cette action pour bloquer le déploiement d'API vulnérables

Ajoutez cette action à vos workflows CI/CD dans GitHub et faites-la échouer sur les définitions d'API qui contiennent des problèmes de sécurité.

Security Audit attribue à chaque contrat d'API un score d'audit de 0 à 100 reflétant la surface de sécurité de vos API. Vous pouvez utiliser le paramètre min-score de l'action GitHub pour définir le seuil de score d'audit auquel l'action échoue (la valeur par défaut est 75, si aucune autre valeur n'est spécifiée). Cela permet de détecter les définitions d'API de mauvaise qualité et de traiter les problèmes dès la phase de conception.

Des conditions d'échec plus avancées peuvent être définies dans le fichier de configuration 42c-conf.yaml, comme le score d'audit par catégorie (sécurité ou validation des données), le niveau de gravité des problèmes, ou même des problèmes spécifiques identifiés par leur ID. Pour des exemples avancés, voir ici.

De plus, le plugin applique les portes de qualité de sécurité définies au niveau de la plateforme (par défaut ou pilotées par des tags). Les portes de qualité de sécurité imposent les exigences de sécurité applicative définies au sein de l'entreprise.

Lire des rapports détaillés et exploitables

Chaque fois que l'action s'exécute, elle inclut un lien vers le rapport détaillé, priorisé et exploitable pour chacun de vos fichiers OpenAPI :

Suivez les liens pour lire le rapport détaillé dans la plateforme 42Crunch :

Téléversement des alertes 42Crunch vers le Code Scanning GitHub

Vous pouvez également suivre les problèmes détectés par l'audit 42Crunch directement dans GitHub, sous l'onglet Security dans la section Code scanning alerts.

Pour activer cette fonctionnalité, il suffit d'inclure upload-to-code-scanning:true dans les paramètres de l'action de votre workflow GitHub.

Cliquez sur l'une des alertes pour voir son emplacement exact dans votre code et obtenir les détails de la vulnérabilité ainsi que les étapes de remédiation recommandées.

Pour commencer

Cette action utilise le service 42Crunch API Security Audit. Avant d'utiliser l'action, vous devez disposer d'un compte sur la plateforme 42Crunch. Si vous n'êtes pas client de 42Crunch, vous pouvez demander un compte gratuit à partir de cette page : https://42crunch.com/get-started/.

Ensuite, suivez les étapes décrites dans la documentation pour créer un jeton API permettant à l'action de s'authentifier auprès de la plateforme 42Crunch, et enregistrez-le comme secret dans GitHub.

Paramètres de l'action

api-token

Requis Le jeton API que l'action GitHub utilise pour s'authentifier auprès de la plateforme 42Crunch. Ne placez pas votre jeton API directement dans le fichier de workflow ! Créez plutôt un secret GitHub dans les paramètres de votre dépôt et référencez-le comme indiqué dans l'exemple ci-dessous.

min-score

Le score d'audit minimum que les fichiers OpenAPI doivent atteindre, sinon l'action échoue. La valeur par défaut est 75.

upload-to-code-scanning

Téléverse les résultats d'audit vers GitHub Code Scanning. La valeur par défaut est false. Notez que le workflow doit disposer d'autorisations spécifiques pour que cette étape réussisse.

root@kitploit:~
...
jobs:
  run_42c_audit:
    permissions:
      contents: read # for actions/checkout to fetch code
      security-events: write # for results upload to Github Code Scanning
...

ignore-failures

Si la valeur est true, force la fin de l'exécution en succès même si les conditions d'échec que vous avez définies (comme min-score ou les critères SQG) sont remplies. La valeur par défaut est false.

Ce paramètre peut être utile si vous souhaitez détecter des scénarios d'échec SQG sans les appliquer (c'est-à-dire accorder une période de grâce aux équipes de développement avant de commencer à casser les builds).

ignore-network-errors

Si la valeur est true, force la fin de l'exécution en succès même si une erreur réseau s'est produite (comme un échec de connexion à la plateforme 42Crunch, etc.). La valeur par défaut est false.

skip-local-checks

Si la valeur est true, désactive toutes les conditions d'échec (comme le score minimum) définies dans le fichier 42c-conf.yaml et ne fait échouer l'exécution que si les critères définis dans les SQG ne sont pas respectés. La valeur par défaut est false.

platform-url

L'URL à laquelle vous accédez à la plateforme 42Crunch. La valeur par défaut est https://us.42crunch.cloud.

Si vous êtes un client entreprise, saisissez l'URL que vous utilisez pour accéder à votre plateforme de production.

root-directory

Le répertoire racine qui contient le fichier de configuration 42c-conf.yaml. S'il n'est pas spécifié, le répertoire de travail actuel du plugin est utilisé à la place, ce qui correspond normalement à la racine du dépôt cloné.

default-collection-name

Le nom de collection par défaut utilisé lors de la création des collections pour les API découvertes. Si aucun nom n'est fourni, un nom par défaut est créé à partir du dépôt et des informations de branche/PR.

log-level

Niveau de détail des journaux, l'un des suivants : FATAL, ERROR, WARN, INFO, DEBUG. La valeur par défaut est INFO.

share-everyone

Partage automatiquement les collections d'API créées par la tâche CI/CD avec tout le monde dans votre organisation sur la plateforme 42Crunch. Les valeurs acceptées sont : OFF, READ_ONLY, READ_WRITE. La valeur par défaut est OFF. Notez que l'identité sous laquelle l'action s'exécute (le propriétaire du jeton API) doit disposer de la permission Share with Everyone, sinon la tâche échouera avec une erreur 403.

json-report

Écrit un rapport d'exécution d'audit au format JSON dans le fichier spécifié. Un rapport d'exécution détaille la liste des API créées, mises à jour et supprimées. Cela est utile si vous souhaitez consommer automatiquement les résultats de l'exécution de l'audit dans une étape de pipeline ultérieure. Par défaut, aucun rapport n'est écrit.

api-tags

La tâche CI/CD peut automatiquement attribuer des tags aux API nouvellement créées. Les tags sont spécifiés au format suivant : category1:name1 category2:name2. Ce paramètre est facultatif.

sarif-report

Convertit le format JSON brut de l'audit en SARIF et enregistre les résultats dans le fichier spécifié. Par défaut, aucun rapport n'est écrit.

audit-timeout

Définit le délai d'expiration maximal (en secondes) pour le rapport d'audit. La tâche échouera si le résultat n'est pas prêt dans cet intervalle. Valeur par défaut : 600

Prérequis

Créez un jeton API sur la plateforme 42Crunch et copiez sa valeur dans un secret de dépôt nommé API_TOKEN.

Exemples

Exemple en une seule étape

Une nouvelle étape typique dans un workflow existant ressemblerait à ceci :

root@kitploit:~
- name: 42crunch-static-api-testing
        uses: 42Crunch/api-security-audit-action@v4
        with:
          api-token: ${{ secrets.API_TOKEN }}
          default-collection-name: GitHub-MyRepo-${{ github.ref_name }}
          log-level: info
          json-report: audit-action-report-${{ github.run_id }}
          sarif-report: 42Crunch_AuditReport_${{ github.run_id }}.SARIF

Exemple de workflow complet

Un workflow typique qui vérifie le contenu du dépôt, exécute Security Audit sur chacun des fichiers OpenAPI trouvés dans le projet et enregistre le fichier d'exécution comme artefact ressemblerait à ceci :

root@kitploit:~
name: "42crunch-audit-workflow"

# follow standard Code Scanning triggers
on:
  push:
    branches: [ "main" ]
  pull_request:
    # The branches below must be a subset of the branches above
    branches: [ "main" ]
  schedule:
    - cron: '19 9 * * 6'

env:
  PLATFORM_URL: https://us.42crunch.cloud

jobs:
  run_42c_audit:
    environment: QA
    permissions:
      contents: read # for actions/checkout to fetch code
      security-events: write # for results upload to Github Code Scanning
    runs-on: ubuntu-latest
    steps:
      - name: checkout repo
        uses: actions/checkout@v3
      - name: 42crunch-static-api-testing
        uses: 42Crunch/api-security-audit-action@v4
        with:
          api-token: ${{ secrets.API_TOKEN }}
          platform-url: ${{ env.PLATFORM_URL}}
          default-collection-name: GitHub-MyRepo-${{ github.ref_name }}
          # Upload results to Github code scanning
          upload-to-code-scanning: false
          log-level: info
          json-report: audit-action-report-${{ github.run_id }}
          sarif-report: 42Crunch_AuditReport_${{ github.run_id }}.SARIF
      - name: save-audit-report
        if: always()        
        uses: actions/upload-artifact@v3
        with:
          name: auditaction-report-${{ github.run_id }}
          path: audit-action-report-${{ github.run_id }}.json
          if-no-files-found: error

Support

L'action est maintenue par l'équipe écosystèmes de 42Crunch. Si vous rencontrez un problème ou avez une question sans réponse ici, vous pouvez créer un ticket de support sur support.42crunch.com.

Lorsque vous signalez un problème, veuillez inclure :

  • La version de l'action GitHub
  • Les journaux et messages d'erreur pertinents
  • Les étapes pour reproduire le problème
Télécharger l’outil