Segurança proativa de pipeline: aplicando os 10 principais riscos de CI/CD da OWASP com o Scribe

Torne-se um expert em crédito privado

Este artigo foi co-escrito por Mikey Strauss e Viktor Kartashov.

Transforme os 10 principais riscos da OWASP em controles automatizados e auditáveis

Em ambientes DevOps modernos, os pipelines de CI/CD são a espinha dorsal da entrega de software. Mas com grande velocidade vem grande exposição. À medida que as organizações aceleram os lançamentos, os invasores estão cada vez mais mirando pipelines inseguros para injetar código malicioso, extrair segredos ou comprometer a integridade da cadeia de suprimentos.

Para abordar isso, a estrutura OWASP Top 10 CI/CD Security Risks destaca as fraquezas mais comuns e críticas em todos os pipelines de desenvolvimento. Segurança do escriba, adotamos essa estrutura para ajudar organizações a incorporar a segurança de CI/CD diretamente em seus fluxos de trabalho por meio de evidências assinadas, aplicação baseada em iniciativas e políticas como código.

Por que os riscos de CI/CD da OWASP são importantes

As ferramentas de segurança tradicionais têm dificuldade para acompanhar a velocidade dos pipelines modernos. Sem implementação e visibilidade automatizadas, problemas comuns passam despercebidos:

❌ Segredos codificados em configurações de pipeline

❌ Artefatos de construção adulterados e sem procedência

❌ Imagens de base inseguras extraídas de registros públicos

❌ Acesso de nível de administrador sem 2FA ou controles de revisão

A estrutura OWASP formaliza esses riscos, fornecendo uma linguagem e estrutura compartilhadas para remediação. Na Scribe, a utilizamos para definir iniciativas que verificam automaticamente a postura de segurança dos seus pipelines de CI/CD, sem exigir grandes alterações no seu processo de construção.

A segurança começa com evidências assinadas

Para validar que seu pipeline é seguro, coletamos e assinamos criptograficamente evidências como:

  • Git SBOM e Imagem SBOM
    Gerado usando scribe-security/action-bom, eles fornecem visibilidade total sobre o que está em seu código e contêineres.
  • Proveniência SLSA
    Captura como, onde e por quem seus artefatos foram construídos.
  • Verificações de organização e repositório do GitHub
    Executar por plataformas de ação para verificar segredos, desvios de configuração e acesso mal configurado.

Todas essas evidências são assinadas, garantindo integridade e rastreabilidade, e mapeadas para produtos e versões específicas para rastreamento do ciclo de vida.

📌 Abordamos esse modelo baseado em evidências em nossas postagens anteriores sobre Conformidade com SLSA e Aplicação do SP 800–190.

🔒 Aplicação de controles OWASP por meio de política como código

Na Scribe, mapeamos os 10 principais riscos de CI/CD da OWASP em um iniciativa de política como código que é executado diretamente no seu pipeline de CI. Cada risco é representado como uma regra configurável definida em um local owasp-top10-cicd.yaml arquivo. Essas regras são avaliadas automaticamente durante a fase de verificação, fornecendo feedback prático e orientações para correção.

Aqui estão alguns dos principais controles incluídos:

  • CICD-SEC-1 : Aplicar regras de proteção de filiais
    Evite alterações de código não autorizadas restringindo envios diretos a ramos críticos como principal.
  • CICD-SEC-2 :  Controles de gerenciamento de identidade e acesso
    Exija autenticação multifator (MFA) e limite os privilégios administrativos no seu provedor Git.
  • CICD-SEC-3 : Verificação de dependência
    Garanta que todas as imagens base e dependências de terceiros sejam extraídas de registros aprovados e confiáveis.
  • CICD-SEC-4 :  Prevenção de execução de pipeline envenenado
    Restrinja quem pode modificar scripts de CI/CD para evitar introduzir lógica maliciosa em seus fluxos de trabalho.
  • CICD-SEC-6 :  Aplicação de higiene de credenciais
    Faça uma varredura em busca de segredos codificados, tokens expirados ou credenciais vazadas — e sinalize-os antes de liberá-los.

