Vibecoding
5 hábitos de segurança que salvam seu projeto
Segurança não é uma feature que você adiciona no fim. É um hábito que você repete todo dia.
Segurança não é um botão que você aperta antes de subir. Não é uma ferramenta que resolve tudo. É hábito. Coisa pequena que você repete até virar automático.
Segundo a Veracode, código gerado por IA tem 2,74x mais chance de trazer vulnerabilidade. Ir rápido com IA sem hábito de segurança é acelerar em direção ao muro.
Meu take: você não precisa ser especialista. Precisa de cinco hábitos. Esses cinco cobrem a maioria dos incidentes de projeto pequeno.
Hábito 1: segredo nunca no código
Chave de API, senha de banco, token. Nada disso entra no código. Vai pra variável de ambiente.
const apiKey = process.env.OPENAI_API_KEY
E o arquivo com os valores entra no gitignore:
.env
O erro que mais custa caro é chave commitada num repositório público. Bot varre o GitHub em minutos e usa sua chave. Você acorda com uma fatura absurda. Segredo fora do código, sempre.
Hábito 2: dependência atualizada
Cada biblioteca que você instala é código de outra pessoa rodando no seu app. Uma delas tem falha, você tem falha.
Rode de tempos em tempos:
npm audit
Ele lista o que tem vulnerabilidade conhecida. Atualize o que der. Não instale pacote aleatório sem olhar quem mantém. Menos dependência, menos superfície de ataque.
Hábito 3: nunca confie no input
Todo dado que vem de fora é suspeito até prova em contrário. Formulário, URL, requisição de API. Valide tudo, no servidor.
Vazio, tipo errado, tamanho gigante, caractere perigoso. Barre antes de usar. O ataque entra pelo campo que você achou que ninguém ia mexer. Input não validado é porta destrancada.
Hábito 4: permissão fechada por padrão
O padrão do seu sistema deve ser "ninguém pode", e você libera o que precisa. Não o contrário.
No Firebase, a regra aberta é fatal:
allow read, write: if true;
Isso libera seu banco pro mundo. Qualquer um lê e escreve. O certo é liberar só pro dono do dado:
allow read, write: if request.auth.uid == resource.data.ownerId;
Comece fechado. Abra o mínimo. Toda permissão a mais é risco a mais.
Hábito 5: backup testado
Backup que você nunca restaurou não é backup. É esperança.
Configure exportação automática do banco. Guarde em lugar separado. E uma vez por mês, restaure num ambiente de teste pra confirmar que os dados voltam inteiros.
O dia que você precisar do backup é o pior dia pra descobrir que ele não funciona.
O que esses cinco têm em comum
São todos preventivos. Nenhum deles é heroísmo depois do incidente. São coisa chata que você faz antes, quando parece que não precisa.
É exatamente aí que está o valor. Segurança boa é invisível. Ninguém elogia o app que não foi hackeado. Mas o que foi hackeado, todo mundo lembra.
Vibecoding com engenharia é isso: a parte que não aparece na demo é a que salva o projeto. Cinco hábitos. Repete até virar automático.
A decisão é sua.
Perguntas frequentes
Perguntas rápidas
+Preciso ser especialista em seguranca?
Nao. Esses cinco habitos cobrem a maioria dos incidentes de projeto pequeno. Nao e sobre saber tudo, e sobre repetir o basico.
+Qual habito importa mais?
Nao vazar segredo. Chave de API no Git publico e o erro que mais custa caro e mais rapido explode.
+Da pra automatizar?
Boa parte sim. Scanner de segredo, atualizacao de dependencia e backup podem rodar sozinhos. Configura uma vez.
Continue lendo
Como não virar refém de uma ferramenta de IA
A ferramenta que você ama hoje pode dobrar de preço, mudar de dono ou fechar amanhã. Não construa em cima de uma só.
VibecodingO que fazer quando a IA te dá código que você não entende
A tentação é apertar aceitar e seguir. Não faça. Código que você não entende é código que você não mantém.
VibecodingPor que backup não é opcional
Existe quem faz backup e quem ainda não perdeu tudo. Você escolhe de qual lado ficar antes ou depois.