Uma sessão válida e um ID de objeto válido ainda podem resultar em uma falha de controle de acesso. A pergunta útil é onde a aplicação vincula o objeto solicitado à identidade atual.
Leve um conjunto pequeno e coerente de evidências para a conversa. Peça o caminho da entrada até a operação sensível, as premissas ao longo dele e a próxima observação capaz de distinguir uma falha do comportamento esperado.
Material de partida
- Uma rota, handler ou par de requisição e resposta, sem credenciais nem dados pessoais.
- A regra de acesso esperada: qual papel ou tenant deve ser dono do objeto e quais ações são permitidas.
- Duas identidades sintéticas de teste e um registro de qual delas é dona de cada objeto.
Analise as evidências
- Mapeie a entrada, a autenticação, a busca do objeto e a resposta. Peça que o modelo cite a linha ou requisição relevante em cada etapa.
- Compare os comportamentos do dono, de outro usuário e de uma requisição sem autenticação. Altere uma variável por vez para conseguir interpretar o resultado.
- Peça um teste de regressão mínimo e uma consulta ou política vinculada ao tenant. Revise a mudança usando o modelo de dados real.
- Execute as verificações selecionadas no seu ambiente de teste. As ações HTTP do produto dependem da disponibilidade do modo, do escopo do trabalho e da aprovação da ação exata.
Um prompt para adaptar
Adapte às suas evidências
Revise o endpoint de relatórios anexado e estas respostas do dono e de outro usuário. Encontre onde o acesso ao objeto é vinculado ao tenant da sessão. Separe o comportamento observado das premissas. Proponha a menor correção e três testes de regressão: acesso do dono, bloqueio entre tenants e ausência de autenticação. Um status de sucesso, sozinho, não comprova exposição de dados.
Confira o resultado
- Uma alegação de exposição inclui a resposta real recebida por quem não é dono e identifica os dados protegidos.
- A correção confere a propriedade no servidor, inclusive em rotas alternativas e buscas indiretas.
- Os testes falham antes da correção e passam depois; o tratamento de erros não revela o objeto por outro campo.
Leve suas evidências para uma conversa e avance para a próxima pergunta.
Abrir chat