Leve a segurança para o desenvolvimento
Use padrões seguros, proteja as dependências e os segredos, e priorize as vulnerabilidades do mundo real.
- Associar falhas comuns ao OWASP Top 10:2025
- Manter os segredos fora do código e as dependências atualizadas
- Escolher verificações de segurança para o projeto, o código e o lançamento
- Inventariar os ativos expostos e priorizar as vulnerabilidades pela exploração e pelo impacto no negócio
O OWASP Top 10:2025 classifica os riscos mais críticos das aplicações web:
| Categoria | |
|---|---|
| A01 | Broken Access Control |
| A02 | Security Misconfiguration |
| A03 | Software Supply Chain Failures |
| A04 | Cryptographic Failures |
| A05 | Injection |
| A06 | Insecure Design |
| A07 | Authentication Failures |
| A08 | Software or Data Integrity Failures |
| A09 | Security Logging and Alerting Failures |
| A10 | Mishandling of Exceptional Conditions |
Novidades de 2025: as falhas na cadeia de suprimentos - dependências vulneráveis ou maliciosas, sistemas de build comprometidos - e o tratamento inadequado de condições excepcionais, como falhar aberto quando acontece um erro.
Experimente
Até 15 XPQue categoria do Top 10?
Associe cada achado à sua categoria do OWASP Top 10:2025.
“Qualquer usuário logado consegue chamar DELETE /api/users/{id}”
“O servidor de produção mostra stack traces completos e tem a senha de administrador padrão”
“Um build baixa o pacote “reqeusts”, de nome parecido (typosquatting), que rouba variáveis de ambiente”
“As senhas são guardadas como hashes MD5 sem salt”
“Quando o serviço de permissões estoura o tempo limite, o código permite a requisição”
“Um bucket de armazenamento pode ser listado publicamente”
“As dependências não têm versão fixada, então cada build pode baixar uma versão diferente”
Segredos e dependências
Segredos (chaves de API, senhas de banco de dados, chaves privadas) não pertencem ao código-fonte: os repositórios são clonados, copiados e vazados, e o histórico do Git guarda as linhas apagadas para sempre. Carregue-os de um gerenciador de segredos ou do ambiente, faça varreduras nos commits em busca deles e faça a rotação de qualquer segredo que já tenha sido commitado.
A maior parte de uma aplicação é código de outras pessoas. Proteja a cadeia de suprimentos: fixe as versões com um lockfile, verifique os checksums, mantenha uma lista de materiais do software (SBOM), acompanhe os avisos com um scanner, atualize sem demora e desconfie de nomes de pacotes novos ou parecidos com outros.
Nenhuma verificação sozinha encontra tudo, então as equipes as combinam em camadas: modelagem de ameaças no projeto, revisão de código e análise estática (SAST) durante a programação, análise de composição de software (SCA) para as dependências, e testes dinâmicos (DAST) e testes de invasão contra os sistemas em execução.
Log4Shell: entrada perigosa numa biblioteca comum
O Apache Log4j Core podia interpretar um texto controlado pelo atacante numa mensagem registrada como uma consulta JNDI. Em configurações afetadas, isso podia levar à execução remota de código.
- 01Um atacante coloca um texto forjado num campo que a aplicação registra no log.
- 02Uma versão vulnerável do Log4j Core processa a consulta.
- 03A consulta pode chegar a um endpoint controlado pelo atacante e carregar código.
- 04Os defensores inventariam as aplicações afetadas, atualizam, verificam e investigam a exposição.
Encontre o que está vulnerável e depois verifique a correção
Um scanner não consegue proteger um servidor que ele não sabe que existe. Mantenha um inventário de ativos com as aplicações, dispositivos e recursos de nuvem em produção, os seus donos e as versões de software. Compare-o com os avisos e com os resultados das varreduras. O caso da Equifax mostrou como um sistema público sem patch e uma varredura que não o detectou podem transformar uma falha conhecida numa invasão.
Não ordene uma fila de patches só por uma nota de severidade. Pergunte: A falha está sendo explorada? O sistema é alcançável? Que dados ou processo de negócio ele protege? Existe uma correção segura ou uma mitigação temporária? O catálogo Known Exploited Vulnerabilities da CISA identifica as falhas exploradas na prática. Um problema sabidamente explorado num serviço público merece atenção urgente, mesmo que o resultado de outro scanner tenha uma nota numérica maior.
O ciclo é descobrir → priorizar → corrigir ou mitigar → verificar. Se não der para aplicar um patch imediatamente, restrinja o acesso ou desative a funcionalidade afetada e acompanhe o risco restante. Faça uma nova varredura, ou confirme de outra forma, que a versão vulnerável sumiu depois do deploy. O playbook de resposta a vulnerabilidades da CISA descreve essas etapas.
Experimente
Até 15 XPAudite o plano de patches
Uma equipe escreveu este plano semanal de vulnerabilidades. Encontre as decisões que deixam exposições importantes sem tratamento.
Clique em todos os trechos suspeitos. São 3.
Prática: faça a triagem de uma varredura de dependências
Experimente
Até 15 XPO que você deve corrigir primeiro?
Os scanners relatam muita coisa. Parte do trabalho é decidir o que importa.
Qual você corrige hoje?
Principais conclusões
O OWASP Top 10:2025 começa com controle de acesso quebrado, configuração incorreta e falhas na cadeia de suprimentos.
Mantenha os segredos fora do código; faça a rotação de qualquer um que vazar.
Fixe, verifique e atualize as dependências; combine revisão, SAST, SCA e DAST.
Inventarie os ativos, priorize as fraquezas exploradas e expostas, e verifique a correção no sistema em produção.
Quiz da aula
7 perguntas · aprovação com 5 acertos · até 50 XP
Ao passar, você conclui a aula e mantém sua sequência. As perguntas erradas voltarão em sessões de revisão.
Pratique: escreva código em Python
Escreva código Python no editor e execute os testes com exemplos. O Python roda localmente no navegador usando WebAssembly.
Faça uma varredura de segredos num commit
A entrada tem vários arquivos: cada um começa com uma linha === PATH, seguida das linhas dele. Para cada linha (numerada a partir de 1 dentro do arquivo), informe a primeira correspondência de:
AKIAseguido de 16 letras maiúsculas ou dígitos →AWS access key-----BEGIN ... PRIVATE KEY-----→private keypassword,secretouapi_key(com qualquer combinação de maiúsculas e minúsculas, possivelmente com um prefixo comodb_), depois=, depois um literal entre aspas →hardcoded secret
Imprima PATH:LINE: TYPE.
- Três arquivos
O Python é executado em um ambiente isolado no navegador, com limite de 60 segundos. O runtime é carregado pelo CDN do Pyodide; seu código permanece neste navegador.
Dúvidas sobre esta lição
Travou em algum ponto? Pergunte. Descobriu algo? Compartilhe. Explicar também é uma ótima forma de aprender.
Carregando publicações…