npm e GitHub Actions lembram que CI também é produção; TypeScript 7 troca o motor para Go

Placa industrial de alerta de CI com GitHub Actions, tag v1 mutável, hash completo e pacote npm.

Quando o build recebe segredo, publica pacote e decide deploy, ele já está em produção, mesmo rodando num runner descartável. Hoje isso apareceu em pacote npm recém-publicado, ação de terceiro e tag que muda de lugar sem aparecer no diff do seu app.

npm, GitHub Actions e tags mutáveis viraram risco de produção no CI

Em maio, falamos de GitHub Actions como superfície de produção. Agora o delta é bem concreto: a StepSecurity publicou, em 25 de junho, que 20 pacotes npm da Leo Platform foram comprometidos numa leva coordenada de versões maliciosas publicada em 24 de junho.

Segundo a empresa, essas versões saíram dentro de uma janela de três segundos e carregavam um kit voltado a roubo de credenciais de CI/CD. A soma dos pacotes gira em torno de 13.600 downloads por semana. O número não tem cara de catástrofe do ecossistema inteiro, mas CI com segredo por perto não precisa de milhões de instalações para virar dor de cabeça.

A StepSecurity também descreveu, no dia 24, comprometimentos em duas ações do GitHub: simonecorsi/mawesome e codfish/semantic-release-action. Nos dois casos, ela reportou commits maliciosos empurrados para o repositório e tags de versão apontando para outro lugar. Quem usava a ação por tag podia rodar código diferente sem mudar uma linha no repositório da aplicação.

Essa é a parte que costuma parecer detalhe até quebrar. Tag é apelido mutável. Hash completo de commit é endereço bem mais específico. Em caminho crítico de build, publicação, deploy e release, essa diferença não é preciosismo de segurança. É controle de mudança.

O contexto de Snyk sobre Phantom Gyp e Miasma lembra outra porta. Pacote npm pode executar coisa na instalação por caminhos que não aparecem como um script óbvio no package.json; binding.gyp, por exemplo, entra no fluxo de build nativo e pode virar veículo de execução. Se isso acontece dentro de um runner com token de GitHub, chave de registro, segredo de cloud ou credencial de release, o pacote deixou de ser só dependência.

Para reduzir o estrago, o caminho é chato e bom: pinar ações críticas por hash completo de commit, reduzir permissão do token do runner, usar lockfile com disciplina, criar uma espera mínima antes de consumir versão recém-publicada em CI e controlar scripts de instalação quando fizer sentido. Se uma referência afetada rodou durante a janela ruim, trate segredo acessível como exposto e investigue antes de seguir vida.

Fontes: StepSecurity sobre Leo Platform, StepSecurity sobre simonecorsi/mawesome, StepSecurity sobre codfish/semantic-release-action e Snyk sobre Phantom Gyp/Miasma.

Anthropic acusa Alibaba de consultar Claude em escala para distillation

Os números são grandes, então a linguagem precisa ficar com o pé no chão. Reuters e Business Insider reportaram que a Anthropic enviou uma carta, em 10 de junho, a senadores dos Estados Unidos, acusando operadores ligados à Alibaba e à família Qwen de usar Claude em escala para extrair capacidades do modelo.

Pelos relatos públicos, a Anthropic fala em mais de 28,8 milhões de trocas com Claude entre 22 de abril e 5 de junho de 2026, usando quase 25.000 contas fraudulentas. A suspeita atribuída à empresa é que esse volume teria servido para melhorar capacidades de engenharia de software e raciocínio agente em outros modelos.

Distillation, nesse contexto, é uma ideia simples de explicar e difícil de policiar: você consulta um modelo forte muitas vezes, guarda as respostas e usa esse material para treinar ou ajustar outro modelo. É como pedir ajuda ao aluno mais avançado da sala em todos os exercícios, só que com API, conta falsa e planilha de custo no meio.

As reportagens públicas não trazem comprovação independente da conduta atribuída à Alibaba. Também não dá para afirmar, com essas fontes, que um modelo específico ganhou uma capacidade específica por causa dessa campanha. O fato jornalístico aqui é a acusação da Anthropic e os números reportados a partir da carta.

