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

Auditoria de código-fonte

Ler o código como um atacante, antes de ele o fazer.

Revemos o código-fonte das suas aplicações à procura de falhas de segurança: com ferramentas de análise, com apoio de inteligência artificial e, sobretudo, com pessoas que desenvolvem e mantêm sistemas e confirmam cada achado antes de o reportar.

  • PHP, Python, JS/TS, Java e C#
  • Cada achado confirmado por uma pessoa
  • Código tratado na UE

Para decisores

O que é uma auditoria de código, em linguagem simples.

Um teste de penetração ataca a aplicação por fora. Uma auditoria lê-a por dentro, linha a linha nos pontos críticos, e encontra falhas que nenhum ataque externo chegaria a revelar.

  • Encontra a causa, não só o sintoma. Cada achado indica o ficheiro, a linha e a correção.
  • Vê o que não está exposto. Funcionalidades internas, permissões e integrações também são revistas.
  • Acontece antes do problema. Pode ser feita antes de a aplicação entrar em produção.
  • Deixa a equipa mais forte. Os achados explicam o padrão a evitar, não apenas o caso.
  • Por dentro

    Lemos o código, as dependências e a configuração.

  • Sem falsos alarmes

    Só reportamos o que confirmámos.

  • Com correção

    Cada falha vem com a forma de a fechar.

  • Com reteste

    Confirmamos que a correção resolveu o problema.

O que procuramos

As falhas que mais vezes abrem a porta.

Seguimos as categorias do OWASP Top 10 e verificamos os requisitos do OWASP ASVS adequados a cada aplicação.

  • Autenticação e sessões

    Palavras-passe, recuperação de conta, autenticação multifator e gestão de sessões.

  • Autorização

    Se cada utilizador só acede aos seus dados e às funções que lhe cabem.

  • Injeção e validação

    Dados vindos de fora que chegam a consultas, comandos ou páginas sem validação.

  • Segredos no código

    Chaves, palavras-passe e credenciais de acesso esquecidas no código ou no histórico.

  • Criptografia

    Algoritmos fracos, chaves mal guardadas e dados sensíveis sem cifra.

  • Envio de ficheiros

    Ficheiros carregados que podem ser executados, sobrepor outros ou esgotar recursos.

  • Registos e erros

    Erros que revelam informação interna e ações importantes que não ficam registadas.

  • Dependências

    Bibliotecas e componentes com falhas conhecidas, como o caso PHP2Shell.

Como trabalhamos

Das ferramentas às pessoas, em seis passos.

  1. Preparação

    Acesso ao repositório, arquitetura e identificação dos fluxos críticos com a sua equipa.

    1 a 2 dias

  2. Análise automática

    Análise estática e das dependências, para cobrir todo o código e encontrar falhas conhecidas.

    1 a 2 dias

  3. Análise com IA

    Ferramentas de IA seguem os dados desde a entrada até às operações sensíveis e sinalizam candidatos.

    1 a 3 dias

  4. Revisão manual

    Autenticação, permissões, pagamentos e dados pessoais revistos à mão por quem conhece o padrão.

    3 a 10 dias

  5. Confirmação

    Cada candidato é reproduzido num ambiente de teste; o que não se confirma não entra no relatório.

    1 a 3 dias

  6. Relatório e apresentação

    Achados por gravidade, com correção proposta, apresentados à equipa técnica e à direção.

    1 a 2 dias

Exemplo ilustrativo

Um achado, do problema à correção.

Cada achado do relatório explica o que está errado, onde, porque importa e como se corrige. Veja como é um relatório completo.

  • Descrição clara do problema, para quem programa e para quem decide.
  • Localização exata: ficheiro, linha e funcionalidade afetada.
  • Prova de que a falha existe, reproduzida num ambiente de teste.
  • Impacto no serviço e nos dados, e gravidade medida com CVSS 4.0.
  • Correção proposta, com o código antes e depois.
  • Estado do reteste, atualizado quando a correção é aplicada.
