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.