Avance nas partes difíceis.
Escolha de modelo, contexto selecionado e respostas claras, sem configurar um projeto antes da primeira pergunta.
Encontre a falha de controle de acesso neste endpoint. Mostre a menor correção possível e um teste de regressão.
Um ID de relatório válido não concede autorização.
A consulta verifica qual relatório existe, mas não verifica a quem ele pertence. Vincule a consulta ao tenant autenticado e confirme que um segundo tenant não consegue lê-lo.
Inspecionar o trecho original
const report = await db.reports.findUnique({
where: { id: request.params.id }
});const report = await db.reports.findFirst({
where: {
id: request.params.id,
tenantId: session.tenantId
}
});Arquivos perto da pergunta.
Escolha os arquivos de referência explicitamente. Os registros de fontes preservam a procedência, e excluir uma fonte remove as respostas derivadas conforme a política de exclusão documentada.
Tratamento de dadosRevise a ação real.
Quando uma ferramenta sujeita a controle for proposta, examine as entradas exatas. Sua aprovação dessas entradas autoriza a ação. Uma resposta do modelo não concede permissão.
Ferramentas e aprovaçõesOs modos avançam com execução verificada.
Chat usa o catálogo configurado. Verificações de Code e análise estática em Reverse usam ambientes isolados; verificações HTTP limitadas em Pentest exigem um gateway disponível e um escopo autorizado explícito.
Limites atuais dos recursosEscolha sua interface.
Use o navegador, a CLI e o SDK para download, a extensão para VS Code ou os contratos nativos da API. Os pacotes de cliente são downloads diretos versionados com checksums SHA-256.
Documentação para desenvolvedores