// Achado A-03 · Gravidade: alta
// Ficheiro: pedidos/ver.php, linha 18
// Problema: o identificador vem do pedido sem validação
// e não se verifica a quem pertence o registo.
$sql = "SELECT * FROM pedidos WHERE id = " . $_GET['id'];
$pedido = $db->query($sql)->fetch();

// Correção: consulta parametrizada e verificação do dono.
$stmt = $db->prepare(
    'SELECT * FROM pedidos WHERE id = ? AND utente_id = ?'
);
$stmt->execute([$_GET['id'], $utilizador->id]);
$pedido = $stmt->fetch();

Linguagens e ferramentas

As tecnologias com que trabalhamos todos os dias.

Auditamos as linguagens e os frameworks que também usamos para desenvolver e manter sistemas.

  • PHP, incluindo Laravel, Symfony e WordPress.
  • Python, incluindo Django, Flask e FastAPI.
  • JavaScript e TypeScript, no servidor com Node.js e nas aplicações web.
  • Java, incluindo Spring.
  • C#, incluindo .NET.
  • Semgrep

    Análise estática do código, com regras públicas e regras próprias.

  • OWASP Dependency-Check

    Dependências com vulnerabilidades conhecidas e publicadas.

  • Trivy

    Dependências, contentores e ficheiros de configuração.

  • IA com revisão humana

    Caminhos de dados suspeitos, sempre confirmados por uma pessoa.

Quando faz sentido

Os momentos certos para uma auditoria.

  • Antes de entrar em produção

    Corrigir uma falha antes do lançamento custa muito menos do que depois de ser explorada.

  • Ao receber um sistema

    Antes de assumir a manutenção de uma aplicação desenvolvida por outro fornecedor.

  • Depois de uma grande alteração

    Uma nova integração, um novo módulo ou uma mudança de framework.

  • Na cadeia de fornecimento

    Para avaliar a segurança do software dos fornecedores, como pede a NIS2.

O que recebe

Um relatório útil para quem decide e para quem corrige.

A auditoria só termina quando as falhas importantes ficam fechadas.

Pedir uma auditoria

  • Resumo executivo para a direção, com o nível de risco e as prioridades.
  • Relatório técnico com todos os achados, provas e correções propostas.
  • Reunião de apresentação com a equipa técnica ou com o seu fornecedor.
  • Correções feitas por nós ou pela sua equipa, à sua escolha.
  • Reteste e relatório final com o estado de cada achado.

Perguntas frequentes

Sobre a auditoria de código-fonte.

Precisam de acesso a todo o código?

Precisamos de acesso ao código da aplicação a auditar e das suas configurações, de preferência ao repositório com o histórico. O histórico ajuda a encontrar segredos que foram apagados do código mas continuam guardados.

O nosso código sai das nossas instalações?

Só se concordar. O código é tratado na União Europeia, através dos nossos parceiros, ou nas suas instalações, apagado no fim do trabalho e nunca usado para treinar modelos de IA.

Quanto tempo demora uma auditoria?

Depende da dimensão e da complexidade da aplicação. Uma aplicação de dimensão média demora normalmente entre duas e três semanas, do acesso ao código ao relatório.

Auditam código desenvolvido por outro fornecedor?

Sim, com a autorização do dono do sistema. Podemos apresentar os achados ao fornecedor e apoiá-lo nas correções, ou fazer nós as correções quando o contrato e a licença o permitem.

A auditoria substitui um teste de penetração?

Não, complementam-se. A auditoria encontra falhas no código; o teste de penetração confirma o que um atacante consegue explorar na aplicação em funcionamento, incluindo a configuração do servidor.

Quer saber o que o seu código esconde?

Conte-nos que aplicação quer auditar e propomos um âmbito e um preço fechados.

Acessibilidade

Leitura em voz alta

Tamanho do texto

100%

Visualização

Movimento e navegação

Declaração de acessibilidade
Fale connosco