# Duas vagas falsas no Upwork, um Mac infectado: meus encontros com o Contagious Interview da Coreia do Norte

> Um projeto de teste com um pacote npm envenenado e um app de reunião falso instalado com curl | bash. O que aconteceu nas duas vezes, como usei o Claude Code para achar o malware e a ferramenta que criei depois.

- URL: https://oliverz.dev/pt-br/blog/upwork-contagious-interview
- Author: Oliver Zhang (https://oliverz.dev)
- Language: pt-BR
- Published: 2026-10-28
- Tags: security, upwork, malware, macos, contagious-interview

> **Resumindo:** o Contagious Interview é um ataque de recrutamento falso feito por hackers norte-coreanos. Eles se passam por clientes ou recrutadores em plataformas como Upwork e LinkedIn e, no fim, fazem você mesmo rodar um "projeto de teste" ou instalar um "app de reunião". Uma regra basta para reconhecer: se um processo seletivo pede para você rodar código desconhecido no seu computador, pare. Se já rodou, desconecte da internet, procure processos e pastas desconhecidos, troque as senhas e encerre a sessão em todos os dispositivos nos sites que importam.

## A primeira vez: junho de 2026

Um cliente que se dizia ucraniano me procurou no Upwork. Ele tinha um projeto e queria minha ajuda, e me mandou um projeto de teste em Node.js chamado "Online_Store".

O código malicioso estava escondido em uma das dependências do npm. Já não lembro exatamente qual pacote era; acho que era algo ligado ao Tailwind. Assim que rodei o projeto, ele criou em silêncio uma pasta `~/.node_modules` no meu computador, com axios e socket.io-client dentro, prontos para mandar meus dados para fora.

Quando percebi, ele já estava rodando em segundo plano havia dias. Só descobri por sorte: um colega meu no Reino Unido passou exatamente pela mesma coisa, e quando ele me contou, me dei conta de que eu provavelmente também tinha sido atingido.

## A segunda vez: outubro de 2026

Desta vez, a pessoa dizia ser lituana, de uma empresa de investimentos chamada Veyron Capital (veyron[.]capital), que tinha publicado várias vagas de Web3 no Upwork.

Primeiro ele me mandou mensagem e depois marcou uma videochamada pelo Upwork. Ficou com a câmera desligada e falou comigo em chinês o tempo todo. Depois pediu para eu adicioná-lo no Telegram e me colocou em um grupo, onde me pediram para fazer uma demo de Web3 e apresentar para a equipe em uma reunião.

Na hora da apresentação, disseram que um colega estava viajando e não podia usar a ferramenta de sempre, então precisávamos trocar para um app de reuniões chamado "Zeff" (zeff[.]app). Outra pessoa do grupo me "ajudou" a instalar e deu duas opções: rodar um comando `curl | bash` no terminal ou baixar um DMG.

Não instalei. Depois de ter caído uma vez, assim que vi "rode este comando desconhecido no terminal para a gente fazer uma reunião", percebi que era o mesmo golpe.

## Olhando para trás

As duas vezes foram ataques "Contagious Interview" da Coreia do Norte: recrutamento falso e entrevistas falsas. Eles ganham sua confiança com o que parece uma vaga comum e depois fazem você rodar o código deles com as próprias mãos.

![Os dois ataques seguiram o mesmo roteiro: contato, confiança, o pedido, o golpe. Na segunda vez, parei no golpe.](https://oliverz.dev/posts/upwork-contagious-interview/attack-flow.pt-br.svg)

O que mais me incomodou foi que nem o XProtect, que já vem no macOS, nem os antivírus tradicionais deram um pio, nas duas vezes.

## O Claude Code como meu investigador forense

Depois da primeira infecção, quem realmente achou o problema foi o Claude Code. Usei o Fable 5 (Max), dei as permissões necessárias e pedi para ele vasculhar o disco inteiro e os processos em segundo plano, como um investigador. Ele logo descobriu que o malware ainda estava rodando e depois me guiou, passo a passo, para limpar tudo.

## O que eu perdi

Por sorte, nada. O que esse tipo de malware mais quer são carteiras de criptomoedas, e eu não tenho nenhuma naquele computador. As contas que importam para mim têm verificação em duas etapas ativada, então mesmo com as minhas senhas ninguém conseguiria entrar.

Mas fica um alerta: esse malware costuma roubar também as sessões de login (cookies) salvas no navegador. Com elas, o atacante pode pular a verificação em duas etapas e entrar direto nas suas contas. Então, se você for atingido, troque as senhas e também encerre a sessão em todos os dispositivos conectados nos sites que importam.

## Por isso criei uma ferramenta: o Tsuba

Depois desses dois episódios, ficou claro onde estava a brecha. Esses ataques vêm com uma embalagem nova a cada vez e usam as ferramentas mais comuns que existem, como node, curl e bash, então o antivírus tradicional não tem motivo para desconfiar.

Por isso criei um pequeno app de barra de menus para macOS chamado Tsuba (鍔, a guarda da mão de uma espada japonesa). A ideia é simples: antes de um código desconhecido rodar pela primeira vez, ele dá uma olhada por você. Ele descobre o que o código vai fazer, de onde veio e se parece com um ataque conhecido, e então decide se libera, avisa ou bloqueia.

![Antes de um código desconhecido rodar, ele passa pelas quatro verificações do Tsuba, que decidem se libera, avisa ou bloqueia.](https://oliverz.dev/posts/upwork-contagious-interview/tsuba-check.pt-br.svg)

Veja como ele se aplica aos meus dois casos:

- **Um projeto de entrevista falso, como o primeiro**: antes de você rodar `npm install` ou `npm start`, ele verifica se as dependências estão em listas públicas de pacotes maliciosos e procura no código do projeto por código escondido, endereços remotos fixos ou trechos que leem carteiras e cofres de senhas. Se ainda estiver em dúvida, você pode rodar o projeto em uma sandbox e ver o que ele faz de verdade.
- **Um app de reunião falso, como o segundo**: quando aparece um `curl | bash`, ele baixa o script remoto sem executar e verifica o que ele faria. DMGs baixados também têm assinatura, notarização e origem verificadas.

O Tsuba é gratuito e o código-fonte está [no GitHub](https://github.com/chihyungchang/Tsuba). O download para Macs com Apple silicon e Intel, e tudo mais sobre ele, está na [página do Tsuba](/pt-br/products/tsuba). Se você pega trabalhos no Upwork ou em plataformas parecidas, ou costuma rodar código que outras pessoas mandam, vale a pena experimentar.
