Revisão de código-fonte

Siga uma entrada não confiável até uma operação sensível. Peça um patch pequeno, um contraexemplo e um teste de regressão.

Uma boa revisão acompanha os dados entre funções. Uma chamada aparentemente arriscada pode estar protegida por uma validação anterior; um handler aparentemente correto pode depender de um helper que perde o filtro de tenant.

Selecione o código relevante e seus chamadores imediatos. Peça um caminho explícito da entrada à operação, com o contexto ausente identificado. Um patch proposto é mais fácil de avaliar quando vem com um teste que demonstra a falha original.

Material de partida

  • O handler, helper ou consulta selecionado e contexto suficiente dos chamadores para identificar a fronteira de confiança.
  • Tipos, restrições do banco e testes relevantes; remova chaves e strings de conexão.
  • A regra esperada, como propriedade por tenant, lista de argumentos permitidos ou consumo único de um token.

Analise as evidências

  1. Peça os pontos de entrada, transformações, validações e a operação final. Exija referências a arquivos e linhas para cada afirmação.
  2. Procure um contraexemplo concreto que viole a regra. Verifique se middleware ou restrições do banco já o impedem.
  3. Peça o menor patch compatível e um teste de regressão. Inclua falhas e concorrência quando a regra depender de comportamento atômico.
  4. Revise e execute o teste antes de aplicar o patch. A revisão de patch pela CLI exige uma confirmação local separada; uma sugestão do modelo não grava por si só no seu projeto.

Um prompt para adaptar

Adapte às suas evidências
Siga o parâmetro selecionado da requisição até a consulta no banco. Nossa regra é que um tenant só pode ler seus próprios relatórios. Cite cada verificação relevante, identifique o contexto de chamadores que falta e crie um teste entre tenants que falhe se o caminho for vulnerável. Proponha um patch mínimo que preserve o contrato de resposta.

Confira o resultado

  • O achado identifica um caminho alcançável e explica por que as validações existentes não o bloqueiam.
  • O teste verifica o comportamento público, em vez de repetir a implementação.
  • O patch preserva requisições válidas, trata erros e segue os padrões existentes de autorização e transação.

Leve suas evidências para uma conversa e avance para a próxima pergunta.

Abrir chat