Programação Vibe e a violação da aplicação Tea: Por que a segurança não pode ser uma reflexão tardia
Porque é que a governação, a visibilidade e as barreiras de segurança são importantes no desenvolvimento moderno de aplicações
Principais conclusões:
- A segurança deve ser priorizada desde o início: MVPs apressados e desenvolvimento terceirizado muitas vezes negligenciam medidas de segurança críticas, levando a vulnerabilidades.
- Configurações incorretas da API são um vetor de violação comum: ambas as violações da aplicação Tea foram causadas por políticas de autenticação e autorização inadequadas.
- A "codificação Vibe" é arriscada para aplicações em produção: o desenvolvimento rápido e desestruturado pode funcionar para protótipos, mas não para aplicações que lidam com dados sensíveis.
As recentes violações de dados da aplicação de encontros tea são exemplos clássicos de práticas inadequadas de desenvolvimento, segurança e operações (DevSecOps). Esta aplicação é uma plataforma de segurança de encontros exclusiva para mulheres que permite aos subscritores partilharem as suas experiências numa comunidade privada. A app oferece várias ferramentas, incluindo um chat em grupo e a capacidade de avaliar e rever homens através de um processo semelhante a uma avaliação no Yelp. À parte das preocupações de privacidade, a app utilizava inteligência artificial (IA) e identificação fotográfica oficial do governo (ou verificada de outra forma), como cartas de condução, para garantir que a subscritora era do sexo feminino.
Este processo de verificação, juntamente com o chat em grupo e a funcionalidade de mensagens pessoais, são as razões pelas quais estamos aqui. De acordo com o fundador, a aplicação original Tea foi construída por uma equipa de dois desenvolvedores contratados através de Toptal – e estou a adivinhar que as falhas se devem à falta de preocupação com a segurança durante a fase de produto mínimo viável (MVP).
Ambas as violações - a fuga original da base de dados Firebase (DB) e a fuga subsequente dos chats - aconteceram devido ao problema padrão que afecta as interfaces de programação de aplicações (API), tal como descrito pelo projeto Open Worldwide segurança de aplicações (OWASP). Especificamente, ambas foram causadas por políticas de autenticação e autorização incorrectas. O primeiro é o vazamento de dados padrão do Firebase, que acontece quando as políticas de segurança não são configuradas manualmente - algo que é amplamente conhecido há muito tempo. A segunda é mais flagrante: qualquer utilizador pode utilizar a sua chave API para descarregar as conversas de outros utilizadores. A equipa de desenvolvimento não identificou nem corrigiu estes problemas enquanto a aplicação era um alvo de grande visibilidade para ser explorada. A equipa deve provavelmente passar algum tempo a rever este documento da OWASP para melhorar os seus processos de segurança.
A codificação de "vibe" está na moda—não apenas nas comunidades de programação, mas também nos círculos de gestão de produtos. Muitas empresas agora tentam criar gestores de produto (PMs) full-stack que lidam com tudo, desde requisitos até à criação de aplicações e, presumivelmente, ficam acordados durante a noite como suporte de produção. O consenso geral — e com o qual eu concordo — é que isso é uma má ideia. Embora um PM técnico possa criar uma prova de conceito (PoC) ou protótipo, código de "vibe" de qualidade de produção — não, obrigado.
A aplicação Tea demonstra porque isto é uma má ideia. Mesmo que não saibamos se a aplicação foi programada com vibrações, foi um fundador não técnico a subcontratar o desenvolvimento original a freelancers. As alucinações não afetam apenas as respostas – também podem afetar a segurança. A IA que está a utilizar compreende conceitos básicos de segurança? Se está preocupado em lançar uma aplicação funcional a qualquer custo, o código será compreensível? E quando enfrentar dívida técnica, como irá identificar e resolver problemas? Resolver e corrigir código legado escrito por um ser humano é extremamente doloroso – mesmo quando adicionam comentários a afirmar “Não apagar esta variável de ambiente!”
Comentário de Francios Chollet sobre o código legado de IA generativa
Francios Chollet, criador da biblioteca de aprendizagem profunda Keras, coloca isto num contexto muito melhor no tweet acima. A questão é que os engenheiros de software estarão a corrigir a confusão gerada por IA de 'código de pizza de espaguete com fusilli de pesto e cheeseburger de ananás.' Hoje em dia, as pessoas estão presas a manter código adaptado escrito há muito tempo, usando uma base de dados Access cuja palavra-passe foi esquecida há muito tempo. Ou os artigos regulares que falam sobre como os programadores experientes em Common Business-Oriented Language (COBOL) que conseguem entender a lógica de negócios são altamente valorizados porque mais ninguém consegue entender e corrigir sistemas legados.
Ou como um meme diz:
Meme de programação baseado em The Office, via Reddit
Em geral, a automação é uma coisa boa. Se conseguir realizar o seu trabalho mais rapidamente e passar para atividades mais produtivas, isso é uma coisa boa. No entanto, o problema surge quando as ferramentas de automação carecem de devidas barreiras de segurança. Dada a situação atual de proliferação de ferramentas de segurança que mal comunicam entre si, isto é um desafio considerável. É necessário ter governança, seguida de visibilidade, seguida de aplicação de barreiras, e precisava de ter tudo isto implementado há alguns anos. A segurança já é uma questão difícil de resolver, e o aumento da automação potenciada por IA generativa vai piorar esta situação. As apps de low-code/no-code são como estagiários a quem são dadas as chaves para implementações de produção.
Já passámos por isto antes e continuamos a repetir os mesmos erros. Common Vulnerabilities and Exposures (CVE)-2025-53773 é uma vulnerabilidade de injeção de prompt no Copilot que permite a um atacante executar código localmente. Isto é semelhante aos riscos de injeção de comandos descritos pela OWASP, que existem desde o início da segurança na web. Ou veja este exemplo que é menos focado em programação – Agentes de IA que trabalham com o Notion. Estes agentes não têm os salvaguardas corretos de controlo de acesso baseado em funções (RBAC) e podem aceder a informações em todo o património de dados. Os prompts certos podem colocar a informação errada nas mãos de um atacante. A investigação mostrou riscos de exfiltração por injeção de prompt, e o Notion anunciou desde então salvaguardas adicionais.
A governação e a segurança são mais importantes do que nunca. Colocar a governação e as barreiras certas no lugar é fundamental – e o mesmo se aplica à defesa em profundidade para as suas aplicações existentes.
Captura de ecrã de tentativa bloqueada de acesso ao OpenAI
O Relatório de Invasão de Segurança de E-mail de 2025
Principais conclusões sobre a experiência e o impacto das violações de segurança de e-mail em organizações em todo o mundo
Subscreva o Blogue Barracuda.
Inscreva-se para receber destaques sobre ameaças, comentários do setor e muito mais.
Relatório de Insights do Cliente MSP 2025
Uma visão global sobre o que as organizações precisam e desejam dos seus provedores de serviços geridos de cibersegurança