# 🚀 Gitea Actions - StackWorkflow v2.2 Sistema completo de auditoria automatizada via CI/CD pipeline integrado com Gemini e Cursor. ## 📁 Workflows Disponíveis ### 1. ⚡ Quick Security Scan **Arquivo**: `quick-audit.yml` **Trigger**: Push e Pull Request **Duração**: ~30 segundos **Foco**: Vulnerabilidades críticas ```yaml # Executa em: - Push (exceto README, docs) - Pull Request (exceto README, docs) # Detecta: - SQL Injection crítico - XSS direto - Eval() perigoso - Secrets expostos ``` **Quality Gate**: Bloqueia se > 5 vulnerabilidades críticas ### 2. 🛡️ Automated Security & Quality Audit **Arquivo**: `automated-audit.yml` **Trigger**: Push/PR para main, manual, agendado **Duração**: ~2-5 minutos **Foco**: Análise completa com scores ```yaml # Executa em: - Push/PR para main/master/develop - Agendado diário (02:00 UTC) - Manual (workflow_dispatch) # Análise: - Pre-scan de vulnerabilidades - Auditoria de segurança completa - Auditoria de qualidade completa - Relatório consolidado ``` **Quality Gates**: - Segurança ≥ 70/100 - Qualidade ≥ 60/100 ### 3. 📊 Manual Audit **Arquivo**: `scheduled-audit.yml` (renomeado para manual) **Trigger**: Manual (workflow_dispatch apenas) **Duração**: ~3-7 minutos **Foco**: Análise completa sob demanda ```yaml # Executa: - Manual: workflow_dispatch (botão Gitea) - Via comando `/avaliar` StackWorkflow - Sem agendamentos automáticos # Features: - Análise de tendências (commits, contributors) - Métricas históricas - Issues automáticas se score < 50 - Retenção de 90 dias ``` ## 🎯 Fluxo Completo de CI/CD ```mermaid graph TD A[Git Push] --> B{Tipo?} B -->|Push Qualquer| C[⚡ Quick Scan] B -->|Push Main| D[🛡️ Full Audit] B -->|PR| E[⚡ Quick + Comment] C --> F{Críticas > 5?} F -->|Sim| G[🔴 Block Build] F -->|Não| H[✅ Continue] D --> I[Pre-scan] I --> J[Security Audit] I --> K[Quality Audit] J --> L[Consolidate] K --> L L --> M[PR Comment] N[📊 Manual Trigger] --> O[Comprehensive Audit] O --> P{Score < 50?} P -->|Sim| Q[📋 Create Issue] P -->|Não| R[📊 Archive Report] ``` ## 📊 Sistema de Scoring ### Segurança (0-100) ```bash Score = 100 - (SQL_Issues × 20) - (XSS_Issues × 15) - (Secrets × 25) - (PublicEndpoints × 10) ``` ### Qualidade (0-100) ```bash Score = 100 - (LongFunctions × 5) - (NestedLoops × 10) - (TODOs × 2) ``` ### Classificação - **🟢 90-100**: Excelente - **🟡 70-89**: Bom - **🟠 50-69**: Médio - **🔴 0-49**: Crítico ## 📋 Artifacts Gerados ### Quick Scan - `quick-scan-report`: Relatório rápido (7 dias) ### Full Audit - `security-audit-report`: Análise de segurança (30 dias) - `quality-audit-report`: Análise de qualidade (30 dias) - `consolidated-audit-report`: Relatório consolidado (90 dias) ### Manual Audit - `manual-audit-report-[run_number]`: Análise completa com tendências (90 dias) ## 🔧 Configuração ### Variáveis de Ambiente ```yaml # .gitea/workflows/automated-audit.yml env: MIN_SECURITY_SCORE: 70 # Mínimo segurança MIN_QUALITY_SCORE: 60 # Mínimo qualidade REPORTS_DIR: reports # Diretório relatórios # .gitea/workflows/quick-audit.yml env: CRITICAL_THRESHOLD: 5 # Máximo vulnerabilidades críticas ``` ### Personalização por Projeto Edite os thresholds nos workflows conforme necessário: ```yaml # Para projetos mais restritivos MIN_SECURITY_SCORE: 90 CRITICAL_THRESHOLD: 0 # Para projetos em desenvolvimento MIN_SECURITY_SCORE: 50 CRITICAL_THRESHOLD: 10 ``` ## 🎯 Integração com StackWorkflow ### Fluxo Recomendado 1. **Push código** → Actions executam automaticamente 2. **Review relatórios** nos artifacts 3. **Se aprovado** → Merge para main 4. **Se reprovado** → Executar `/avaliar` local para correções 5. **Push correções** → Re-executar Actions ### Comandos Locais ```bash # Após receber relatório de falha /avaliar # Lê relatórios + implementa correções # Para auditoria manual cd .gemini && gemini > /avaliar # Cursor audit Ctrl+Alt+A ``` ## 📈 Monitorização e Tendências ### Métricas Tracked - **Scores históricos** (segurança/qualidade) - **Vulnerabilidades por tipo** ao longo do tempo - **Atividade de desenvolvimento** (commits, contributors) - **Tempo de resolução** de issues críticas ### Relatórios de Tendências - **Manual**: Execução sob demanda via `/avaliar` - **On-Demand**: Análise quando necessário - **Triggered**: Baseado em eventos de desenvolvimento ## 🚨 Alertas e Notificações ### Issues Automáticas Criadas quando score manual < 50: - **Labels**: `security`, `quality`, `critical`, `automated-audit` - **Assignees**: Automático baseado em CODEOWNERS - **Priority**: Alta (críticas) ### PR Comments - **Quick scan**: Status rápido com breakdown - **Full audit**: Análise completa com next steps - **Links**: Diretos para artifacts ## 🔐 Segurança das Actions ### Permissões Mínimas ```yaml permissions: contents: read # Ler código pull-requests: write # Comentar PRs issues: write # Criar issues críticas ``` ### Dados Sensíveis - **Secrets não expostos**: Apenas nomes de arquivos, não conteúdo - **Logs sanitizados**: Credenciais mascaradas automaticamente - **Artifacts seguros**: Apenas relatórios, não código ## ⚙️ Troubleshooting ### Actions Falhando ```bash # Verificar logs específicos 1. Ir para Actions tab no Gitea 2. Selecionar execução falhada 3. Expandir step com erro 4. Verificar output detalhado ``` ### Falsos Positivos ```bash # Ajustar thresholds temporariamente MIN_SECURITY_SCORE: 50 # Baixar temporariamente CRITICAL_THRESHOLD: 10 # Aumentar temporariamente ``` ### Performance Issues ```bash # Excluir pastas pesadas do scan ! -path "./large_folder/*" ! -path "./data/*" ! -path "./uploads/*" ``` ## 🎉 Melhores Práticas ### Para Desenvolvedores 1. **Executar quick scan local** antes de push 2. **Revisar artifacts** antes de mergear PRs 3. **Corrigir vulnerabilidades críticas** imediatamente 4. **Usar `/avaliar`** para correções automáticas ### Para DevOps 1. **Executar audits manuais** quando necessário via `/avaliar` 2. **Ajustar thresholds** baseado no projeto 3. **Configurar notificações** para issues críticas 4. **Arquivar relatórios** históricos importantes --- **Powered by**: StackWorkflow v2.2 Adversarial System **Integration**: Gitea Actions + Gemini CLI + Cursor AI **Documentation**: Complete workflow automation