Para dev, a história sai rápido da geopolítica e cai em arquitetura. Saídas de modelo viraram ativo estratégico. API de modelo virou superfície de abuso. E custo virou peça de desenho de sistema, especialmente quando modelos open-weight mais baratos pressionam o preço de modelos fechados. Open-weight também não é sinônimo automático de open-source; é outro tipo de abertura, com outra conversa de licença, execução e controle.

Podemos esperar mais verificação de identidade, limite de taxa, detecção de abuso, contrato com cláusula sobre distillation e roteamento de modelo por custo. Quem monta agente de código também entra nessa conta: cada chamada grande demais vira dinheiro, risco e sinal para alguém monitorar.

Fontes: Reuters, Business Insider e James O’Claire.

TypeScript 7 RC troca o motor para Go sem trocar a linguagem

O TypeScript 7.0 RC já está disponível via typescript@rc, e a mudança por baixo é grande: a Microsoft portou o compilador para Go. A promessa oficial é manter a semântica do TypeScript 6, mas ganhar velocidade por código nativo e paralelismo com memória compartilhada.

O número que chama atenção é “muitas vezes cerca de 10x mais rápido”, segundo a Microsoft. Use isso como motivo para testar, não como desculpa para atualizar CI sem medir. Código grande, plugin, monorepo, configuração de editor e tipo de erro podem mudar bastante a sensação real.

A migração também tem freio explícito. O suporte de editor passa pelo Language Server Protocol, então a história não fica presa só ao VS Code. Ao mesmo tempo, a API programática estável não deve chegar antes do TypeScript 7.1. Para ferramenta que usa a API antiga, a própria Microsoft aponta o caminho de convivência com @typescript/typescript6 e tsc6.

O post oficial é de 18 de junho. Para quem vive com tsc segurando feedback em projeto grande, o RC merece uma branch de teste: medir type-check, editor, CI, integração com bundler e tudo que encosta na API do compilador. Se a promessa chegar perto no seu projeto, o ganho é menos glamour e mais café que não esfria esperando erro de tipo.

Fonte: Microsoft DevBlogs.

CVE-2026-20245 virou acesso root no Cisco SD-WAN, com rastros apagados

Ontem a Cisco apareceu aqui por Unified CM. Hoje é outro produto, outra falha e outro tipo de lição operacional: Cisco Catalyst SD-WAN, CVE-2026-20245 e limpeza anti-forense descrita pela Mandiant.

A Mandiant, no blog do Google Cloud, diz que identificou um invasor mirando infraestrutura SD-WAN em um provedor de comunicação. O caminho público descrito passa por exploração da CVE-2026-20245 para escalar de acesso administrativo para root em controladores Cisco Catalyst SD-WAN.

A Cisco trata o problema como uma falha de escalada de privilégio em controladores Catalyst SD-WAN e aponta versões corrigidas. O advisory da Cisco não traz workaround. Isso deixa pouco espaço para criatividade: inventariar versão, aplicar correção e entender se houve acesso antes do patch.

A parte que mais pesa na análise da Mandiant vem depois. O invasor teria apagado e restaurado arquivos e configurações modificadas, mexendo na trilha que alguém usaria para reconstruir o incidente. Dispositivo de rede costuma ter confiança demais e telemetria de endpoint de menos. Quando algo assim cai, o time não pode olhar para o appliance como se fosse só uma caixa preta que roteia pacote.

Para defesa, a lista fica bem direta: patch nos controladores afetados, caça por peering não autorizado, contas locais suspeitas, restauração estranha de configuração, alteração de administrador padrão e exposição de certificado ou credencial. E o limite importa: isso não é uma notícia sobre “todo Cisco da internet”. É um caso específico de Catalyst SD-WAN, com exploração observada em um ambiente de provedor e escopo público ainda limitado.

Fontes: Google Cloud / Mandiant, Cisco Security Advisory e BleepingComputer.

