O que é Slopsquatting e Como Evitá-lo

Código na tela de um computador.

Se você viu esse termo desagradável circulando, provavelmente está se perguntando o que é slopsquatting e como isso pode afetá-lo. Esse ataque desagradável não é o mais fácil de identificar, mas existem maneiras de evitá-lo para mantê-lo mais seguro.

O que é Slopsquatting

Tudo começa com alucinações de IA, que são coisas que a IA inventa. Para os propósitos do slopsquatting, ferramentas de IA sugerem pacotes de código aberto que na verdade não existem para os desenvolvedores usarem em seu código.

Criminosos cibernéticos descobriram que as alucinações de IA muitas vezes se repetem. Eles aproveitam essa falha criando pacotes maliciosos usando esses nomes alucinatórios e os enviam para hosts de repositórios de código confiáveis, como o GitHub. Quando os desenvolvedores pedem à sua plataforma de IA favorita para sugerir um pacote de código aberto, o chatbot sugere um dos nomes alucinatórios que os criminosos cibernéticos estão usando.

Pedindo sugestões de pacotes de código ao ChatGPT.

O resultado é que os desenvolvedores estão inserindo esses pacotes maliciosos em seu software. Uma vez que ele é executado, o dano está feito e os atacantes ganham acesso a qualquer dispositivo em que o código é executado.

Embora isso possa não parecer um grande problema, um estudo descobriu que, de 16 modelos principais de geração de código de IA, quase 20% dos pacotes recomendados não existiam. Pior ainda, 43% dos nomes de pacotes alucinatórios se repetiram a cada vez em 10 execuções com o mesmo prompt. Isso torna muito mais fácil para os criminosos cibernéticos escolherem nomes e fazer com que seus pacotes maliciosos sejam sugeridos e usados repetidamente.

No estudo, o CodeLlama foi o pior infrator. Por outro lado, o GPT-4 Turbo teve as menores alucinações. Apenas porque o risco é menor, não significa que você está completamente seguro, no entanto.

Coisas que Você Precisa Ficar Atento

Seja você um desenvolvedor profissional, casual ou completamente iniciante, você está em risco de slopsquatting. Na verdade, é uma forma de typosquatting, onde uma única letra é a única diferença entre um domínio legítimo e seguro e um malicioso. Mas, assim como o typosquatting, o slopsquatting é evitável se você ficar atento a essas cinco coisas:

  1. Nomes de pacotes ligeiramente incorretos – Este sinal de alerta não é uma garantia, especialmente porque a maioria dos nomes de pacotes alucinatórios não tem erros de digitação. Ainda assim, se você notar algo escrito incorretamente, pense duas vezes antes de usá-lo.
  2. Falta de discussões ou feedback – Pacotes com pouca ou nenhuma discussão podem não ser os mais seguros para usar. Isso pode significar que eles são novíssimos. Ou pode sinalizar que é um pacote falso que depende de sugestões de IA para que os desenvolvedores o encontrem e o usem inocentemente.
  3. Avisos de outros desenvolvedores – Eu sei que é fácil confiar apenas nas sugestões da IA, mas reserve um momento para fazer uma pesquisa extra. Use seu mecanismo de busca favorito e veja o que os outros estão dizendo sobre quaisquer sugestões de pacotes antes de usá-las você mesmo.
  4. Não recomendado por outras plataformas – Se possível, tente os mesmos ou semelhantes prompts em várias plataformas de codificação de IA. Se um pacote raramente ou nunca é recomendado, isso pode ser um grande sinal de slopsquatting.
  5. Descrições confusas – Está se tornando mais comum para os desenvolvedores confiarem na “codificação por vibrações”, o que significa que eles simplesmente aceitam sugestões sem nenhuma verificação. No entanto, pacotes maliciosos muitas vezes têm descrições confusas nos sites onde estão hospedados.

Você também pode evitar pacotes comuns de slopsquatting já identificados na natureza apenas pedindo à sua plataforma de IA favorita uma lista.

Lista de pacotes de slopsquatting do ChatGPT.

As Precauções Mais Importantes

Mesmo quando você sabe o que procurar, o slopsquatting ainda é difícil de identificar em muitos casos. Como é tão novo, levará tempo para os especialistas em segurança desenvolverem um processo confiável para identificar e eliminar pacotes maliciosos. Muitas plataformas de IA também estão tentando treinar seus modelos para reconhecer nomes/pacotes alucinatórios e avisar os desenvolvedores antes de usá-los.

Até que essas coisas aconteçam, você tem três maneiras de evitar que um pacote malicioso arruine seu software e quaisquer dispositivos em que ele possa ser instalado.

A mais importante é sempre executar seu código em um ambiente seguro e isolado. O VirtualBox e o VMWare são duas das máquinas virtuais mais populares e são gratuitas para usar. Também existem ambientes de sandbox baseados em nuvem, embora a maioria suporte apenas algumas linguagens. O Replit é um favorito, pois suporta mais de 50 linguagens.

A segunda é usar uma ferramenta de verificação para verificar se um pacote é seguro ou não. Eu descobri que a Extensão Web Socket é uma das opções mais fáceis de usar. É gratuita e funciona em vários sites para escanear antes de você baixar qualquer coisa. Atualmente, está disponível para navegadores baseados em Chrome e Firefox.

Como Evitar que a Microsoft Bloqueie o Teams no Menu de Atualização do Desktop

Finalmente, sempre verifique qualquer coisa que a IA sugira. Quanto mais você depender da IA, mais fácil será para os criminosos cibernéticos se aproveitarem. Use a IA para ajudar na codificação, mas verifique todas e quaisquer sugestões antes de usá-las.

Se você se tornar uma vítima de slopsquatting, avise outros desenvolvedores. Poste avisos nas redes sociais, Reddit e hosts de repositórios. Entre em contato com o suporte da plataforma de IA que você está usando para relatar o nome do pacote malicioso e ajudar a treinar melhor os modelos de IA. Compartilhar a informação ajuda outros a se protegerem.