Consultoria Processos, requisitos e arquitetura, antes de desenvolver ou adquirir. Desenvolvimento à medida Plataformas web e backoffices pensados para a forma como as suas equipas trabalham. Implementação e integração Sistemas que funcionam em conjunto, com os dados registados uma só vez. Manutenção e suporte Sistemas seguros e atualizados, com manutenção corretiva e evolutiva.
Sistemas de informação para entidades públicas e privadas. Todos os serviços
Serviços de IA Diagnóstico, assistentes, automação documental, formação e operação. Integração MCP Como a IA se liga aos seus sistemas, com permissões e registo de auditoria. IA na Europa Onde os seus dados são processados e que modelos utilizamos. Programa de fundadores Diagnóstico gratuito e uma prova de conceito paga no fim.
Casos de uso com demonstrações guiadas, por sector. Todos os casos de uso
Auditoria de código-fonte Falhas de segurança encontradas no código, cada uma confirmada por uma pessoa. Testes de penetração Aplicações web, APIs, infraestruturas e apps móveis, testadas como um atacante faria. Correções e reteste Corrigimos as falhas ou apoiamos a sua equipa, e retestamos até ficarem fechadas. NIS2 e resposta a incidentes Apoio no Regime Jurídico da Cibersegurança, e 24/7 por contrato.
Ver um relatório de exemplo Todos os serviços de cibersegurança
Fale connosco hello@datapoint.software

Relatório de exemplo

Como é um relatório de segurança da Datapoint.

Um relatório fictício, para mostrar o que recebe no fim de uma auditoria de código ou de um teste de penetração: um resumo para quem decide, achados explicados para quem corrige e o estado do reteste.

Exemplo ilustrativo: a entidade, a aplicação e as falhas são fictícias e não correspondem a nenhum cliente.

Relatório de segurança: Portal de Pedidos

Descarregar em PDF PDF, 4 páginas

Entidade
Entidade Exemplo (fictícia)
Aplicação
Portal de Pedidos, versão 3.2
Âmbito
Aplicação web, API e código-fonte
Abordagem
Caixa cinzenta, com contas de teste e acesso ao código
Metodologias
OWASP WSTG, OWASP ASVS e CVSS 4.0
Estado
Reteste concluído

Resumo executivo

Foram encontradas quatro falhas: uma crítica, uma alta, uma média e uma baixa. A mais grave permitia a qualquer pessoa, sem autenticação, aceder à base de dados através da pesquisa pública. Três falhas foram corrigidas e confirmadas no reteste; a de gravidade baixa está planeada para a próxima versão.

Recomendamos manter a revisão de código nas novas versões e acompanhar as dependências da aplicação, para que falhas conhecidas sejam corrigidas logo que publicadas.

Achados por gravidade

  • Crítica 1
  • Alta 1
  • Média 1
  • Baixa 1

Estado das correções

  • Corrigida e confirmada 3
  • Correção planeada 1

Achados

Cada achado foi reproduzido num ambiente de teste antes de entrar no relatório. Abra cada um para ver os detalhes.

A-01 Injeção de SQL na pesquisa pública Crítica · 9,3 Corrigida e confirmada
Localização
pesquisa/resultados.php, linha 42 · parâmetro «termo»
CVSS 4.0
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N

Descrição

O termo de pesquisa é juntado diretamente à consulta à base de dados, sem parametrização. A página de pesquisa é pública, por isso não é preciso ter conta.

Prova

Num ambiente de teste, um valor inofensivo no parâmetro alterou a estrutura da consulta e a ordem dos resultados, o que confirma que o texto do utilizador é interpretado como parte da consulta. A prova completa foi entregue à equipa técnica e não é reproduzida aqui.

Impacto

Um atacante poderia ler, alterar ou apagar dados da base de dados, incluindo dados pessoais dos utentes, sem qualquer autenticação.

Correção proposta

Antes
$sql = "SELECT id, assunto FROM pedidos
        WHERE assunto LIKE '%" . $_GET['termo'] . "%'";
