Skip to content
Supersônica

This case study is not translated yet. The content below is in Portuguese.

47 checks de segurança em linguagem simples

Client
Supersônica
Industry
SaaS de segurança
Period
2026

Stack

  • Next.js
  • TypeScript
  • Supabase
  • Nuclei
  • Inngest
  • Stripe
  • AWS EC2
  • Vercel

The challenge

Sites feitos com IA vão a produção sem revisão de segurança, e o output de um scanner tradicional é ilegível justamente para quem os construiu.

What we built

Um SaaS que roda 47 verificações contra uma URL pública, descobre endpoints ocultos rastreando bundles JavaScript, ajusta os testes à stack detectada e devolve cada achado em linguagem simples com um prompt de correção pronto para colar.

Results

Verificações de segurança por scan
47
Testes automatizados no repositório
1.200
Primeiro pagamento real em produção
30/04/2026
Página inicial do SecureMyVibe anunciando 47 verificações de segurança e relatório em linguagem simples
Os seis grupos de verificação do SecureMyVibe: autenticação, secrets expostos, headers, SSL/TLS, infraestrutura e problemas específicos da stack
Relatório do SecureMyVibe com score 32 de 100 e achados descritos em linguagem simples, como tabelas do Supabase acessíveis sem Row Level Security

Este é um produto do próprio estúdio, não um trabalho entregue a cliente. A Supersônica projetou, construiu e opera o SecureMyVibe. Ele está no ar, em desenvolvimento ativo, e é o caso em que podemos abrir todos os números sem pedir permissão a ninguém.

O problema

Ferramentas de vibecoding colocam um site em produção em uma tarde. Quem publica raramente é quem sabe o que é Row Level Security, o que um header de segurança ausente permite, ou por que uma rota de API que devolve dados de usuário sem exigir login é um incidente esperando data marcada. O site abre, responde, tem formulário funcionando — então parece pronto.

Scanners de segurança já existem, e são o segundo problema. O resultado de uma ferramenta como o Nuclei é uma lista de identificadores de template e níveis de severidade: perfeitamente legível para quem já trabalha com segurança, inútil para quem construiu o site conversando com um modelo. O diagnóstico chega e não vira correção, o que na prática equivale a não ter chegado.

A intervenção

O SecureMyVibe roda 47 verificações contra uma URL pública — 46 templates Nuclei mais um testador de endpoints — com cobertura do OWASP Top 10. Antes de testar, ele descobre a superfície real: um crawler percorre os bundles JavaScript atrás de rotas de API que não aparecem em nenhum link, e cada rota encontrada é sondada para autenticação ausente com requisições somente de leitura.

Duas decisões definiram o produto.

A primeira é que o scan é consciente da stack. Identificada a plataforma, templates condicionais entram em cena: regras de Row Level Security no Supabase, regras de segurança no Firebase, server actions no Next.js. Um scan genérico gasta a atenção do usuário com ruído; este reporta o que aquela stack especificamente expõe.

A segunda é o relatório, e é ela que define o produto. Cada achado é reescrito em linguagem direta — "tabelas do Supabase acessíveis usando apenas a chave pública, sem Row Level Security habilitado" no lugar de um identificador de template — e vem com um prompt de correção pronto para colar de volta na ferramenta que gerou o site. O ciclo fecha onde o usuário já está, em vez de terminar num PDF que ele não sabe executar.

A infraestrutura acompanha essa escolha: Next.js e Supabase na Vercel, o scanner isolado em EC2 porque varredura de rede não divide processo com aplicação web, Inngest orquestrando os jobs assíncronos e Stripe no pagamento. O relatório sai em três idiomas.

O resultado

O produto está em produção e teve seu primeiro pagamento real validado em 30 de abril de 2026. Por trás dele há 1.200 testes automatizados: 639 na aplicação web e 561 no scanner.

Esse último número é o que mais nos interessa como estúdio, e não é vaidade de cobertura. Um scanner de segurança que erra é pior do que scanner nenhum — um falso negativo dá alta a um site vulnerável e ainda entrega ao dono a confiança de que está tudo bem. Os 561 testes do scanner existem para que cada um dos 47 checks continue significando exatamente o que diz que significa depois de cada alteração. É a parte do trabalho que o cliente nunca vê e sem a qual o relatório não poderia ser levado a sério.

Back to portfolio