parem de lançar apps vibecodados com segurança zero
Tá na hora de admitir: vibe coding veio pra ficar, gostando ou não. Mas segurança é uma preocupação ENORME e eu tô aqui pra ajudar um pouco.
Eu não vejo muito problema nisso, vibe coding tá substituindo o que costumavam ser os MVPs, o único problema é que como parece tão próximo da solução real, as pessoas esquecem que na verdade é só um MVP. E isso tá levando a riscos de segurança e vazamentos MASSIVOS. O mais recente que eu vi foi o Abrahub (todo mundo viu), uma plataforma totalmente vibe codada onde o criador falou no X algo tipo "A barreira do código morreu. Eu construí um software faturando 100k por mês sem saber programar". Ok... eu concordo que a barreira do código realmente morreu pra MVPs e provas de conceito, qualquer um consegue criar algo que aparentemente funciona. Aí ele disse: "Os 'puristas' da tech vão odiar esse vídeo, mas os resultados estão aí".
E quais exatamente são os resultados? Levou 2 minutos pra uma pessoa aleatória (salve pro Tiago) extrair dados pessoais de todo mundo da comunidade. Nem precisou hackear de verdade, tava tudo completamente exposto - sem proteção nas rotas (qualquer um conseguia pegar dados ou até virar admin simplesmente fazendo um request), repo público no github COM o .env commitado.. nem dá pra dizer que ele deixou a porta aberta, ele não tinha porta nenhuma.
Não sei vocês, mas pessoalmente eu não tenho muito medo de IA tomar meu emprego. Tá claro que enquanto a barreira do código tá sumindo, a barreira do software tá ficando mais definida. O que eu realmente tenho medo é de mais dados de pessoas vazando, então eu tô criando um checklist simples pra vibe coders. Se você tá fazendo vibe coding, provavelmente não sabe muito sobre software, então pede pro seu assistente de IA verificar essas coisas.
Note que isso não vai tornar seu app imune a ser hackeada, eu programo há quase uma década e NUNCA tenho 100% de confiança na minha segurança, sempre tem espaço pra melhorar. Isso é basicamente o primeiro passo pra colocar seu MVP no ar e NÃO CAGAR TUDO, mas pague um pentester de verdade pra encontrar as vulnerabilidades reais da sua aplicação assim que você tiver qualquer tração real.
Ah, e se você tá usando o FastroAI: a maioria dessas coisas já são checadas automaticamente antes de você fazer deploy, mas vale verificar (se não, começar com uma base sólida geralmente é uma boa ideia).
Então aqui estão, com o prompt pronto no repo do github pro seu assistente de IA checar:
- Banco de dados mal configurado (sem Row Level Security) - qualquer pessoa consegue ler/editar/deletar dados de outros usuários diretamente do banco
- Rotas de API desprotegidas (sem auth middleware) - seus endpoints estão completamente abertos, qualquer um consegue chamá-los sem fazer login
- Secrets commitados (.env no GitHub) - suas API keys, senhas do banco, etc. estão publicamente visíveis no seu repo
- Controle de acesso quebrado (IDOR) - trocar um ID na URL permite acessar a conta/dados de outra pessoa
- API keys secretas no código do frontend - qualquer pessoa consegue abrir o devtools do navegador e roubar suas keys
- Server-Side Request Forgery (SSRF) - atacantes conseguem fazer seu servidor buscar recursos internos que não deveria
- Sem proteção contra CSRF - um site malicioso consegue fazer requests em nome dos seus usuários logados
- Headers de segurança faltando - sua aplicação não diz pros navegadores ativarem proteções básicas como bloquear clickjacking
- CORS com wildcard - você tá dizendo pros navegadores "qualquer site pode fazer requests pra minha API", o que quase nunca é o que você quer
- Sem rate limiting - nada impede alguém de fazer brute-force em senhas ou spammar sua API com milhares de requests
- SQL injection - input do usuário vai direto nas queries do banco, permitindo atacantes ler/modificar/deletar seu banco inteiro
- Cross-site scripting (XSS) - atacantes conseguem injetar scripts que rodam no navegador de outros usuários e roubar suas sessões
- Webhooks do Stripe não verificados - qualquer pessoa consegue forjar uma confirmação de pagamento e ter acesso a features pagas de graça
- Upload de arquivos inseguro - usuários conseguem fazer upload de arquivos maliciosos que são executados no seu servidor
- Mensagens de erro verbosas - seus erros expõem detalhes internos como caminhos de arquivo, estrutura do banco, stack traces
- Hashing de senha fraco - se seu banco vazar, atacantes conseguem quebrar as senhas de todo mundo em minutos
- Pacotes alucinados (slopsquatting) - sua IA sugeriu um pacote que não existe, e alguém publicou um malicioso com aquele nome
Lance seu produto rápido, mas não esqueça de fazer O MÍNIMO.