Seu código funciona. Mas você não faz ideia do porquê?
Foi exatamente assim que percebi que só consumir vídeo e tutorial não era o suficiente... Eu sabia repetir, mas não sabia pensar. Sabia usar ferramentas, mas não entendia conceitos. E quando algo saía do roteiro, eu travava.
O cara upou TODAS as chaves API no github dele (.env), deixou o endpoint EXPOSTO sem autenticação nenhuma.
Ele foi responsável por um INCIDENTE de segurança.
Cometeu ao ilícito.
Violou a lei...
Foi desumilde....
E aí:
"Pessoal...tem muita gente ruim nesse mundo".
Software horror: litellm PyPI supply chain attack.
Simple `pip install litellm` was enough to exfiltrate SSH keys, AWS/GCP/Azure creds, Kubernetes configs, git credentials, env vars (all your API keys), shell history, crypto wallets, SSL private keys, CI/CD secrets, database passwords.
LiteLLM itself has 97 million downloads per month which is already terrible, but much worse, the contagion spreads to any project that depends on litellm. For example, if you did `pip install dspy` (which depended on litellm>=1.64.0), you'd also be pwnd. Same for any other large project that depended on litellm.
Afaict the poisoned version was up for only less than ~1 hour. The attack had a bug which led to its discovery - Callum McMahon was using an MCP plugin inside Cursor that pulled in litellm as a transitive dependency. When litellm 1.82.8 installed, their machine ran out of RAM and crashed. So if the attacker didn't vibe code this attack it could have been undetected for many days or weeks.
Supply chain attacks like this are basically the scariest thing imaginable in modern software. Every time you install any depedency you could be pulling in a poisoned package anywhere deep inside its entire depedency tree. This is especially risky with large projects that might have lots and lots of dependencies. The credentials that do get stolen in each attack can then be used to take over more accounts and compromise more packages.
Classical software engineering would have you believe that dependencies are good (we're building pyramids from bricks), but imo this has to be re-evaluated, and it's why I've been so growingly averse to them, preferring to use LLMs to "yoink" functionality when it's simple enough and possible.
🚨 ISSO É MUITO, MUITO GRAVE
O pior pesadelo da indústria de software acabou de acontecer.
Alguém envenenou o LiteLLM no PyPI. 97 milhões de downloads por mês. Um simples "pip install" roubava TUDO da sua máquina.
Chaves SSH. Credenciais AWS/GCP/Azure. Kubernetes configs. Wallets de crypto. Senhas de banco de dados. Variáveis de ambiente. Tudo.
Mas a parte mais assustadora não é essa.
O malware usa um arquivo .pth que executa automaticamente em TODO processo Python. Você nem precisa importar a biblioteca. Basta ter instalado. Cada script Python na máquina ativava o payload.
Mas aqui está o detalhe que deveria tirar seu sono:
O LiteLLM existe pra uma coisa: ser o gateway único entre seu código e todos os provedores de IA. OpenAI, Anthropic, Google, dezenas de outros. Por definição, o ambiente onde ele roda concentra TODAS as suas API keys de LLM num lugar só.
O atacante não escolheu um pacote qualquer. Escolheu o único que já nasce com acesso a cada chave de cada provedor da sua organização.
Targeting cirúrgico.
E o pior: o ataque só foi descoberto porque o atacante escreveu código ruim.
Vibe coding nos salvou. Dessa vez.
O padrão que ninguém quer reconhecer:
→ 19 de março: TeamPCP compromete o Trivy (scanner de vulnerabilidades da Aqua Security)
→ 23 de março: Checkmarx KICS comprometido
→ 24 de março: LiteLLM envenenado via pipeline CI/CD do próprio Trivy
→ Credenciais roubadas alimentam o próximo ataque
O que a Wiz chamou de "loop": ferramenta de segurança comprometida → pacote popular comprometido → credenciais de dezenas de milhares de ambientes nas mãos do atacante → próximo alvo.
A mensagem do TeamPCP no Telegram: "Essas empresas foram feitas pra proteger suas supply chains e não conseguem proteger nem as delas."
Karpathy resumiu perfeitamente: cada vez que você instala qualquer pacote, está confiando em cada dependência na árvore inteira. E qualquer uma pode estar envenenada.
A engenharia de software clássica ensina que dependências são boas. Que estamos construindo pirâmides com tijolos. Essa era acabou.
O próximo ataque não vai ter um bug que crasha a máquina pra te avisar.
Galera tô começando um empreendimento novo
O conceito é uma loja no shopping que vai vender uma midia fisica em formato circular com dados gravados através de laser
É bem disruptivo
Esse aqui é o MVP ⬇️
@redesocialdelx Se tivesse testes de verdade (funcionais, de carga, regressão), esses erros que são recorrentes, n passavam pra prod desse jeito... O app dá a sensação de n existe validação msm
Globoplay caiu no app e no site. Justo em dia de paredão no BBB alcançando pontuacao boa de audiência...
Eu como Dev, sinto cheirinho de GMUD com erro em prod que passou liso em hom. Em algum lugar tem um coordenador interrompendo a cerveja pra aprovar rollback kkkkkkkkkkk slk
#globoplay #BBB26
Verdade, esse é o mais engraçado, os caras tem dinheiro pro marketing, apresentador e prêmio, mas não tem pra arrumar o próprio aplicativo??? Kskskx O suporte sempre empurra a culpa pra internet do usuário, nunca assume falha do sistema. E no fim, quem paga o pay per view é quem sai no prejuízo
“Mano, se o vibe coding realmente virar padrão, a gente vai criar um “apagão” de seniors: menos gente aprendendo fundamentos e mais gente só orquestrando prompts. Daqui a alguns anos, sistemas complexos (performance, confiabilidade, segurança, arquitetura) vão ficar caros e muito arriscados de manter: ou entram em extinção, ou viram algo de baixa qualidade totalmente operado por IA”
Edilson Capetinha no #BBB26
Hoje o clube do livro sobre k-vizinhos foi sensacional... @Vini_GAlmeida na @berolabx só conteúdo bacana, graças a Deus!!! Venham fazer parte, cupom GAMA 50% de desconto :D