Notícia Build·Desenvolvimento·Fonte: GitHub Changelog

GitHub depreca SBOM API síncrona com prazo até novembro

A SBOM API síncrona do GitHub foi depreciada em 12 de maio de 2026 e será removida em 13 de novembro. Quem usa o endpoint deve migrar para a nova API assíncrona.

Vitor Morais

Por Vitor Morais

Fundador do MochaLabz ·

A SBOM API síncrona do GitHub foi oficialmente depreciada em 12 de maio de 2026 e tem data de remoção marcada para 13 de novembro de 2026. Qualquer integração — CI/CD, script de auditoria de dependências ou pipeline de segurança — que ainda chama o endpoint síncrono tem seis meses para migrar para a nova API REST assíncrona lançada recentemente pela plataforma.

O que mudou e por que o GitHub migrou

O GitHub descreve a mudança de forma direta: "Following the recent release of the new Asynchronous SBOM REST API, the older, synchronous API is deprecated and slated for removal in six months, on November 13, 2026." A motivação central é performance e confiabilidade — a nova API calcula o SBOM uma vez, armazena em cache e disponibiliza o arquivo para download, eliminando o custo de recomputação a cada chamada.

SBOM (Software Bill of Materials) é o inventário de dependências de um repositório — libs, versões, licenças. Ele virou exigência prática em contratos com clientes maiores e em auditorias de segurança de supply chain. Quem automatiza a geração desse inventário via API do GitHub precisa reescrever essa parte do pipeline antes do prazo.

Impacto prático: o que precisa ser ajustado

  • Scripts de auditoria que chamam GET /repos/{owner}/{repo}/dependency-graph/sbom de forma síncrona precisam ser atualizados para o fluxo assíncrono: disparar o job, aguardar conclusão e baixar o arquivo gerado.
  • Pipelines de CI/CD (GitHub Actions, scripts locais) que dependem do retorno imediato do SBOM em JSON devem tratar o novo padrão de polling ou webhook.
  • Ferramentas de terceiros que consomem a API síncrona por baixo dos panos — vale checar se o fornecedor já anunciou compatibilidade com o endpoint assíncrono.
  • Projetos com clientes que exigem SBOM em entregas contratuais: o prazo de novembro pode colidir com janelas de congelamento de release de fim de ano.

Prazo não-negociável: 13 de novembro de 2026

Após essa data, chamadas ao endpoint síncrono retornarão erro. Não há indicação de extensão de prazo. Quem tem pipelines de segurança automatizados deve priorizar a migração agora, enquanto o endpoint antigo ainda responde para testes side-by-side.

Como funciona a nova API assíncrona

O fluxo da API assíncrona segue o padrão jobs do GitHub: uma chamada POST dispara a geração do SBOM em background; a resposta retorna um job_id. Uma segunda chamada GET com esse ID verifica o status (in_progress, completed) e, quando concluída, retorna a URL de download do arquivo. O resultado é cacheado — chamadas subsequentes para o mesmo estado do repositório entregam o arquivo já computado, sem reprocessamento.

// Exemplo simplificado — fluxo assíncrono const trigger = await fetch( `https://api.github.com/repos/${owner}/${repo}/dependency-graph/sbom/jobs`, { method: 'POST', headers: { Authorization: `Bearer ${token}` } } ); const { job_id } = await trigger.json(); // Poll até completar let sbomUrl = ''; while (!sbomUrl) { await new Promise(r => setTimeout(r, 3000)); const status = await fetch( `https://api.github.com/repos/${owner}/${repo}/dependency-graph/sbom/jobs/${job_id}`, { headers: { Authorization: `Bearer ${token}` } } ).then(r => r.json()); if (status.state === 'completed') sbomUrl = status.url; } const sbom = await fetch(sbomUrl).then(r => r.json());

Para projetos que geram SBOM em cada PR ou release, o padrão assíncrono reduz carga no pipeline — o cache evita reprocessar o grafo de dependências quando nada mudou desde o último commit relevante.

Quem já tem automações de segurança rodando em CI pode aproveitar o ajuste para revisar a estratégia completa de auditoria de dependências. O artigo infraestrutura mínima de segurança para operações pequenas cobre o conjunto de práticas que fazem sentido manter sem adicionar complexidade operacional desnecessária.

#github-sbom-api#sbom-assincrono#github-rest-api#seguranca-dependencias#depreciacao-api#supply-chain-seguranca

Para ler em seguida