
Detecte e corrija configurações incorretas e riscos de segurança em todos os seus ativos do GitHub e GitLab
Fortaleça a postura de segurança do seu gerenciamento de código-fonte!
Detecte e corrija más configurações, problemas de segurança e conformidade em todos os seus ativos do GitHub e GitLab com facilidade 🔥
por Legit Security.
A Legit Security é uma solução de gerenciamento de postura de segurança de aplicações (ASPM) e segurança da cadeia de suprimentos de software.
Para mais informações, confira a tabela de comparação
A instalação é possível de várias formas:
brew install legitify
Você pode baixar a versão mais recente do legitify em https://github.com/Legit-Labs/legitify/releases. Cada arquivo contém:
A partir do código-fonte com os seguintes passos:
git clone [email protected]:Legit-Labs/legitify.git
go run main.go analyze ...
gh extension install legit-labs/gh-legitify
gh legitify
Você pode executar o legitify como parte de um processo de CI com as Ações Personalizadas do GitHub do 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
Confira o arquivo de ação para parâmetros adicionais e configuração.
Para melhorar a segurança da cadeia de suprimentos de software dos usuários do legitify, a partir da v0.1.6, toda versão do legitify contém um documento SLSA Level 3 Provenance.
O documento de proveniência refere-se a todos os artefatos da versão, bem como à imagem docker gerada.
Você pode usar o verificador oficial do framework SLSA para verificar a proveniência.
Exemplo de uso para a arquitetura darwin_arm64 na versão 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=<seu_token> legitify analyze
Por padrão, o legitify verificará as políticas contra todos os seus recursos (organizações, repositórios, membros, ações). Repositórios arquivados são ignorados.
Você pode controlar quais recursos serão analisados com as flags de linha de comando namespace e org:
--namespace (-n): analisará apenas as políticas relacionadas aos recursos especificados--org: limitará a análise às organizações do GitHub ou grupo do GitLab especificados, excluindo repositórios arquivados--repo: limitará a análise aos repositórios do GitHub ou projetos do GitLab especificados--scm: especifica a plataforma de gerenciamento de código-fonte. Valores possíveis: github ou gitlab. Padrão: github. Obs.: ao executar no GitLab, --scm gitlab é obrigatório.--enterprise: especifica quais empresas devem ser analisadas. Obs.: para analisar uma empresa, é necessário fornecer o slug da empresa.SCM_TOKEN=<seu_token> legitify analyze --org org1,org2 --namespace organization,member
O comando acima testará as políticas de organização e membro contra org1 e org2.
SCM_TOKEN=<seu_token> OPENAI_TOKEN=<token> ./legitify gpt-analysis --repo org1/repo1 --org org1
Análise baseada em GPT-3 da postura de segurança do repositório ou organização fornecida.
NOTA: Os metadados do repositório/organização são enviados para os servidores da openai.
Flags:
--org: limitará a análise às organizações do GitHub ou grupo do GitLab especificados--repo: limitará a análise aos repositórios do GitHub ou projetos do GitLab especificados--scm: especifica a plataforma de gerenciamento de código-fonte. Valores possíveis: github ou gitlab. Padrão: github.--token: token para o SCM (ou defina a variável de ambiente SCM_TOKEN)--openai-token: token para a API da openai (ou defina a variável de ambiente OPENAI_TOKEN)Deve fornecer --org ou --repo ou ambos.
Gerando token da openai:
Você também pode executar o legitify como uma ação do GitHub em seus workflows. Veja o diretório action_examples para exemplos concretos.
-t) ou como variável de ambiente (SCM_TOKEN).
O PAT precisa dos seguintes escopos para análise completa:admin:org, read:enterprise, admin:org_hook, read:org, repo, read:repo_hook
Veja Criando um Token de Acesso Pessoal para mais informações.
Tokens de acesso pessoal refinados atualmente não são suportados.
Você pode executar o legitify contra uma instância do GitHub Enterprise Server definindo a URL do endpoint na variável de ambiente SERVER_URL:
export SERVER_URL="https://github.example.com/"
SCM_TOKEN=<seu_token> legitify analyze --org org1,org2 --namespace organization,member