Continuar a encontrar e corrigir vulnerabilidades
ConcluídoCrie um processo contínuo desde a deteção de vulnerabilidades até à remediação verificada em produção. Compreenda a lacuna de manutenção que um protótipo bem-sucedido pode ocultar.
Publicado por TaigaComo escrevemos
Verifique a sua compreensãoUma aplicação não muda há três meses. A última análise de dependências passou no lançamento. Que afirmação é sustentada pelas evidências?Faça o exercício
O que vai aprender
- Explicar por que motivo o software inalterado precisa de revisão contínua de segurança.
- Relacionar diferentes tipos de análise com a sua cobertura e limitações.
- Acompanhar uma ocorrência através da priorização, correção, deployment e verificação.
Um protótipo funcional pode tornar-se um serviço sem suporte
O vibe coding pode produzir rapidamente um protótipo útil. O risco em produção aumenta quando as pessoas continuam a usá-lo sem manutenção contínua de segurança. Esta é uma lacuna grave: o software continua exposto enquanto quem o criou considera o trabalho terminado.
A lacuna é organizacional e técnica. Pode existir um scanner sem responsável. Uma ocorrência pode ter responsável sem existir um processo de lançamento. Uma correção com merge concluído pode deixar em execução o artefacto antigo de produção.
Avalie a plataforma de desenvolvimento real e a sua configuração. Algumas ferramentas fornecem funcionalidades de segurança. Uma designação de produto não permite determinar se a aplicação instalada recebe análises contínuas e correções verificadas.
Execute análises quando as evidências podem mudar
Execute as verificações relevantes nas alterações propostas e nos artefactos produzidos. Reavalie as versões suportadas periodicamente, porque a informação dos avisos muda sem haver um commit. Desencadeie uma revisão adicional quando surgir um aviso relevante, uma alteração da exposição ou um incidente.
Explicite o âmbito. Identifique repositórios, branches, lockfiles, imagens, digests instalados, runtimes e ambientes. Inclua aplicações que já não recebem novas funcionalidades, mas continuam a servir utilizadores.
Uma análise falhada significa falta de evidências. Monitorize a atualidade das análises, falhas nas fontes de avisos, falhas de autenticação, componentes não suportados e lacunas de cobertura. Uma lista vazia de ocorrências após um job falhado não é um resultado sem problemas.
Use verificações diferentes para perguntas diferentes
| Verificação | Cobertura útil | Limitação importante |
|---|---|---|
| Análise de composição de software, ou SCA | Vulnerabilidades conhecidas em dependências, incluindo pacotes transitivos identificados | Não demonstra que a autorização da aplicação está correta |
| Testes estáticos de segurança de aplicações, ou SAST | Padrões de código inseguro abrangidos pela ferramenta | Pode não detetar comportamento em execução e pode produzir ocorrências que exigem triagem |
| Deteção de segredos | Padrões de credenciais reconhecidos no conteúdo analisado | Uma cadeia de caracteres removida pode deixar uma credencial válida noutro local |
| Verificações de infraestrutura e configuração | Violações de políticas definidas nos recursos ou configurações analisados | A configuração do repositório pode diferir do ambiente em execução |
| Testes dinâmicos autorizados | Comportamento de uma aplicação em execução dentro do âmbito testado | Exige autorização, dados adequados e cuidado com efeitos secundários |
Combine estas verificações com revisão e testes de segurança relevantes. Não afirme que uma análise prova a ausência de vulnerabilidades.
Acompanhe uma ocorrência fictícia até à produção
| Hora | Evento | Estado real |
|---|---|---|
| Segunda-feira 09:00 | Um novo aviso identifica uma dependência PDF afetada | Os lançamentos existentes precisam de avaliação |
| Segunda-feira 09:15 | A análise agendada identifica a versão de produção | Ocorrência detetada, não corrigida |
| Segunda-feira 10:00 | O responsável confirma a exposição e escolhe uma correção suportada | Remediação planeada |
| Segunda-feira 13:00 | Os testes passam e é feito merge do PR de correção | Repositório corrigido; falta o deployment em produção |
| Segunda-feira 14:00 | O pipeline instala a imagem corrigida | O novo artefacto está em execução; falta a verificação |
| Segunda-feira 14:20 | A análise do artefacto e as verificações de regressão do export passam | Correção verificada dentro do âmbito das verificações |
Priorize com base na gravidade, em evidências de exploração, na exposição, nos dados afetados e nas mitigações disponíveis. O catálogo da CISA ajuda a identificar exploração conhecida. É um elemento de avaliação, não uma avaliação completa do risco. Catálogo da CISA.
Uma exceção temporária exige evidências, um responsável, controlos compensatórios e uma expiração ou condição de revisão. Se não existir correção, considere uma solução temporária autorizada, uma restrição da funcionalidade ou a remoção do componente afetado.
Feche a lacuna de manutenção
Meça o tempo até à triagem e à remediação verificada por prioridade. Acompanhe exceções expiradas, análises desatualizadas, versões de produção afetadas e ocorrências recorrentes. Uma redução do número de ocorrências também pode refletir menor cobertura; examine o denominador.
O Taiga Maintaining analisa repositórios ligados após alterações e periodicamente. Regista ocorrências e liga a remediação a iniciativas e alterações revistas. Verifique o estado da análise e o comportamento atualmente documentado. Maintaining.
O seu pipeline continua a precisar de controlos adequados de lançamento. O responsável pelo serviço continua a precisar de confirmar o deployment e a correção operacional. Esta cadeia contínua faz parte da operação de uma fábrica de software com IA, incluindo produtos cuja primeira versão começou como protótipo.
Faça o exercício
Use a cronologia fictícia desta lição. Identifique onde a equipa poderia declarar sucesso incorretamente. Defina as condições que desencadeiam a análise, o alerta de falha, o responsável pela remediação, a verificação do lançamento e a expiração de uma exceção temporária.
Descarregar ficha (Markdown)Desmarcar esta opção elimina todo o progresso guardado neste browser.
O progresso fica neste browser. Sem conta nem rastreamento.
Fontes e leituras adicionais
- NIST: Secure Software Development Framework ↗
- CISA: Known Exploited Vulnerabilities Catalog ↗
- Taiga docs: Maintaining ↗