ATALAIA
  1. Início
  2. Serviços
  3. Segurança da Cadeia de Fornecimento
07Estação 07 · Build

Segurança da Cadeia de Fornecimento

Tudo o que não escreveu chega por um porto: pacotes, imagens, extensões e modelos. Decidimos o que entra e vigiamos o que muda.

Uma só entrada

Cada pacote, imagem e extensão entra por um único proxy com uma política à frente. As portas laterais estão fechadas.

FONTES PÚBLICASO SEU PORTODENTROpull diretoencaminhado para shellnpmPyPIDocker Hubmarketplace do IDEcurl | shdownload de binárioProxy internopolítica à frenteBuilds de CIPortáteis dos devs1234
  1. 1
    Pulls diretos de registos públicos

    Fechado. Os builds só fazem pull do proxy.

  2. 2
    Scripts de instalação encaminhados para uma shell

    Movido para o proxy, com checksum.

  3. 3
    Pacotes e extensões novos

    Tudo o que tenha menos de 72 horas espera por uma verificação.

  4. 4
    Mudanças de maintainer ou de script de instalação

    Retido no proxy, libertado por uma pessoa.

Uma semana no porto

Escolha um passo, ou deixe correr. Cada fala é o que alguém na sala diz de facto.

Passo 1Inventariar os portos

Cada registo, mirror e download em que os seus builds tocam.

ATALAIADe onde fazem pull os vossos builds? Cada registo, cada curl.

PLATAFORMAnpm, PyPI e Docker Hub. E um script descarrega um binário.

Sai da salaPortos: npm, PyPI, Docker Hub, 2 downloads diretos

Passo 2Fechar as portas laterais

Os builds fazem pull de um só sítio, com uma política à frente.

ATALAIATudo passa por um único proxy interno. Nada de pulls diretos.

DEV LEADE aquele script do binário?

ATALAIAPassa para o proxy, com checksum. E essa porta fecha-se.

Sai da salaUm proxy, uma política à frente

Passo 3Vigiar as mudanças

Novos maintainers, novos scripts de instalação, novas versões de pacotes críticos.

ATALAIAEste pacote mudou de maintainer ontem à noite e acrescentou um script de instalação.

PROGRAMADOREstá no nosso cliente do ledger. Íamos fazer pull dele no próximo build.

ATALAIAO proxy retém-no até alguém o ver.

Sai da salaLista de vigilância: 40 pacotes críticos

Passo 4Responder depressa

Quando chegar o próximo incidente, sabe em minutos se foi afetado.

DEV LEADQuando rebentar o próximo grande incidente, quão depressa sabemos?

ATALAIAPesquise o pacote nos SBOMs e tem a lista de builds. Minutos, não dias.

Sai da salaSBOM por build: afetado? em minutos

  • ATALAIA
  • PLATAFORMA
  • DEV LEAD
  • PROGRAMADOR

Antes e depois

Antes

Typosquats, maintainers sequestrados e atualizações envenenadas chegam pela mesma porta que todos os pacotes honestos. Se tudo pode vir de qualquer lado, tudo está no âmbito.

  • Os builds fazem pull diretamente de registos públicos
  • Ninguém é avisado quando muda um maintainer ou um script de instalação
  • Não existe uma lista do que está realmente em produção
Depois
  • Um proxy interno ou política de registo para cada ecossistema
  • Regras para novos pacotes, maintainers e scripts de instalação
  • SBOMs do que entrega
  • Uma lista de vigilância para as dependências que mais importam

Formato típico: Três a cinco semanas de implementação, depois vigilância contínua.

Vamos conversar

Uma chamada de 30 minutos. Sem slides, sem tabela de preços, e um próximo passo em qualquer caso.