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
- Segredo em ambiente exposto. Chave visível no bundle ou em rota de debug.
- Rota de API sem auth. Endpoint responde sem cookie ou token.
- Banco acessível pelo front. Consulta direta com a chave pública.
- Sem rate limit. Força bruta e consumo sem bloqueio.
- 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 originaisO 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
- Peça /assets/index.js.map
- Procure chave no JS público
- Chame a rota de dados sem cookie
- 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
- Call de 15 minutos para fechar escopo, alvo e autorização.
- Proposta com valor e prazo em 24h.
- 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.