
Detecta y remedia configuraciones incorrectas y riesgos de seguridad en todos tus activos de GitHub y GitLab
¡Fortalece la postura de seguridad de tu gestión de código fuente!
Detecta y corrige configuraciones incorrectas, problemas de seguridad y cumplimiento en todos tus activos de GitHub y GitLab con facilidad 🔥
por Legit Security.
Legit Security es una solución de gestión de la postura de seguridad de aplicaciones (ASPM) y seguridad de la cadena de suministro de software.
Para más información, consulta la tabla comparativa.
La instalación es posible de varias maneras:
brew install legitify
Puedes descargar la última versión de legitify desde https://github.com/Legit-Labs/legitify/releases, cada archivo contiene:
Desde el código fuente con los siguientes pasos:
git clone [email protected]:Legit-Labs/legitify.git
go run main.go analyze ...
gh extension install legit-labs/gh-legitify
gh legitify
Puedes ejecutar legitify como parte de un proceso de CI con las Acciones Personalizadas de GitHub 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
Consulta el archivo de acción para parámetros y configuración adicionales.
Para mejorar la seguridad de la cadena de suministro de software de los usuarios de legitify, a partir de v0.1.6, cada versión de legitify contiene un documento de Procedencia SLSA Nivel 3.
El documento de procedencia hace referencia a todos los artefactos en la versión, así como a la imagen de Docker generada.
Puedes usar el verificador oficial del framework SLSA para verificar la procedencia.
Ejemplo de uso para la arquitectura darwin_arm64 para la versión 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=<tu_token> legitify analyze
Por defecto, legitify verificará las políticas contra todos tus recursos (organizaciones, repositorios, miembros, acciones). Los repositorios archivados se omiten.
Puedes controlar qué recursos se analizarán con las banderas de línea de comandos namespace y org:
--namespace (-n): analizará las políticas relacionadas con los recursos especificados--org: limitará el análisis a las organizaciones de GitHub o grupos de GitLab especificados, excluyendo repositorios archivados--repo: limitará el análisis a los repositorios de GitHub o proyectos de GitLab especificados--scm: especifica la plataforma de gestión de código fuente. Los valores posibles son: github o gitlab. El valor predeterminado es github. Ten en cuenta: al ejecutar en GitLab, se requiere --scm gitlab.--enterprise: especificará qué empresas deben analizarse. Ten en cuenta: para analizar una empresa, se debe proporcionar un slug de empresa.SCM_TOKEN=<tu_token> legitify analyze --org org1,org2 --namespace organization,member
El comando anterior evaluará las políticas de organización y miembros contra org1 y org2.
SCM_TOKEN=<tu_token> OPENAI_TOKEN=<token> ./legitify gpt-analysis --repo org1/repo1 --org org1
Análisis basado en GPT-3 de la postura de seguridad del repositorio u organización proporcionada.
NOTA: Los metadatos del repositorio/organización se envían a los servidores de OpenAI.
Banderas:
--org: limitará el análisis a las organizaciones de GitHub o grupos de GitLab especificados--repo: limitará el análisis a los repositorios de GitHub o proyectos de GitLab especificados--scm: especifica la plataforma de gestión de código fuente. Los valores posibles son: github o gitlab. El valor predeterminado es github.--token: token para el SCM (o establece la variable de entorno SCM_TOKEN)--openai-token: token para la API de OpenAI (o establece la variable de entorno OPENAI_TOKEN)Debe proporcionar --org o --repo o ambos.
Generación del token de OpenAI:
También puedes ejecutar legitify como una acción de GitHub en tus flujos de trabajo; consulta el directorio action_examples para ejemplos concretos.
-t) o como variable de entorno (SCM_TOKEN).
El PAT necesita los siguientes ámbitos para un análisis completo:admin:org, read:enterprise, admin:org_hook, read:org, repo, read:repo_hook
Consulta Creación de un token de acceso personal para más información.
Actualmente no se admiten tokens de acceso personal de grano fino.
Puedes ejecutar legitify contra una instancia de GitHub Enterprise Server si estableces la URL del endpoint en la variable de entorno SERVER_URL: