AppSec no pipeline é o conjunto de checagens que o merge não ignora: secret scan, dependência, SAST no recorte combinado. Nightly que ninguém lê não é portão. A engenheira em pé no CI — capa — está olhando o merge, não o relatório de madrugada. Segurança cibernética é o guarda-chuva. O PR é o momento.

AppSec no ciclo de entrega é o hábito. Código do assistente é o diff. Este texto é o yaml (ou o equivalente) que falha o check.

O que entra no merge — mínimo honesto

  • secret: o que escapou para o repo;
  • SCA: CVE acima do teto sem exceção escrita;
  • lint de segurança óbvio (SQL cru, eval) se o ecossistema tiver regra estável;
  • teste de autorização no fluxo crítico, mesmo que seja um único caso.

SAST barulhento desliga o time. Comece estreito. Alargar com evidência. Ferramenta que gera 800 findings no primeiro PR ensina a pular o check. Isso não é AppSec; é ruído.

Checks ilegíveis na foto de propósito: o valor é o vermelho que bloqueia, não o dashboard bonito.

Exceção e débito

Exceção tem dono, prazo e ticket. Exceção eterna é desligar o portão. Assistente que introduz dependência nova passa no mesmo SCA. Não há isenção de modelo.

Pipeline lento demais? Aí o trabalho é cache e recorte, não tirar o secret scan. Secret scan é barato perto do incidente.

Relação com pentest e ciclo

Pentest não é o merge. Merge é todo dia. CVE no ciclo detalha dependência. Aqui o ponto é: o teste está no path do PR.

Fábrica: DoD do sprint inclui pipeline verde de verdade, não skipped.

O merge é o único momento em que todo o time já está olhando o mesmo diff. Colocar o teste ali não é burocracia: é o menor custo de atenção. Nightly de madrugada compete com sono e com o Slack do dia seguinte. PR compete com a pessoa que ainda lembra o porquê do campo. Assistente no fluxo aumenta a frequência de PR — o portão precisa aguentar volume sem virar ignore. Cache de scan e recorte de regra existem para isso, não o botão skip.

Como a Tech Coders põe AppSec no merge

Na fábrica de software, o merge passa pelos checks combinados no sprint de 15 dias. Não há trilha que pule secret scan. Sustentação 24×7 opera o artefato que passou no portão — por isso o portão existe.

Perguntas frequentes

Preciso de SAST comercial no primeiro mês?

Não. Precisa de secret e de dependência. SAST entra quando o ruído for administrável. Comprar ferramenta para o slide de junho sem dono de finding é o nightly de novo.

Branch protection é suficiente?

É o mecanismo. A política é o que o check exige. Protection sem check é botão inútil.

Posso warn em vez de fail?

Warn no começo de uma regra nova, com data para virar fail. Warn eterno é ignore. Escreva a data.

Quem mantém o pipeline de AppSec?

O dono do repo, com segurança no teto de regra. Segurança sozinha no yaml que o time não entende vira guerra. Guerra desliga o check.