OWASP e bugs reais
A modelagem de ameaças pergunta o que pode dar errado antes de você construir algo.
O OWASP ajuda você a reconhecer o que já deu errado em aplicações reais.
Um relatório de bug pode dizer:
Um cliente autenticado consegue mudar o id em
/orders/123e ler o pedido de outra pessoa.
Esse é um bug real, mas ele também tem um nome compartilhado: controle de acesso quebrado. No OWASP Top 10, isso é A01.
O que é o OWASP
OWASP é o Open Worldwide Application Security Project, uma comunidade sem fins lucrativos que publica orientações gratuitas sobre segurança de aplicações.
O projeto mais conhecido do OWASP é o OWASP Top 10. É uma lista de categorias de risco de segurança comuns e sérias em aplicações web.
Pense nela como um mapa, não como uma lista de verificação.
A lista atual lançada é de 2025
O OWASP diz que a versão lançada mais atual é o OWASP Top 10 2025.
Os nomes e números de categoria abaixo usam essa edição.
A lista dá aos desenvolvedores uma linguagem compartilhada. Em vez de dizer "o app deixa usuários verem registros que não deveriam ver", uma equipe pode dizer "isso é controle de acesso quebrado."
O nome curto não conserta o bug. Ele ajuda as pessoas a encontrarem a conversa certa mais rápido.
O Top 10 não prova que um app é seguro. Ele ajuda você a reconhecer os tipos de erro que desenvolvedores continuam encontrando em aplicações web reais.
As categorias de 2025
Você não precisa decorar a lista. Leia cada categoria como uma pergunta que você pode fazer sobre o código.
| Código | Categoria | Pergunta para o desenvolvedor |
|---|---|---|
| A01 | Controle de Acesso Quebrado | Alguém consegue acessar dados ou ações que não deveria? |
| A02 | Configuração de Segurança Incorreta | Alguma configuração insegura foi para produção? |
| A03 | Falhas na Cadeia de Suprimentos de Software | Você pode confiar nos pacotes, ferramentas e caminho de build? |
| A04 | Falhas Criptográficas | Dados privados estão protegidos quando armazenados ou enviados? |
| A05 | Injeção | Um texto do usuário pode virar uma instrução? |
| A06 | Design Inseguro | A escolha insegura foi feita antes mesmo de o código existir? |
| A07 | Falhas de Autenticação | O app consegue identificar de forma confiável quem é a pessoa? |
| A08 | Falhas de Integridade de Software ou Dados | O código ou os dados foram alterados antes de chegarem até você? |
| A09 | Falhas de Registro e Alerta de Segurança | Alguém notaria o ataque? |
| A10 | Tratamento Inadequado de Condições Excepcionais | Um erro deixa o app inseguro? |
A ordem importa menos do que o hábito. Escolha um bug real, nomeie a categoria e depois explique o impacto em linguagem simples.
Para o bug do id do pedido, a categoria é A01 Controle de Acesso Quebrado. O impacto é: qualquer cliente autenticado consegue ler o histórico de pedidos e o endereço de entrega de outro cliente.
O OWASP dá um nome ao bug; seu relatório ainda precisa explicar o dano.
Comece pela pergunta simples. Alguém consegue ler algo privado? Mudar algo que não deveria? Fazer o app parar de responder? O nome da categoria vem depois que você entende o dano.
OWASP depois do STRIDE
STRIDE e OWASP são úteis em momentos diferentes.
| Ferramenta | Melhor momento | Pergunta |
|---|---|---|
| STRIDE | Antes e durante o design | O que pode dar errado? |
| OWASP Top 10 | Durante revisão, testes e triagem | Que tipo de bug é esse? |
Numa sessão de planejamento, o STRIDE ajuda você a perceber que o QuickBite precisa calcular o preço no lado do servidor.
Num relatório de bug real, o OWASP ajuda você a dizer que o preço controlado pelo navegador é um problema de integridade e provavelmente se encaixa em injeção, controle de acesso ou design inseguro, dependendo de como funciona.
As ferramentas se encaixam assim:
- O STRIDE prevê possíveis falhas.
- O app é construído e testado.
- O OWASP ajuda a nomear os bugs que aparecem.
- A triagem de bugs transforma a descoberta em prioridade e próxima ação.
Você não precisa escolher um ou outro. Eles respondem perguntas diferentes.
Experimente
Cinco bugs de um backlog real. Nomeie a categoria do OWASP 2025 para cada um e depois escreva o impacto numa frase que qualquer pessoa fora da engenharia entenderia.
- Um cliente autenticado muda o id em
/orders/1042e vê o endereço de entrega de outro cliente. - O painel de administração é lançado com a senha padrão ainda ativa.
- Uma caixa de busca coloca o texto digitado diretamente numa consulta ao banco de dados.
- Tentativas de login falhadas nunca são registradas em lugar nenhum.
- Uma dependência foi atualizada na semana passada por uma conta de mantenedor que havia sido invadida.
Compare suas respostas
| # | Categoria | Impacto em palavras simples |
|---|---|---|
| 1 | A01 Controle de Acesso Quebrado | Qualquer cliente autenticado consegue ler o histórico de pedidos e o endereço de entrega de outro cliente |
| 2 | A02 Configuração de Segurança Incorreta | Qualquer pessoa que saiba a senha padrão tem controle administrativo total |
| 3 | A05 Injeção | Um visitante consegue fazer o banco de dados executar comandos que o app nunca pretendeu, lendo ou apagando dados |
| 4 | A09 Falhas de Registro e Alerta de Segurança | Alguém pode tentar adivinhar senhas indefinidamente e ninguém jamais saberia que isso aconteceu |
| 5 | A03 Falhas na Cadeia de Suprimentos de Software | Código que você não escreveu e nunca revisou está rodando dentro da sua aplicação |
O número 4 é aquele que causa discussão, porque nada está quebrado. Esse é o ponto da categoria: a falha é que o ataque não deixa rastro nenhum, então todos os outros controles perdem a chance de serem percebidos.
Repare que a coluna de impacto nunca nomeia uma categoria. Isso é proposital, e é o hábito que vale a pena levar daqui: a categoria direciona o trabalho para a equipe certa, e a frase ao lado dela é o que faz o trabalho ser priorizado.
Para onde isso vai a seguir
O OWASP dá a você nomes para bugs reais comuns. O próximo capítulo, triagem de bugs, mostra como transformar um desses bugs em um relatório sobre o qual uma equipe pode agir.

