Programa de segurança da internet pública

Proteger a internet.

A NullSquare identifica erros de configuração de segurança óbvios e visíveis publicamente e avisa em particular as organizações responsáveis. O mesmo programa pesquisa código aberto público, procurando problemas que possamos reproduzir, corrigir e provar.

Em todos os trabalhos da NullSquare
11,179
Riscos revelados
6,742
Validados
449
Críticos e altos
152
CVEs distintos

Por que você recebeu uma mensagem

Um dos nossos agentes encontrou algo exposto à internet pública num domínio da sua organização. Escrevemos em particular para que a sua equipe possa revisar e fechar. Não contamos a mais ninguém e não publicamos nada.

O que o programa verifica

O programa olha apenas o que já está visível a partir da internet pública:

  • Um serviço alcançável pela internet que não deveria estar.
  • Uma interface administrativa aberta a quem a encontrar.
  • Uma ferramenta de desenvolvimento ou depuração deixada rodando em público.
  • Uma listagem de diretório servindo arquivos que nunca deveriam ser servidos.
  • Uma página padrão de implantação ainda no ar num host em produção.
  • Um erro de configuração parecido que qualquer um poderia encontrar do mesmo jeito que encontramos.

O agente pega apenas o suficiente para nomear o domínio ou serviço afetado e dizer que tipo de problema é. Não entra mais fundo.

Pesquisa em código aberto

Um aviso reduz a superfície de ataque exposta. Ele não conserta o código por baixo. Por isso o programa também trabalha na origem: selecionamos um repositório aberto público de cada vez e o estudamos num sandbox descartável, procurando um problema de segurança que possamos provar.

Um agente afirmando que algo é vulnerável não é um risco confirmado, e a saída de um scanner também não. Nada vale até reproduzir, a correção segurar e as duas coisas estarem escritas bem o bastante para outra pessoa rodar de novo.

  1. 01FixarO repositório é clonado num commit exato dentro de um sandbox descartável que não guarda credenciais de produção.
  2. 02Linha de baseA build e os testes do próprio projeto rodam antes de qualquer pesquisa, para sabermos o que já passava.
  3. 03PesquisarO agente lê e exercita o código dentro do sandbox, contra aquela única revisão fixada.
  4. 04ReproduzirUm candidato só conta quando se reproduz a partir de um checkout limpo, sem estado remanescente da exploração.
  5. 05CorrigirA menor correção razoável, mais um teste de regressão onde o projeto tornar isso viável.
  6. 06VerificarA reprodução é executada de novo antes e depois da correção, e as próprias verificações do projeto rodam outra vez.
  7. 07RevisarUma pessoa aceita ou rejeita o resultado. Nada sai do laboratório automaticamente.

Os testes nunca são apagados, pulados ou enfraquecidos para alegar aprovação. Quando o trabalho não passa da barra, a resposta é: nenhum risco confirmado, registrado com o que foi tentado e o que não pôde ser verificado. De um jeito ou de outro, a execução produz o mesmo pacote:

Pacote de evidências

Interno, revisado por uma pessoa e nunca publicado pelo próprio laboratório.

summary.md
O que foi tentado, o que foi encontrado e o que não pôde ser verificado.
risk.md
Causa raiz, caminho de código afetado e uma avaliação honesta de confiança.
reproduction/
O comando e a evidência observada na revisão sem correção.
patch.diff
A correção mínima, presa ao commit fixado.
tests/
Um teste de regressão que falha antes da correção e passa depois.
verification.md
Resultados de antes e depois, junto com a saída de build, testes e lint.
run-metadata.json
Repositório, commit exato, modelo, duração e custo.

O que o programa não faz

  • Nada de adivinhar senhas, testar credenciais ou burlar autenticação.
  • Nada de exploração, testes destrutivos, escalada de privilégios ou encadeamento de vulnerabilidades.
  • Nada de coletar arquivos privados, registros de clientes, código-fonte ou conteúdo autenticado.
  • Nada de publicar, vender ou indexar publicamente os problemas encontrados.
  • Nada de testar um ambiente em produção ou hospedado durante a pesquisa. O trabalho acontece só contra um clone local.
  • Nada de forks, branches, commits, pushes, pull requests ou issues. O laboratório não tem acesso de escrita ao repositório.
  • Nada de contato com mantenedores, avisos, pedidos de CVE ou envios de bounty feitos pelo próprio laboratório.
  • Nada de varredura em massa de hosts públicos de código. Os repositórios são escolhidos um de cada vez, deliberadamente.

Privacidade e tratamento de dados

As notificações vão direto para um contato público apropriado do domínio. A sessão de detecção é descartada depois que a mensagem é entregue, e a NullSquare não mantém um banco de dados pesquisável dos riscos deste programa.

As execuções de pesquisa trabalham só com código-fonte público. O sandbox é destruído depois da execução e o pacote de evidências fica interno. Se um resultado algum dia for levado a um mantenedor, essa é uma decisão separada e deliberada, tomada por uma pessoa.

Registros mínimos de entrega de e-mail, prevenção de abuso e descadastramento podem ser mantidos à parte. Esses registros não contêm dados copiados do alvo nem saída de exploits.

Verificar ou responder a um aviso

Uma mensagem legítima do «Secure the internet» nunca vai pedir credenciais, pagamento, chaves de API ou acesso aos seus sistemas. Você pode responder à mensagem, pedir descadastramento, corrigir um contato ou verificar a origem dela direto com a NullSquare.

null@nullsquare.net
NullSquareAviso privado. Sem divulgação pública.