# DET0533 — Detection Strategy for Poisoned Pipeline Execution via SaaS CI/CD Workflows
## Descrição
O envenenamento de pipeline CI/CD ([[t1195-supply-chain-compromise|T1195 — Supply Chain Compromise]]) em ambientes SaaS como GitHub Actions, GitLab CI, CircleCI e Jenkins é uma técnica de alto impacto onde adversários injetam código malicioso em workflows de build e deploy para executar comandos arbitrários com as permissões privilegiadas do pipeline — tipicamente com acesso a segredos de produção, credenciais cloud e capacidade de públicar artefatos de software. O incidente do CodeCov em 2021 e o ataque ao CircleCI em 2022 demonstraram o impacto real desta técnica em escala.
Vetores de envenenamento incluem: modificação direta de arquivos de workflow (`.github/workflows/*.yml`) em repositórios comprometidos, pull requests maliciosos que acionam workflows com acesso a secrets de forks, envenenamento de actions de terceiros (`uses: malicious-org/action@v1`) ou modificação de dependências de scripts executados no pipeline. O acesso a variáveis de ambiente contendo secrets (tokens de cloud, API keys, certificados de assinatura de código) é o objetivo principal.
A detecção requer auditoria dos logs de CI/CD em tempo real, monitorando: modificações em arquivos de workflow por contas ou de fontes inesperadas, execução de comandos incomuns nos builds (curl para IPs externos, exfiltração de variáveis de ambiente, instalação de ferramentas de acesso remoto), e acessos anômalos a secrets durante a execução do pipeline. Integração de SAST e análise de comportamento de workflow é essencial para organizações com pipelines de alta criticidade.
## Indicadores de Detecção
- Modificação de arquivo `.github/workflows/*.yml` ou `.gitlab-ci.yml` por conta que não sejá de CI/CD owners aprovados
- Comando `curl`, `wget` ou equivalente em step de build enviando dados para IP/domínio externo não-whitelistado
- Acesso a secret de ambiente em step que normalmente não os utiliza (ex: step de teste acessando `AWS_SECRET_ACCESS_KEY`)
- Pull Request de fork externo acionando workflow com acesso a `secrets.*` (configuração insegura do GitHub Actions)
- Instalação de ferramenta de tunneling ou acesso remoto (`ngrok`, `frp`, `chisel`) durante execução de pipeline
- Modificação de action de terceiro referênciada (`uses:`) para versão/commit não revisada pela equipe de segurança
## Técnicas Relacionadas
- [[t1195-supply-chain-compromise|T1195 — Supply Chain Compromise]] — técnica principal coberta por esta estratégia
- [[t1195-002-compromise-software-supply-chain|T1195.002 — Compromise Software Supply Chain]] — comprometimento da cadeia de software
- [[t1552-unsecured-credentials|T1552 — Unsecured Credentials]] — acesso a secrets expostos no pipeline
- [[t1059-command-and-scripting-interpreter|T1059 — Command and Scripting Interpreter]] — execução de scripts maliciosos no pipeline
- [[t1537-transfer-data-to-cloud-account|T1537 — Transfer Data to Cloud Account]] — exfiltração via pipeline para conta cloud do atacante
## Analytics Relacionadas
- [[an1473-analytic-1473|AN1473 — Analytic 1473]]
---
*Fonte: [MITRE ATT&CK — DET0533](https://attack.mitre.org/detectionstrategies/DET0533)*