DevOps 17 min de leitura

O Que É Supply Chain Attack? Como Hackers Infiltram Dependências, CI/CD e Como Blindar a Cadeia de Software

Guilherme Nascimento 1 comentário
Ataque à Cadeia de Suprimentos de Software - Supply Chain Attack e Segurança em CI/CD

Em 1984, ao receber o Prêmio Turing da ACM, Ken Thompson (um dos criadores do Unix e da linguagem C) apresentou uma palestra histórica intitulada “Reflections on Trusting Trust”. A mensagem central era devastadora: você não pode confiar em nenhum código que não tenha sido inteiramente escrito e compilado por você mesmo.

Quatro décadas depois, no ecossistema moderno de desenvolvimento de software e computação em nuvem, essa provocação tornou-se o maior pesadelo dos Chief Information Security Officers (CISOs), arquitetos de software e engenheiros de DevOps.

Uma aplicação web corporativa típica não é construída do zero. Na prática, entre 80% e 90% do código-fonte que roda em produção consiste em bibliotecas open-source, frameworks, imagens base de contêineres Docker, plugins e GitHub Actions terceirizados. Quando você roda um simples npm install, pip install ou go get, seu servidor de integração contínua (CI/CD) baixa centenas de pacotes de repositórios públicos, escritos por milhares de desenvolvedores desconhecidos ao redor do globo.

É exatamente aqui que entra o Supply Chain Attack (Ataque à Cadeia de Suprimentos de Software). Quando as defesas de perímetro de uma empresa se tornam quase impenetráveis por firewalls convencionais e Web Application Firewalls (WAF), os grupos de ameaça avançada (APTs) não perdem mais tempo atacando a porta da frente. Eles envenenam a água na fonte: inserem backdoors discretos em componentes de terceiros nos quais a sua organização já confia de olhos fechados.

Neste guia aprofundado, você entenderá a mecânica detalhada dos ataques à cadeia de software, revisitará os casos mais emblemáticos da história recente (como SolarWinds e XZ Utils), aprenderá a mapear sua superfície de risco e verá o playbook arquitetural completo para blindar pipelines CI/CD com SBOM, Cosign, frameworks SLSA e controle de tráfego de saída.


🔍 O Que É um Software Supply Chain Attack?

Um ataque à cadeia de suprimentos de software ocorre quando um invasor compromete a integridade de qualquer etapa do ciclo de vida de desenvolvimento de software (SDLC) — desde o código-fonte upstream, passando pelo compilador, dependências, ferramentas de pipeline de CI/CD, até os registros de contêineres e canais de atualização — com o objetivo de infectar aplicações downstream legítimas.

A diferença fundamental entre um ataque de aplicação comum e um supply chain attack reside no vetor de confiança:

FluxogramaCOMPARAÇÃO: ATAQUE CONVENCIONAL VS. SUPPLY CHAIN
↔ Deslize
                       ATAQUE CONVENCIONAL
[ Atacante ] ────( Exploit Direto )────> [ Servidor da Empresa ]
                                           ▲ (Barrado por WAF / Firewall)

                   SUPPLY CHAIN ATTACK
[ Atacante ] ──> [ Pacote Open Source / Ferramenta CI/CD ]
                                │ (Injeção de Backdoor Assinado)
                                ▼
                   [ Pipeline de Build da Empresa ]
                                │ (Compilação Confiada)
                                ▼
                   [ Servidor de Produção ] ──> [ Vítima Comprometida ]

Em um ataque convencional, o atacante busca uma falha na sua API, uma injeção de SQL ou uma credencial fraca. Em um Supply Chain Attack, sua equipe compila o código do invasor, assina com seu próprio certificado corporativo e implanta nos clientes finais voluntariamente, sem acionar nenhum alerta nos antivírus ou firewalls tradicionais.


🏗️ Os 4 Elos Vulneráveis da Cadeia de Software