Destaques rápidos para hoje

  • Python sem GIL está mais perto do teste real. A LWN resumiu a fala de Thomas Wouters na PyCon US 2026 sobre free-threaded Python: a penalidade de execução single-thread vem caindo de Python 3.13 para 3.14, e um caminho de ABI mais estável deve ajudar wheels e extensões. Ainda não é hora de declarar o GIL morto para todo mundo; é hora de medir workload, memória, latência e dependências com build free-threaded antes que o padrão mude lá na frente. Fonte: LWN.net.

  • Cloudflare abriu OAuth self-managed e tratou revogação como confiabilidade. Clientes agora podem criar clientes OAuth para acesso delegado às APIs da Cloudflare, reduzindo dependência de token cru em integração que precisa de consentimento e revogação. A engenharia por trás também interessa: o texto fala em Hydra, CREATE INDEX CONCURRENTLY, estratégia blue-green e fila/replay de revogações para não ressuscitar acesso que já tinha sido cortado. Fonte: Cloudflare Blog.

  • PEP 832 quer parar a adivinhação de ambiente Python. Brett Cannon explicou a proposta de descoberta de virtualenv com .python-envs, uma tabela [workflow] no pyproject.toml e um Workflow Server Protocol via JSON-RPC em stdin/stdout. A ideia mira editores e agentes de IA também, porque escolher o interpretador errado em projeto Python é um jeito educado de perder meia tarde. Ainda é proposta em discussão. Fonte: Brett Cannon.

  • Node.js 26.4.0 mexe em loaders, VFS e rede no canal Current. A release de 24 de junho trouxe package maps para loaders, buffers fornecidos pelo chamador em readFile, um subsistema mínimo node:vfs, compressão de certificado TLS e ajuste fino de keepalive TCP com opções como TCP_KEEPINTVL e TCP_KEEPCNT. É Current, não LTS; bom para autor de ferramenta testar, ruim para sair atualizando produção só porque a lista ficou bonita. Fonte: Node.js Blog.

  • Token de agente já entrou na revisão de arquitetura. A InfoWorld reportou o alerta da Gartner de que custos de token para coding agents podem chegar perto de números de folha de pagamento, com a ressalva de que a comparação usa média global e varia por país e uso real. Um texto técnico separado mostrou exemplos menores, mas bem concretos, em que APIs nativas como URLSearchParams e FormData reduzem código gerado e tokens de saída. Orçamento, roteamento por tarefa, higiene de contexto e estilo de código agora fazem parte da conta. Fontes: InfoWorld e jimmont.com.

Acompanhamento de tendências do dia

Depois de Sentry/MCP e sandbox de Claude no dia 22 e Lambda MicroVMs no dia 23, a conversa de agentes continua saindo da caixa de prompt. O padrão de hoje é menos “modelo esperto” e mais infraestrutura: sessão durável, segredo local, banco com limite, gateway MCP e controle fora do próprio agente.

O Latent Space chamou esse movimento de meta-harness. O nome pode soar como categoria inventada em reunião longa, mas as peças verificáveis são familiares. Go Micro fala em runtime com service discovery, workflows duráveis, gateway MCP, gateway Agent2Agent e deploy por SSH. Flue vende um harness em TypeScript para agentes duráveis, com recuperação de sessão, sandbox e ferramentas.

Tabularis entra pela porta do banco: workspace SQL desktop com suporte a MCP, PostgreSQL, MySQL/MariaDB e SQLite, mantendo credenciais no keychain do sistema. Hasp entra pela porta do segredo: cofre local criptografado que tenta entregar segredo para comando e ferramenta sem colocar o valor dentro do contexto do agente.

O paper Unfireable Safety Kernel leva a conversa para controle de execução. A tese é que defesa dentro do runtime do agente pode ser alcançada por entrada influenciada. A proposta passa por separação de processo, checagem antes da ação, comportamento fail-closed e evidência verificável fora do modelo. As fontes citam Rust e claims de prova com SMT/Kani, mas isso ainda é pesquisa, não selo mágico de produção.

O padrão já importa antes de existir vencedor claro. Se o agente vai abrir terminal, consultar banco, chamar MCP ou mexer em deploy, alguém precisa decidir onde fica o segredo, quem aprova ação irreversível, como recuperar sessão quebrada e que log sobrevive quando o modelo acha que estava tudo certo.

Fontes: Latent Space, Go Micro, Flue, Tabularis, Hasp e arXiv.

Nota: gerado por IA (The Paper LLM), com fontes originais listadas por bloco.

Comentários

No seu e-mail

Newsletter

Junte-se a centenas de outros desenvolvedores e receba dicas e conteúdo técnico diretamente na sua caixa de entrada. Sem SPAM ou publicidade. Apenas conteúdo de qualidade.