Pular para o conteúdo
SECVOLTaudit

Teste de segurança para apps feitos no Replit

Deploy rápido no Replit costuma vir com segredo em variável de ambiente mal isolada e rota de API sem sessão. Testamos o que o app expõe depois de publicado.

Em uma frase: No Replit, o deploy rápido deixa sourcemap, rota de debug e chave exposta para trás.

Por que isso acontece no Replit

Deploy rápido deixa para trás artefatos de desenvolvimento: sourcemap, rota de debug e variável de ambiente exposta. O app funciona; a configuração é que abre a porta.

O que costuma ficar aberto

  1. Segredo em ambiente exposto. Chave visível no bundle ou em rota de debug.
  2. Rota de API sem auth. Endpoint responde sem cookie ou token.
  3. Banco acessível pelo front. Consulta direta com a chave pública.
  4. Sem rate limit. Força bruta e consumo sem bloqueio.
  5. Debug e sourcemap em produção. Código e configuração expostos.

Exemplo real

Sourcemap e configuração em produção

GET /assets/index.js.map HTTP/2

200 · JSON de sourcemap · fontes originais

O deploy manteve artefatos de desenvolvimento; o código-fonte e caminhos internos ficam públicos.

O que testamos

Vinte verificações: OWASP API Top 10 aplicado ao stack, mais configuração de banco, segredos no bundle, sourcemaps, CORS, rotas de debug e limite de uso. Onze rodam automatizadas; as demais entram na revisão manual de autorização.

Além disso, testamos autenticação nas rotas de dados, limite de uso, headers e acesso direto ao banco pela chave do front.

Como o laudo trata esse achado

A evidência entra com método, caminho e resposta redigida; a severidade considera o que um atacante obtém sem credencial; a correção é escrita para o seu stack, não como aviso genérico. O que não conseguimos reproduzir fica fora do laudo.

Como testar em 10 minutos

  1. Peça /assets/index.js.map
  2. Procure chave no JS público
  3. Chame a rota de dados sem cookie
  4. Dispare 20 requisições seguidas

O que o teste não cobre

  • Não cobre infraestrutura
  • Não revisa o runtime
  • Não substitui monitoramento

Como funciona

  1. Call de 15 minutos para fechar escopo, alvo e autorização.
  2. Proposta com valor e prazo em 24h.
  3. Teste em 48h, com laudo e correção escrita.

Sinais de que você precisa

  • O deploy manteve sourcemap e rota de debug.
  • Chave de serviço ficou em variável exposta.
  • Rotas de dados não têm limite de uso.

Checklist rápido

  • Sourcemap em produção
  • .env exposto
  • Rota sem auth
  • Chave no bundle
  • Sem rate limit
  • Debug ativo

O que fazer agora

  • Remover sourcemaps e rotas de debug do deploy.
  • Rotacionar qualquer chave exposta e mover para o servidor.
  • Exigir auth e rate limit nas rotas de dados.

Veja também todas as verificações e o checklist de 12 itens.

Perguntas frequentes

O teste funciona em apps do Replit?
Sim. Testamos a API que o app expõe, não a plataforma. O que muda é o stack por trás e os padrões típicos de configuração.
Preciso dar acesso ao código?
Não. O teste é black-box: usamos o que está público e as contas de teste que você fornecer.
O teste cobre o banco do Replit?
Sim. Verificamos o isolamento por registro e o acesso pela chave pública, além das rotas que expõem dados.
Quanto custa e quanto tempo leva?
O escopo e o valor são fechados na call de 15 minutos, com proposta escrita em 24h. A execução entrega em 48h após o escopo assinado.