$linhas = $db->query($sql)->fetchAll();
Depois
$stmt = $db->prepare(
    'SELECT id, assunto FROM pedidos WHERE assunto LIKE ?'
);
$stmt->execute(['%' . $_GET['termo'] . '%']);
$linhas = $stmt->fetchAll();

Reteste

Consulta parametrizada em todas as pesquisas. O reteste confirmou que o parâmetro deixou de alterar a consulta.

A-02 Acesso a pedidos de outros utentes Alta · 7,1 Corrigida e confirmada
Localização
API · GET /api/pedidos/{id}
CVSS 4.0
CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:H/VI:N/VA:N/SC:N/SI:N/SA:N

Descrição

A API devolve um pedido a partir do seu identificador, mas não verifica se o pedido pertence ao utente autenticado.

Prova

Com a conta de teste A, o pedido de um registo criado pela conta de teste B devolveu os dados desse registo (redigidos no relatório).

Impacto

Qualquer utente com conta poderia consultar os pedidos de outros utentes, incluindo dados pessoais e documentos anexos.

Correção proposta

Antes
$pedido = Pedido::find($id);
return response()->json($pedido);
Depois
$pedido = Pedido::where('id', $id)
    ->where('utente_id', $utilizador->id)
    ->firstOrFail();
return response()->json($pedido);

Reteste

Verificação do dono aplicada a todos os pedidos da API. O reteste confirmou que a conta A deixou de ver os registos da conta B.

A-03 Biblioteca de edição de texto com falha conhecida Média · 5,3 Corrigida e confirmada
Localização
package.json · biblioteca de edição de texto, versão 4.1
CVSS 4.0
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:P/VC:N/VI:N/VA:N/SC:L/SI:L/SA:N

Descrição

A aplicação usa uma versão de uma biblioteca de edição de texto com uma vulnerabilidade publicada pelo fabricante, que permite incluir código nas mensagens. O identificador da vulnerabilidade foi omitido neste exemplo.

Prova

A versão foi identificada na análise de dependências e o comportamento descrito pelo fabricante foi confirmado num ambiente de teste.

Impacto

Uma mensagem preparada poderia executar código no navegador de quem a abrisse, por exemplo um técnico no backoffice.

Correção proposta

Antes
"dependencies": {
  "editor-exemplo": "4.1.0"
}
Depois
"dependencies": {
  "editor-exemplo": "4.3.2"
}

Reteste

Biblioteca atualizada para a versão corrigida pelo fabricante. A dependência passou a ser acompanhada na subscrição anual.

A-04 Cookie de sessão sem atributos de proteção Baixa · 2,3 Correção planeada
Localização
Configuração da sessão · config/session.php
CVSS 4.0
CVSS:4.0/AV:N/AC:H/AT:P/PR:N/UI:P/VC:L/VI:L/VA:N/SC:N/SI:N/SA:N

Descrição

O cookie de sessão não tem os atributos Secure e HttpOnly, que impedem o envio por ligações não cifradas e o acesso a partir de código no navegador.

Prova

Os cabeçalhos da resposta de autenticação mostram o cookie de sessão sem os dois atributos.

Impacto

Combinado com outra falha, facilitaria o roubo de uma sessão. Sozinho, o risco é baixo.

Correção proposta

Antes
"secure" => false,
"http_only" => false,
Depois
"secure" => true,
"http_only" => true,
"same_site" => "lax",

Reteste

Correção planeada para a próxima versão da aplicação, com novo reteste nessa altura.

Os nossos serviços

Um relatório assim, para os seus sistemas.

O mesmo formato serve para auditorias de código-fonte e para testes de penetração, com reteste incluído.

  • Resumo executivo para a direção, em linguagem simples.
  • Achados confirmados, sem listas de falsos positivos.
  • Correção proposta para cada falha, com o código antes e depois.
  • Reteste e relatório final atualizado.

Pedir uma auditoria ou um teste

  • Auditoria de código-fonte

    Falhas encontradas no código, cada uma confirmada por uma pessoa.

  • Testes de penetração

    Aplicações, APIs, infraestruturas e apps móveis.

Acessibilidade

Leitura em voz alta

Tamanho do texto

100%

Visualização

Movimento e navegação

Declaração de acessibilidade
Fale connosco