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