llm 0.37.2 fecha vazamento: chave da OpenAI podia ir para um provedor terceiro
Duas vulnerabilidades foram encontradas na ferramenta CLI llm, de Simon Willison: a chave da OpenAI podia ir parar em um provedor terceiro conectado como endpoint compatível com a OpenAI. O problema foi relatado pelo pesquisador Daniel de Araujo. A versão 0.37.2 fecha as duas brechas. Se você usa o llm tanto com a OpenAI quanto com APIs de terceiros, atualize e considere rotacionar a chave.
Processado por IA de Simon Willison; editado por Hamidun News
O utilitário llm, de Simon Willison, tornou-se para muitos desenvolvedores um canivete suíço para conversar com modelos de linguagem pelo terminal. Ele acessa não só a OpenAI, mas qualquer provedor com API compatível com a OpenAI. Foi justamente nessa flexibilidade que o problema apareceu: a versão 0.37.2 corrige uma vulnerabilidade pela qual uma chave secreta da OpenAI podia ser enviada ao destinatário errado.
O que aconteceu
O llm tem um mecanismo para conectar endpoints de terceiros por meio do arquivo extra-openai-models.yaml. A partir da versão 0.37, ele é gerenciado por um comando dedicado, llm openai endpoint add. A ideia é simples: muitos provedores e servidores locais replicam o formato da API da OpenAI, então podem ser descritos em uma configuração e usados como modelos comuns.
O pesquisador Daniel de Araujo descobriu duas situações em que sua chave da OpenAI podia ir parar em um endpoint de terceiros. Há dois avisos de segurança no GitHub sobre o tema: GHSA-v9h7-jj4g-f862 e GHSA-r639-rr7r-x72w.
- A chave de
api_key_namenão estava salva. Para um endpoint de terceiros, você informa com que nome sua chave está armazenada. Se essa chave nunca foi salva, o utilitário não deveria colocar nenhuma outra no lugar. Pela descrição da vulnerabilidade, ele usava a chave da OpenAI configurada. - Um modelo com
responses: truefoi executado com-o chat_completions 1. Essa combinação mudava a requisição para outro modo de funcionamento, e a chave também podia ir para o lugar errado.
Nos dois casos não é preciso má intenção. Basta esquecer de adicionar uma chave ou passar uma opção, e o segredo acaba com um terceiro.
Por que isso é ruim
Imagine uma configuração típica. Você tem no llm uma chave da OpenAI salva para tarefas de trabalho. Conectou o endpoint de um provedor pequeno ou de um proxy alheio para comparar modelos. Escreveu o nome da chave na configuração, mas ainda não adicionou a chave em si. Você executa o comando, e uma requisição com sua chave da OpenAI segue para um servidor que você não controla.
Esse provedor fica com uma chave funcional, com o seu limite e a sua cobrança. Qualquer endpoint de terceiros, especialmente um caseiro ou experimental, pode potencialmente registrá-la em log. É um vazamento comum de segredo por erro de configuração, e não um ataque exótico.
O que fazer
- Atualizar para o llm 0.37.2. É o passo principal e fecha os dois cenários.
- Abrir o
extra-openai-models.yamle ver quais endpoints estão descritos. Verifique se cada um temapi_key_namee se a chave correspondente está realmente salva. - Lembrar se você já executou modelos com
responses: truejunto com-o chat_completions 1. Se sim, e o endpoint não pertence à OpenAI, é melhor considerar a chave comprometida. - Na menor dúvida, emitir uma nova chave da OpenAI. Sai barato, e não há necessidade de risco extra.
Há também uma lição geral. As chaves de provedores diferentes devem ser rigorosamente separadas. Se você tem vários endpoints, a chave da OpenAI não deve ser o valor que a ferramenta usa por padrão. Para experimentos com APIs de terceiros, vale criar chaves separadas com limites restritos.
Limitações
A nota de lançamento não traz detalhes sobre como exatamente a vulnerabilidade é explorada, nem dados sobre casos reais de vazamento. O autor descreve o problema como um envio acidental da chave, e não como um ataque que possa ser lançado remotamente. Isso reduz a gravidade, mas não elimina a necessidade de atualizar: erros de configuração acontecem com todo mundo.
Uma classe parecida de bugs aparece em outras ferramentas em que um mesmo cliente trabalha com vários provedores. Tudo o que aceita um endereço «compatível com a OpenAI» e ao mesmo tempo guarda uma chave da OpenAI merece ser verificado quanto ao mesmo comportamento: o que é usado quando não se encontra uma chave para o endereço.
Conclusão prática
Se você usa o llm apenas com a OpenAI, isso quase não afeta você. Se conectou endpoints de terceiros, atualize agora e confira a configuração. E diante de qualquer combinação suspeita de opções, emita uma nova chave.
- 12 de nov. de 2026Jensen Huang deixa o cargo de CEO da Nvidia: empresa perde US$ 1,4 trilhão em duas semanas
- 12 de nov. de 2026Sindicato de Oakland garante requalificação em vez de demissões por causa da IA: 94,1% votaram a favor da greve
- 12 de nov. de 2026Oito países, OpenAI e Anthropic prometem um «botão de desligar» para modelos de IA, mas sem prazos nem multas
- 12 de nov. de 2026OpenAI e ModRetro lançam console de US$ 200 para jogos criados no Codex
Perguntas frequentes sobre a notícia
O que aconteceu?
O llm tem um mecanismo para conectar endpoints de terceiros por meio do arquivo extra-openai-models.yaml. A partir da versão 0.37, ele é gerenciado por um comando dedicado, llm openai endpoint add. A ideia é simples: muitos provedores e servidores locais replicam o formato da API da OpenAI, então podem ser descritos em uma configuração e usados como modelos comuns. O pesquisador Daniel de Araujo descobriu duas situações em que sua chave da OpenAI podia ir parar em um endpoint de terceiros.
Por que isso é ruim?
Imagine uma configuração típica. Você tem no llm uma chave da OpenAI salva para tarefas de trabalho. Conectou o endpoint de um provedor pequeno ou de um proxy alheio para comparar modelos. Escreveu o nome da chave na configuração, mas ainda não adicionou a chave em si. Você executa o comando, e uma requisição com sua chave da OpenAI segue para um servidor que você não controla. Esse provedor fica com uma chave funcional, com o seu limite e a sua cobrança.
O que fazer?
Atualizar para o llm 0.37.2. É o passo principal e fecha os dois cenários. Abrir o extra-openai-models.yaml e ver quais endpoints estão descritos. Verifique se cada um tem api_key_name e se a chave correspondente está realmente salva. Lembrar se você já executou modelos com responses: true junto com -o chat_completions 1. Se sim, e o endpoint não pertence à OpenAI, é melhor considerar a chave comprometida. Na menor dúvida, emitir uma nova chave da OpenAI. Sai barato, e não há necessidade de risco extra.
Test Frontier LLMs & Autonomous Agents in One Workspace
Run Claude Opus 5.5, GPT-6, Gemini 3.1, and DeepSeek side-by-side in Nomad AI (nomadnet.ai) — unified model routing, deep research, and multimodal workflows under one subscription.
O essencial da IA — uma vez por semana
Sete histórias que realmente importaram, escolhidas a dedo. Sem ruído nem releases.
Pronto! Verifique seu e-mail para a confirmação.