Para desenhar uma estratégia defensiva eficaz, é imperativo decompor o ciclo de vida do software em seus quatro pontos centrais de falha:

FluxogramaOS 4 ELOS DA CADEIA DE SUPRIMENTOS DE SOFTWARE
↔ Deslize
┌─────────────────────────────────────────────────────────────────────────────┐
│               FLUXO DA CADEIA DE SUPRIMENTOS DE SOFTWARE                    │
└─────────────────────────────────────────────────────────────────────────────┘

 [ ELO 1: INGESTÃO ]       [ ELO 2: CI/CD BUILD ]     [ ELO 3: REGISTRY ]       [ ELO 4: RUNTIME ]
┌──────────────────┐      ┌──────────────────┐      ┌──────────────────┐      ┌──────────────────┐
│   Dependências   │      │    Runners de    │      │    Imagens OCI   │      │    Kubernetes    │
│   Open Source    │ ───> │    Integração    │ ───> │    & Pacotes     │ ───> │   & Servidores   │
│   (npm/PyPI/Go)  │      │   (GitHub/GitLab)│      │ (DockerHub/Harbor│      │   de Produção    │
└──────────────────┘      └──────────────────┘      └──────────────────┘      └──────────────────┘
         ▲                         ▲                         ▲                         ▲
         │                         │                         │                         │
  [Typosquatting]          [Runner Poisoning]        [Registry Tamper]        [C2 Exfiltration]
  [Dep. Confusion]         [Secrets Leakage]         [Assinatura Falsa]       [Privilege Esc.]

1. Elo 1: Ingestão de Dependências Upstream

É a camada do código-fonte externo. Os desenvolvedores adicionam bibliotecas para autenticação, parsing de datas, manipulação de imagens ou utilitários HTTP.

  • Typosquatting: Registro de pacotes com nomes quase idênticos aos de bibliotecas famosas (ex: cross-env vs crossenv, reqeusts vs requests). Um erro de digitação de um desenvolvedor baixa o malware direto para a estação de trabalho.
  • Dependency Confusion: Publicação de pacotes em repositórios públicos (npm, PyPI) com o mesmo nome de pacotes privados internos de uma empresa. Por padrão, muitos gerenciadores de pacotes priorizam versões de numeração mais alta encontradas em índices públicos, substituindo módulos internos por código malicioso.
  • Account Takeover: Invasores assumem o controle de contas de mantenedores legítimos no GitHub ou npm por meio de credenciais vazadas, falta de autenticação multifator (MFA) ou ataques de engenharia social.
  • Sabotagem / Protestware: O próprio autor da biblioteca decide protestar ou se vingar de grandes corporações, inserindo loops infinitos, mensagens ofensivas ou wipers de disco em novas versões (como visto nos casos de colors.js e faker.js).

2. Elo 2: O Pipeline de Build e CI/CD

Mesmo que o código no Git esteja limpo, o ambiente onde ele é transformado em binário executável pode estar comprometido.

  • GitHub Actions Não Fixadas: Usar @main ou tags mutáveis como @v2 permite que quem controla a Action altere o código sob a tag para extrair variáveis de ambiente e chaves secretas (AWS_SECRET_ACCESS_KEY, GITHUB_TOKEN).
  • Compilação Não Hermética: Runners que baixam scripts dinâmicos da internet (curl https://... | bash) durante o build sem validação de hash criptográfico.
  • Contaminação de Cache de Build: Atacantes injetam artefatos maliciosos no cache compartilhado entre builds em runners auto-hospedados (self-hosted runners).

3. Elo 3: Registros e Distribuição de Artefatos

Nesta fase, o software compilado ou imagem de contêiner é armazenado para deploy.

  • Falta de Assinatura Criptográfica: Imagens Docker enviadas para o registro sem assinatura digital. Se o registry for invadido ou ocorrer um ataque de Man-in-the-Middle (MitM), a imagem pode ser trocada por outra adulterada.
  • Imagens Base Vulneráveis: O uso de FROM node:latest ou imagens não oficiais que carregam dezenas de CVEs críticas conhecidas e binários desnecessários no sistema operacional subjacente.

4. Elo 4: O Ambiente de Execução (Runtime)

O código chega ao cluster Kubernetes ou aos servidores de produção.
Comportamento Anômalo Não Monitorado: Se a biblioteca comprometida iniciar uma conexão reversa para um servidor de Comando e Controle (C2) na Rússia ou na China, a rede do servidor de produção permite a saída porque portas como 443 para HTTPS raramente sofrem filtragem restritiva de tráfego de saída (egress*).


🏛️ Casos Reais que Redefiniram a Segurança Global

Os ataques à cadeia de suprimentos deixaram de ser cenários hipotéticos de laboratório e se tornaram as operações de espionagem cibernética mais impactantes deste século.

Caso / Ano Alvo Comprometido Mecanismo de Infiltração Impacto no Mundo Real
SolarWinds (2020)

Plataforma de Gestão de Redes Orion | Injeção no pipeline do MSBuild (Sunburst); compilação e assinatura digital legítima de DLL backdoored | Mais de 18.000 organizações afetadas, incluindo o Departamento do Tesouro dos EUA e grandes empresas de tecnologia |
| Codecov (2021) | Script Bash de envio de relatórios de cobertura de código | Credencial exposta em imagem Docker permitiu modificar o script codecov.sh hospedado em GCS | Exfiltração em massa de tokens de CI/CD, chaves AWS e credenciais de milhares de clientes |
| Event-Stream (2018) | Biblioteca npm para streaming de dados (milhões de downloads/mês) | Engenharia social: o atacante ofereceu-se como colaborador e recebeu permissões do mantenedor exausto | Injeção de código focado exclusivamente em roubar carteiras de criptomoedas Copay em compilações de produção |
| XZ Utils (2024) | Ferramenta de compressão essencial no ecossistema Linux (liblzma) | Operação de 3 anos: persona falsa (“Jia Tan”) ganhou confiança, inseriu backdoor disfarçado de arquivos de teste para sequestrar o sshd | Quase atingiu as versões estáveis das principais distribuições Linux corporativas (Debian, Red Hat, Ubuntu) |

O Caso XZ Utils (CVE-2024-3094): A Obra-Prima da Infiltração

O ataque contra a biblioteca liblzma/xz em março de 2024 é amplamente considerado o exemplo mais refinado e paciente de infiltração na cadeia de suprimentos da história da computação:

  1. A Abordagem Social: O invasor utilizou a identidade “Jia Tan” e atuou durante quase três anos enviando commits legítimos, corrigindo bugs e ajudando o mantenedor original, que estava sobrecarregado e lidando com problemas pessoais.
  2. O Cavalo de Troia Oculto: O código malicioso não foi commitado diretamente como código C no repositório. Em vez disso, foi inserido dentro de arquivos de teste compactados (.tar.gz) que aparentavam ser dados binários inofensivos para testes de descompressão.
  3. A Armadilha no Build: Durante a geração do pacote de distribuição (tarball oficial via M4 e Automake), um script manipulava o processo de compilação para injetar o payload apenas se o alvo fosse uma compilação de pacote Debian ou RPM x86-64 linkada ao systemd.
  4. O Objetivo Final: O payload interceptava chamadas de descriptografia RSA do daemon sshd do OpenSSH via GNU indirect functions (ifunc). Um atacante de posse da chave privada do invasor poderia enviar comandos arbitrários via SSH e obter acesso root instantâneo em qualquer servidor afetado, sem deixar registros de login no sistema.

A falha só foi descoberta acidentalmente pelo engenheiro Andres Freund na Microsoft, que notou que o comando ssh estava consumindo 500 milissegundos a mais de CPU e gerando erros no Valgrind. Caso não tivesse sido descoberto naquele dia, a espinha dorsal de quase todos os servidores Linux corporativos do planeta estaria vulnerável.


📐 Diagrama de Arquitetura: A Superfície de Ataque vs. Guardrails de Defesa

O diagrama abaixo ilustra onde os vetores de injeção atuam e quais contramedidas arquiteturais interrompem a cadeia antes que o artefato atinja o ambiente produtivo:

FluxogramaSUPERFÍCIE DE ATAQUE VS. GUARDRAILS DE DEFESA
↔ Deslize
               ┌─────────────────────────────────────────┐
               │         Código Open Source Externo      │  ──> Repositórios Públicos (npm / PyPI)
               └────────────────────┬────────────────────┘
                                    │
                                    ▼
       [ GUARDA 1: Proxy Privado com Quarentena & SCA Automatizado ]
                                    │
                                    ▼
               ┌─────────────────────────────────────────┐
               │           Ambiente CI/CD Isolado        │  ──> GitHub Actions / GitLab Runners
               └────────────────────┬────────────────────┘
                                    │
                 ┌──────────────────┴──────────────────┐
                 │  - SLSA Provenance (L3/L4)          │
                 │  - Geração de SBOM (CycloneDX)      │
                 │  - Assinatura Criptográfica Cosign  │
                 │  - Egress Network Filtering         │
                 └──────────────────┬──────────────────┘
                                    │
                                    ▼
               ┌─────────────────────────────────────────┐
               │      Registry Corporativo de Imagens    │  ──> Harbor / Artifact Registry
               └────────────────────┬────────────────────┘
                                    │
                                    ▼
       [ GUARDA 2: Policy Engine de Admissão no Cluster (Kyverno/Gatekeeper) ]
                                    │
                                    ▼
               ┌─────────────────────────────────────────┐
               │       Ambiente de Produção Resiliente   │  ──> Runtime Security & eBPF Telemetry
               └─────────────────────────────────────────┘

🛡️ Playbook Técnico: Como Blindar sua Cadeia de Software

Implementar segurança na cadeia de suprimentos de software não significa proibir bibliotecas de código aberto. Significa substituir a confiança cega por verificação criptográfica e governança contínua.

Abaixo estão os cinco pilares técnicos essenciais que qualquer equipe de engenharia e DevOps deve implementar imediatamente:


Pilar 1: Lockfiles Estritos e Imutabilidade na Instalação

O maior erro em pipelines de CI/CD é rodar comandos de instalação permissivos que resolvem dinamicamente novas versões menores (^ ou ~) no momento do build.

#### No ecossistema Node.js (npm / yarn / pnpm)
Nunca utilize npm install dentro do pipeline de CI/CD. Use sempre npm ci:

BASH
# Ruim: resolve dependências dinamicamente, permitindo baixar pacotes envenenados lançados há minutos
npm install

# Correto: descarta o node_modules, lê estritamente o package-lock.json e falha se houver divergência de hash
npm ci --ignore-scripts
IMPORTANTE

> A flag `–ignore-scripts` impede que scripts de ciclo de vida (`preinstall`, `postinstall`) sejam executados na máquina de build. A esmagadora maioria dos malwares em pacotes npm utiliza hooks de `postinstall` para rodar comandos de terminal e exfiltrar variáveis de ambiente.

#### No ecossistema Python (pip / poetry / uv)
Gere arquivos de lock com hashes SHA-256 obrigatórios:

BASH
# Gerando requirements com hash criptográfico obrigatório
pip-compile --generate-hashes requirements.in

# Instalando apenas se os hashes dos pacotes conferirem exatamente
pip install --require-hashes -r requirements.txt

Pilar 2: Geração e Auditoria Automatizada de SBOM

O SBOM (Software Bill of Materials) é a lista formal e legível por máquina de todos os componentes, bibliotecas, módulos e versões contidas em um artefato de software. Ele é o equivalente aos rótulos de ingredientes nutricionais dos alimentos.

Se uma vulnerabilidade grave de dia zero (Zero-Day) como o Log4Shell estourar amanhã, o SBOM permite que sua equipe identifique em menos de 10 segundos quais contêineres e microsserviços possuem o pacote afetado, sem precisar recompilar código.

Os dois padrões globais de SBOM são o CycloneDX (mantido pela OWASP) e o SPDX (da Linux Foundation).

#### Gerando SBOM de um contêiner com Syft (da Anchore)

BASH
# Instalação rápida do Syft
curl -sSfL https://raw.githubusercontent.com/anchore/syft/main/install.sh | sh -s -- -b /usr/local/bin

# Gerando SBOM completo de uma imagem em formato CycloneDX JSON
syft packages minha-empresa/api:v1.4.2 -o cyclonedx-json > sbom-api-v1.4.2.json

# Inspecionando o arquivo gerado
cat sbom-api-v1.4.2.json | jq '.components[] | {name: .name, version: .version, type: .type}' | head -n 20

Pilar 3: Assinatura de Imagens e Atestação com Sigstore & Cosign

Garantir que a imagem que roda em produção foi de fato compilada pelo seu pipeline corporativo e não alterada no meio do caminho exige assinatura digital criptográfica. O ecossistema padrão ouro para essa tarefa é o Cosign (da fundação Sigstore).

BASH
# 1. Gerando um par de chaves seguras para o pipeline de CI/CD
cosign generate-key-pair

# 2. Compilando e enviando sua imagem Docker
docker build -t registry.minhaempresa.com.br/core-api:1.0.0 .
docker push registry.minhaempresa.com.br/core-api:1.0.0

# 3. Assinando digitalmente a imagem no registro usando a chave privada da empresa
cosign sign --key cosign.key registry.minhaempresa.com.br/core-api:1.0.0

# 4. Anexando o SBOM como atestação assinada diretamente ao artefato OCI
cosign attest --key cosign.key --predicate sbom-api-v1.4.2.json --type cyclonedx registry.minhaempresa.com.br/core-api:1.0.0

#### Bloqueio de Imagens Não Assinadas no Kubernetes com Kyverno

No cluster Kubernetes, um admission controller como o Kyverno impede que qualquer pod suba se a imagem não contiver a assinatura válida da sua empresa:

YAML
apiVersion: kyverno.io/v1
kind: ClusterPolicy
metadata:
  name: verificar-assinatura-imagens
spec:
  validationFailureAction: Enforce
  rules:
  - name: bloquear-imagens-nao-assinadas
    match:
      any:
      - resources:
          kinds:
          - Pod
    verifyImages:
    - imageReferences:
      - "registry.minhaempresa.com.br/*"
      key: |-
        -----BEGIN PUBLIC KEY-----
        MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAE7p9K8L6... (Chave Pública Corporativa)
        -----END PUBLIC KEY-----

Pilar 4: Isolamento de Rede e Controle de Egress no CI/CD

Por que o seu runner do GitHub Actions ou GitLab CI precisa de acesso irrestrito para abrir conexões TCP na porta 443 ou 80 com qualquer endereço IP da internet durante a etapa de testes unitários ou empacotamento de binários? Não precisa.

A maioria dos ataques de exfiltração de secrets (como no caso Codecov) depende da capacidade de o script malicioso fazer uma requisição HTTP POST enviando as variáveis de ambiente para um servidor externo controlado pelo atacante.

YAML
# Exemplo de hardening no GitHub Actions: Bloqueio estrito de permissões de token
permissions:
  contents: read      # Permite apenas leitura do repositório
  packages: none      # Sem acesso ao GitHub Packages
  deployments: none   # Sem permissão para disparar deploys externos
  id-token: none      # Sem emissão de tokens OIDC desnecessários
DICA PRO / BEST PRACTICE

> Em ambientes corporativos de alta segurança, utilize runners de CI/CD auto-hospedados em sub-redes privadas com regras de firewall de saída (*Egress Filtering*). Os runners devem ter acesso liberado **única e exclusivamente** para os registries de pacotes internos (Nexus/Artifactory) e endpoints específicos de nuvem.


Pilar 5: Análise Comportamental e SCA em Tempo Real

Scanners tradicionais de SCA (Software Composition Analysis) baseiam-se em bancos de dados de vulnerabilidades conhecidas (CVEs). O problema é que um ataque de supply chain em dia zero não possui CVE catalogada no momento da invasão.

Para fechar esse gap, a indústria adotou scanners de comportamento:

  • Trivy / Grype: Excelente detecção de CVEs conhecidas em pacotes de SO e dependências de linguagens.
  • Socket.dev: Analisa o comportamento do código em pacotes npm e PyPI antes de você instalá-los, alertando se uma biblioteca de manipulação de strings começou repentinamente a acessar o sistema de arquivos, variáveis de ambiente ou tentar abrir conexões de rede socket.
  • SLSA Framework (Supply-chain Levels for Software Artifacts): Adote gradativamente as diretrizes do framework SLSA (Níveis 1 a 3), garantindo compilações automatizadas, controle rigoroso de proveniência e isolamento hermético de artefatos.

📊 Matriz Comparativa: Vetores de Ataque vs. Defesas Modernas

A tabela abaixo resume os principais vetores de infiltração na cadeia de suprimentos e as contramedidas técnicas de blindagem:

Vetor de Infiltração Ponto de Falha no SDLC Sintoma / Indicador Contramedida Técnica Obrigatória
Typosquatting / Homógrafos

Estação do Dev / package.json | Download de pacote similar com poucas estrelas ou autor recém-criado | Repositório proxy interno (Nexus/Artifactory) com allowlist e Socket.dev |
| Dependency Confusion | Resolução do Gerenciador de Pacotes | Versão de pacote interno sendo puxada de índice público externo | Escopos privados obrigatórios (@minhaempresa/) e bloqueio de fallback público |
| Scripts de Ciclo de Vida (postinstall) | Execução automática no build | Acesso a /proc, /etc/shadow ou conexões para IPs externos durante o install | Flags --ignore-scripts, isolamento de sandbox e execução sem privilégios de root |
| Comprometimento de CI/CD Runner | Execução de Jobs / Workflows | Ações terceirizadas de GitHub sem pin de hash SHA extraindo secrets | Fixar Actions por commit hash (uses: action@commit_sha), permissões mínimas no token |
| Tampering de Artefato no Registry | Armazenamento de Imagens OCI | Imagem em produção diferente do código gerado no pipeline | Assinatura criptográfica com Cosign e validação via Kyverno no Kubernetes |
| Exfiltração de Segredos de Build | Rede de Saída do Runner | Conexões HTTP externas disparadas durante testes ou build | Regras de firewall com controle de Egress e monitoramento de rede por ferramentas de observabilidade |


❓ Perguntas Frequentes (FAQ Técnico & Executivo)

1. Nossa empresa deve parar de usar dependências open-source?

Não, isso seria inviável economicamente. A agilidade do software moderno depende do ecossistema open-source. O segredo não é proibir o uso de software livre, mas sim eliminar a ingestão direta de fontes públicas para ambientes de produção sem governança, quarentena e análise de procedência.

2. Qual a diferença prática entre uma análise de SAST e uma de SCA?

O SAST (Static Application Security Testing) analisa o código-fonte escrito pelos seus próprios desenvolvedores em busca de falhas lógicas (SQLi, XSS, buffers). O SCA (Software Composition Analysis) inspeciona as bibliotecas de terceiros importadas pelo projeto, cruzando suas versões com bases de vulnerabilidades conhecidas (CVEs), licenças e componentes de risco.

3. Por que fixar a versão de dependências com @v1 no GitHub Actions é perigoso?

No Git, tags como v1 ou v1.2.0 são ponteiros móveis que podem ser apagados e recriados apontando para qualquer outro commit a qualquer momento. Se a conta do mantenedor da Action for invadida, o atacante move a tag v1 para um commit malicioso. A única referência imutável no Git é o hash de commit SHA-1/SHA-256 (ex: uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11).

4. Como o monitoramento de infraestrutura ajuda contra Supply Chain Attacks?

Caso uma biblioteca comprometida consiga furar todos os bloqueios e chegue a produção, o atacante precisará manter comunicação ativa com a infraestrutura C2 ou iniciar varreduras internas na rede corporativa. É nessa etapa que ferramentas de monitoramento e observabilidade contínua e ferramentas de diagnóstico de rede em tempo real detectam picos anômalos de tráfego de saída, permitindo o isolamento imediato da máquina infectada.


🚀 Conclusão: Da Confiança Cega à Governança Criptográfica

O paradigma da segurança de software mudou para sempre. Hoje, não basta ter uma aplicação com código limpo e sem bugs se os tijolos que sustentam a sua estrutura foram adulterados por terceiros.

A blindagem contra Supply Chain Attacks exige maturidade de engenharia:

  1. Conheça tudo o que entra: Imponha SBOMs gerados automaticamente em cada compilação.
  2. Restrinja privilégios: Trate seus pipelines de CI/CD como ambientes de produção de alta criticidade, com privilégios mínimos e tráfego de saída filtrado.
  3. Valide a procedência: Assine cada imagem e pacote com Cosign e adote políticas de admissão que impeçam o deploy de qualquer artefato não assinado.

🛡️ Precisa Auditar seus Pipelines e Blindar a Infraestrutura da Sua Empresa?

Garantir que seus pipelines de CI/CD, contêineres Docker e repositórios corporativos estejam protegidos contra ameaças avançadas exige experiência prática no campo de batalha de infraestrutura e DevSecOps.

No Hora Nerd, atuamos diretamente com equipes de tecnologia corporativa para:

  • Auditorias de DevSecOps e CI/CD Hardening: Identificação e eliminação de vazamento de secrets, runners vulneráveis e ações desprotegidas no GitHub Actions e GitLab CI.
  • Implementação de SBOM e Assinatura Criptográfica: Arquitetura de políticas de segurança com Cosign, Sigstore e Kyverno em clusters Kubernetes.
  • Governança de Dependências Corporativas: Estruturação de proxies privados de pacotes (Nexus / Harbor) com quarentena e análise comportamental contínua.
  • Consultoria e Troubleshooting em Produção: Atuação ágil como consultor sênior em regime sob demanda (freelance de emergência) ou como braço estratégico em contratos corporativos contínuos de sustentação e cibersegurança.

👉 Entre em contato com Guilherme Nascimento no Hora Nerd e agende um diagnóstico da segurança da cadeia de suprimentos da sua infraestrutura de software.

Guilherme Nascimento ✓

Guilherme Nascimento

Especialista & Fundador

Especialista em Infraestrutura, Cloud/DevOps e Cibersegurança | +10 anos de experiência prática

Profissional com mais de uma década atuando no campo de batalha da tecnologia corporativa. Especialista em arquiteturas resilientes, automação com Docker/Kubernetes, Hardening de Active Directory, Linux avançado e observabilidade SRE. Criador do ecossistema Hora Nerd, dedicado a desmistificar a tecnologia para profissionais e estudantes.

Cloud & DevOps Active Directory Hardening Linux SysAdmin Docker & CI/CD Observabilidade SRE

1 comentário

Deixe seu comentário

Seu e-mail não será publicado. Campos obrigatórios estão marcados com *