Auditoria de segurança de um excerto de código segundo a OWASP

Analise um excerto de código à procura de vulnerabilidades do OWASP Top 10: falhas com severidade, cenário de abuso, código corrigido e testes para garantir que o problema não volta. Pensado para ChatGPT, Claude, Gemini e Microsoft Copilot. Inclui 4 variáveis personalizáveis e pode copiá-lo gratuitamente com um clique.

Avançado · Código · Pendente de revisão editorial

Prompt

Atua como engenheiro de segurança aplicacional especializado em revisão de código seguro e no OWASP Top 10.

Contexto:
- Linguagem e framework: {{linguagem}}
- O que faz este código e onde corre: {{contexto}}
- Exposição: {{exposicao}}
- Código a rever:
```
{{codigo}}
```

Entregáveis:
1. Resumo executivo em 3 linhas: nível de risco global e a falha mais urgente.
2. Tabela de falhas: ID, linha ou excerto afetado, categoria OWASP Top 10 e CWE quando aplicável, severidade (crítica, alta, média, baixa) justificada pela exposição, e nível de confiança.
3. Para cada falha: porque é vulnerável e um cenário de abuso descrito de forma concetual, sem payloads de exploração prontos a usar.
4. Código corrigido completo, com as defesas idiomáticas de {{linguagem}} (consultas parametrizadas, codificação de saída por contexto, validação por lista de permissões, controlo de acesso no servidor, gestão segura de segredos).
5. Testes automatizados que provem que a correção funciona, incluindo entradas maliciosas típicas.
6. Medidas de defesa em profundidade fora do código (cabeçalhos, privilégio mínimo, registo e alertas).

Restrições:
- Não assinales como vulnerável algo que não consigas justificar; se depender de código que não mostrei, marca como [PREENCHER: confirmar] e explica o que verificar.
- Indica também o que está bem feito, para não o estragar na correção.
- Se faltar contexto essencial (autenticação, origem dos dados), pergunta-me primeiro.
- Esta revisão é orientativa: para sistemas em produção com dados sensíveis, recomenda uma auditoria ou um teste de intrusão profissional.

Formato: resumo, tabela, detalhe por falha, código corrigido e testes.

Como utilizar

Cola a função ou o endpoint completo, não só a linha suspeita, e explica de onde vêm os dados de entrada. Corrige primeiro as falhas críticas e corre os testes sugeridos antes do merge.

Exemplo de utilização

Linguagem: PHP 8 sem framework · Contexto: endpoint que procura encomendas pelo email do cliente · Exposição: Internet pública · Código: consulta SQL construída a concatenar $_GET.

Exemplo de resultado

1. Resumo

Risco crítico. O id é concatenado no SQL (injeção) e nada verifica se a fatura pertence ao utilizador (IDOR). Ambos são exploráveis a partir da Internet.

2. Constatações

IDExcertoCategoriaGravidadeConfiança
F1'... WHERE id = ' + req.params.idA03 Injeção · CWE-89CríticaAlta
F2Sem filtro por utilizadorA01 Controlo de acesso · CWE-639AltaAlta
F3SELECT *A01 · exposição de dadosMédiaMédia
F4Promise sem catchA09 · erros não tratadosBaixaAlta

4. Código corrigido

app.get('/faturas/:id', requireAuth, async (req, res, next) => {
  // Lista branca: só inteiros positivos
  if (!/^[1-9]\d{0,9}$/.test(req.params.id)) {
    return res.status(400).json({ error: 'id_invalido' });
  }
  try {
    // Consulta parametrizada (sintaxe node-postgres: [COMPLETAR: confirmar o driver])
    const { rows } = await db.query(
      'SELECT id, numero, data_emissao, total, estado FROM faturas WHERE id = $1 AND utilizador_id = $2',
      [req.params.id, req.user.id],
    );
    // 404 quer não exista quer seja de outro: não revela que ids existem
    if (rows.length === 0) return res.status(404).json({ error: 'nao_encontrada' });
    return res.json(rows[0]);
  } catch (err) {
    return next(err);
  }
});

As colunas são um exemplo: limita-as ao que o cliente precisa mesmo de ver. Esta revisão é orientativa; antes de ir para produção com dados de faturação, convém uma auditoria profissional…

Dados-chave

Categoria
Programação e desenvolvimento · Depuração
Tipo de resultado
Código
Nível
Avançado
Pensado para
ChatGPT, Claude, Gemini e Microsoft Copilot
Verificado em
Pendente de verificação editorial
Variáveis
Linguagem e framework, O que faz e onde corre, Exposição e Código
Idioma
Português
Preço
Gratuito, sem registo
Atualizado
07/11/2026

Perguntas frequentes

A IA pode substituir uma ferramenta SAST ou um teste de intrusão?

Não. Serve como primeira análise e para perceber as falhas, mas pode deixar escapar problemas ou dar falsos positivos. Combina-a com análise estática, revisão humana e, em sistemas críticos, testes de intrusão profissionais.

É seguro colar o meu código num chatbot?

Remove antes chaves, palavras-passe, tokens e dados pessoais e confirma a política da tua empresa sobre ferramentas de IA. Para código confidencial, usa um plano empresarial com garantias de privacidade.

Para que serve este prompt?

Analise um excerto de código à procura de vulnerabilidades do OWASP Top 10: falhas com severidade, cenário de abuso, código corrigido e testes para garantir que o problema não volta.

Com que ferramentas de IA funciona?

Foi pensado para ChatGPT, Claude, Gemini e Microsoft Copilot. Ainda não o verificámos nestas ferramentas, pelo que os resultados podem variar entre elas.

Como personalizo o prompt?

Clique em “Personalizar” e preencha as variáveis (Linguagem e framework, O que faz e onde corre, Exposição e Código). O texto atualiza-se instantaneamente e pode depois copiá-lo com um clique. Os valores ficam guardados apenas no seu navegador.

Preciso de experiência para o utilizar?

É de nível avançado: destina-se a pessoas com experiência no tema, capazes de avaliar e ajustar o resultado.

Este prompt é gratuito?

Sim. Todos os prompts do HomeCasa Prompts são gratuitos, sem registo nem subscrição. Pode também utilizá-los em projetos profissionais.

Posso confiar no resultado da IA?

Trate-o como um rascunho de qualidade: verifique sempre os dados, os números e as afirmações importantes antes de publicar ou tomar decisões.

Prompts relacionados