Cada um desses controles pode ser personalizado com base na tolerância a riscos, no ambiente ou nos requisitos de conformidade da sua organização. Por ser definido como código, sua postura de segurança se torna auditáveis, versão controlada e executável por automação.

Ponta Pro: Você pode incluir ou excluir regras específicas, definir limites de gravidade e até mesmo personalizar recomendações de correção — diretamente no seu arquivo de configuração de iniciativa.

Ao trazer esses controles para seu pipeline, você passa de revisões ad hoc para aplicação de segurança automatizada e verificável  – uma etapa crítica na proteção da sua cadeia de suprimentos de software.

Ações do GitHub: Integração de CI/CD no mundo real

Aqui está um exemplo de fluxo de trabalho usando as ações do Scribe para criar, coletar evidências, escanear a organização e verificar a conformidade com a estrutura OWASP Top 10 CI/CD:

nome: OWASP CI/CD Secure Build em: push: branches: - main env: NOME_DO_PRODUTO: meu-aplicativo VERSÃO_DO_PRODUTO: v1.0 jobs: build: runs-on: ubuntu-latest outputs: nome-da-imagem: ${{ steps.meta.outputs.image }} steps: - usa: actions/checkout@v4 - usa: docker/setup-buildx-action@v3 - executa: echo "${{ secrets.REGISTRY_PASSWORD }}" | login do docker ${{ secrets.REGISTRY_URL }} -u ${{ secrets.REGISTRY_USER }} --password-stdin - id: meta usa: docker/build-push-action@v5 com: contexto: . push: true tags: ${{ secrets.REGISTRY_URL }}/my-app:${{ github.sha }} - usa: scribe-security/action-bom@master com: alvo: 'git:.' chave do produto: ${{ env.PRODUCT_NAME }} versão do produto: ${{ env.PRODUCT_VERSION }} formato: attest - usa: scribe-security/action-bom@master com: destino: ${{ secrets.REGISTRY_URL }}/meu-aplicativo:${{ github.sha }} imagem base: Dockerfile chave do produto: ${{ env.PRODUCT_NAME }} versão do produto: ${{ env.PRODUCT_VERSION }} formato: attest - usa: scribe-security/action-verify@master com: destino: ${{ secrets.REGISTRY_URL }}/meu-aplicativo:${{ github.sha }} chave do produto: ${{ env.PRODUCT_NAME }} versão do produto: ${{ env.PRODUCT_VERSION }} iniciativa: slsa.l2@v2 proveniência: true formato: attest embelezar: true org-scan: runs-on: ubuntu-latest steps: - uses: scribe-security/action-platforms@master with: command: discover platform: github sign: true attest-default: sigstore args: >- --token ${{ secrets.GITHUB_PAT }} --organization.mapping ${{ github.repository_owner }}::${{ env.PRODUCT_NAME }}::${{ env.PRODUCT_VERSION }} --repository.mapping $(basename ${{ github.repository }})::${{ env.PRODUCT_NAME }}::${{ env.PRODUCT_VERSION }} --scope.workflow.past_days 1 --scope.branch ${{ github.ref_name }} --hook trivy_iac_and_secrets_sarif verify: runs-on: ubuntu-latest needs: [build, org-scan] etapas: - usa: scribe-security/action-verify@master com: iniciativa: owasp-top10-cicd.yaml chave do produto: ${{ env.PRODUCT_NAME }} versão do produto: ${{ env.PRODUCT_VERSION }} formato: attest todas as evidências: true embelezar: true

Conformidade Contínua em Ação

Este fluxo de trabalho resulta em uma atestação verificável que mostra quais riscos OWASP seu pipeline passa ou falha. Cada violação é rastreável a evidências específicas (SBOMs, logs de fluxo de trabalho e configurações da organização), permitindo que as equipes corrijam problemas com rapidez e confiança.

Quer ver como isso se parece na prática? Aqui está um exemplo de resultado de varredura de um de nossos pipelines internos:

Visualização de resumo

Visão de violação

Visão de evidências

 

Este conteúdo é oferecido a você pela Scribe Security, um fornecedor líder de soluções de segurança de cadeia de suprimentos de software ponta a ponta – fornecendo segurança de última geração para artefatos de código e processos de desenvolvimento e entrega de código em todas as cadeias de suprimentos de software. Saiba mais.