
Détectez et corrigez les mauvaises configurations et les risques de sécurité sur l'ensemble de vos actifs GitHub et GitLab.
Renforcez la posture de sécurité de votre gestion de code source !
Détectez et corrigez les mauvaises configurations, les problèmes de sécurité et de conformité sur tous vos actifs GitHub et GitLab avec facilité 🔥
par Legit Security.
Legit Security est une solution de gestion de la posture de sécurité des applications (ASPM) et de sécurité de la chaîne d'approvisionnement logicielle.
Pour plus d'informations, consultez le tableau comparatif
L'installation est possible de plusieurs manières :
brew install legitify
Vous pouvez télécharger la dernière version de legitify depuis https://github.com/Legit-Labs/legitify/releases, chaque archive contient :
Depuis les sources avec les étapes suivantes :
git clone [email protected]:Legit-Labs/legitify.git
go run main.go analyze ...
gh extension install legit-labs/gh-legitify
gh legitify
Vous pouvez exécuter legitify dans le cadre d'un processus CI avec les actions GitHub personnalisées de legitify :
name: Legitify Analyze
on:
workflow_dispatch:
schedule:
- cron: '0 11 * * 1-5'
jobs:
analyze:
runs-on: ubuntu-latest
steps:
- name: Legitify Action
uses: Legit-Labs/legitify@main
with:
github_token: ${{ secrets.PAT_FOR_LEGITIFY }}
ignore-policies: |
non_admins_can_create_public_repositories
requires_status_checks
Consultez le fichier d'action pour les paramètres et la configuration supplémentaires.
Pour renforcer la sécurité de la chaîne d'approvisionnement logicielle des utilisateurs de legitify, à partir de la version v0.1.6, chaque version de legitify contient un document de Provenance SLSA Niveau 3.
Le document de provenance fait référence à tous les artefacts de la version, ainsi qu'à l'image Docker générée.
Vous pouvez utiliser le vérificateur officiel du framework SLSA pour vérifier la provenance.
Exemple d'utilisation pour l'architecture darwin_arm64 pour la version v0.1.6 :
VERSION=0.1.6
ARCH=darwin_arm64
./slsa-verifier verify-artifact --source-branch main --builder-id 'https://github.com/slsa-framework/slsa-github-generator/.github/workflows/generator_generic_slsa3.yml@refs/tags/v1.2.2' --source-uri "git+https://github.com/Legit-Labs/legitify" --provenance-path multiple.intoto.jsonl ./legitify_${VERSION}_${ARCH}.tar.gz
SCM_TOKEN=<votre_token> legitify analyze
Par défaut, legitify vérifiera les politiques par rapport à toutes vos ressources (organisations, dépôts, membres, actions). Les dépôts archivés sont ignorés.
Vous pouvez contrôler les ressources qui seront analysées avec les indicateurs en ligne de commande namespace et org :
--namespace (-n) : analysera les politiques relatives aux ressources spécifiées--org : limitera l'analyse aux organisations GitHub ou au groupe GitLab spécifiés, en excluant les dépôts archivés--repo : limitera l'analyse aux dépôts GitHub ou aux projets GitLab spécifiés--scm : spécifier la plateforme de gestion de code source. Les valeurs possibles sont : github ou gitlab. Par défaut : github. Veuillez noter : lors de l'exécution sur GitLab, --scm gitlab est requis.--enterprise : spécifier les entreprises qui doivent être analysées. Veuillez noter : pour analyser une entreprise, un slug d'entreprise doit être fourni.SCM_TOKEN=<votre_token> legitify analyze --org org1,org2 --namespace organization,member
La commande ci-dessus testera les politiques d'organisation et de membre pour org1 et org2.
SCM_TOKEN=<votre_token> OPENAI_TOKEN=<jeton> ./legitify gpt-analysis --repo org1/repo1 --org org1
Analyse basée sur GPT-3 de la posture de sécurité du dépôt ou de l'organisation fournis.
REMARQUE : Les métadonnées du dépôt/de l'organisation sont envoyées aux serveurs d'OpenAI.
Indicateurs :
--org : limitera l'analyse aux organisations GitHub ou au groupe GitLab spécifiés--repo : limitera l'analyse aux dépôts GitHub ou aux projets GitLab spécifiés--scm : spécifier la plateforme de gestion de code source. Les valeurs possibles sont : github ou gitlab. Par défaut : github.--token : jeton pour le SCM (ou définir la variable d'environnement SCM_TOKEN)--openai-token : jeton pour l'API OpenAI (ou définir la variable d'environnement OPENAI_TOKEN)Vous devez fournir soit --org, soit --repo, ou les deux.
Génération du jeton OpenAI :
Vous pouvez également exécuter legitify en tant qu'action GitHub dans vos workflows, consultez le répertoire action_examples pour des exemples concrets.
-t) soit comme variable d'environnement (SCM_TOKEN).
Le PAT nécessite les portées suivantes pour une analyse complète :admin:org, read:enterprise, admin:org_hook, read:org, repo, read:repo_hook
Voir Création d'un jeton d'accès personnel pour plus d'informations.
Les jetons d'accès personnels à granularité fine ne sont actuellement pas pris en charge.