Aprenda a construir pipelines de CI/CD seguras, automatizadas e confiáveis usando GitHub Actions.
Este repositório é um material de estudo prático para quem quer aprender GitHub Actions aplicando as boas práticas de DevSecOps: levar a segurança para o início do ciclo de desenvolvimento (shift left) e automatizar cada etapa, do commit ao deploy.
💡 DevSecOps = Desenvolvimento + Segurança + Operações. A segurança deixa de ser uma etapa final e passa a fazer parte de todo o pipeline.
- ⚙️ Fundamentos do GitHub Actions — workflows, jobs, steps, runners e eventos
- 🧪 Integração Contínua (CI) — build, testes e lint automatizados
- 🔍 SAST — análise estática do código-fonte (ex.: CodeQL, Semgrep)
- 📦 SCA — verificação de vulnerabilidades em dependências (ex.: Dependabot, Trivy)
- 🔑 Secret Scanning — detecção de segredos vazados no código (ex.: Gitleaks)
- 🐳 Segurança de containers — scan de imagens Docker
- 🏗️ IaC Scanning — análise de infraestrutura como código (ex.: Checkov, tfsec)
- 🌐 DAST — testes dinâmicos em aplicações em execução (ex.: OWASP ZAP)
- 🔒 Hardening de workflows — permissões mínimas, pinning de actions por SHA e OIDC
- 🚀 Entrega Contínua (CD) — deploy seguro com ambientes e aprovações
flowchart LR
A[👨💻 Commit] --> B[🔑 Secret Scan]
B --> C[🧪 Build & Testes]
C --> D[🔍 SAST]
D --> E[📦 SCA]
E --> F[🐳 Container Scan]
F --> G[🌐 DAST]
G --> H[🚀 Deploy]
.
├── .github/
│ └── workflows/ # Workflows do GitHub Actions
├── docs/ # Anotações e explicações de cada etapa
└── README.md
A estrutura será expandida conforme os módulos forem adicionados.
- Faça um fork deste repositório
- Clone para sua máquina:
git clone https://github.com/<seu-usuario>/devsecops-with-github-actions.git
- Explore os workflows em
.github/workflows/ - Faça um push e acompanhe a execução na aba Actions do GitHub
| Prática | Por quê |
|---|---|
permissions: mínimas em cada workflow |
Reduz o impacto caso um token seja comprometido |
| Actions fixadas por SHA do commit | Evita ataques à cadeia de suprimentos |
Segredos apenas via secrets |
Nunca expor credenciais no código |
| OIDC em vez de chaves de longa duração | Credenciais temporárias para provedores de nuvem |
| Falhar o build em vulnerabilidades críticas | Segurança como quality gate |
- Documentação oficial do GitHub Actions
- Security hardening for GitHub Actions
- OWASP DevSecOps Guideline
Feito com 💙 para estudos de DevSecOps
⭐ Se este repositório te ajudou, deixe uma estrela!