Pular para o conteúdo
Skillpedia
Agentes35 mil · #5722

detecting-typosquatting-packages

Faz seu agente detectar nomes de pacotes com erros de digitação ou roubados antes da instalação. É útil para garantir a segurança das dependências do seu projeto.

O que ela faz

Esta ferramenta verifica se o nome de um pacote de software que você está prestes a instalar é uma versão mal escrita ou muito parecida com um pacote popular e confiável. Ela ajuda a evitar que você instale acidentalmente um programa perigoso disfarçado de um nome familiar.

Quando usar

  • ✓Antes de adicionar um novo pacote ao seu projeto.
  • ✓Ao revisar uma lista de pacotes sugeridos por inteligência artificial.
  • ✓Durante uma verificação de segurança de atualizações de pacotes.

Exemplo do que pedir para a IA

“Verifique se o pacote 'requets' é seguro para instalar.”

Quer saber mais? Abra as seções abaixo.

Como usar

O jeito mais fácil: copie a mensagem abaixo e cole no Claude, ChatGPT, Cursor ou outra IA. Ela lê a skill e segue as instruções.

Link da skill

https://github.com/mukul975/Anthropic-Cybersecurity-Skills/blob/main/skills/detecting-typosquatting-packages/SKILL.md

Mensagem pronta para colar

Use esta skill para me ajudar: https://github.com/mukul975/Anthropic-Cybersecurity-Skills/blob/main/skills/detecting-typosquatting-packages/SKILL.md Leia o arquivo SKILL.md desse link e siga as instruções dele na minha tarefa.
Como funciona

A ferramenta compara o nome do pacote que você quer instalar com uma lista de nomes conhecidos e seguros. Ela procura por pequenas diferenças, como letras trocadas ou faltando, que podem indicar uma tentativa de fraude.

Instalação

Jeito mais fácil: copie o link da skill e cole no Claude, ChatGPT ou Cursor pedindo para seguir as instruções.

No terminal (Claude Code, Codex, Cursor), na pasta do projeto:

npx skills add mukul975/Anthropic-Cybersecurity-Skills --skill detecting-typosquatting-packages

Ou baixe só o arquivo:

curl -L https://raw.githubusercontent.com/mukul975/Anthropic-Cybersecurity-Skills/main/skills/detecting-typosquatting-packages/SKILL.md -o SKILL.md
Conteúdo técnico (SKILL.md)

Tradução do texto original do autor no GitHub. Os comandos e códigos estão como no original.

Detecção de Pacotes Typosquatting

Uso Autorizado Apenas: Esta habilidade destina-se à segurança defensiva da cadeia de suprimentos de software, triagem de pacotes e pesquisa autorizada. Use as técnicas de correspondência de corpus e consulta de registro aqui apenas contra registros que você tem permissão para consultar em escala e pacotes que pretende avaliar para sua própria organização. A raspagem automatizada em massa de registros pode violar os termos de serviço dos registros.

Visão Geral

Typosquatting é um ataque à cadeia de suprimentos de software (MITRE ATT&CK T1195.002 — Compromisso da Cadeia de Suprimentos: Comprometer a Cadeia de Suprimentos de Software) no qual um adversário publica um pacote malicioso cujo nome é uma aproximação de um pacote legítimo popular — reqeusts para requests, python-sqlite para sqlite3, crossenv para cross-env. Um desenvolvedor que digita o nome incorretamente, copia um nome de um tutorial envenenado ou confia em uma lista de dependências gerada por IA (a variante "slopsquatting", onde modelos alucinam nomes de pacotes que os atacantes registram em seguida) instala o squat em vez disso. Como a maioria dos ecossistemas executa scripts no momento da instalação (postinstall no npm, setup.py/hooks de build no PyPI), a carga útil é executada imediatamente com os privilégios do desenvolvedor.

Esta habilidade abrange a detecção proativa e pré-instalação: triagem de um nome de pacote candidato contra um corpus de nomes populares/conhecidos usando os mesmos primitivos de mutação de nome que os atacantes usam, e depois triagem de correspondências de alto risco. O detector canônico de código aberto é typomania (Rust Foundation), um port em Rust da ferramenta acadêmica typogard ("Defending Against Package Typosquatting", University of Kansas); typomania alimenta as verificações de typosquatting ao vivo do crates.io. A cobertura entre ecossistemas vem do oss-find-squats da Microsoft OSSGadget e, para PyPI, do pypi-scan da IQTLabs. O typosquatting-dataset dos ecossistemas fornece um corpus curado de ground-truth de squats conhecidos mapeados para seus alvos legítimos.

Fontes: Rust Foundation typomania (https://github.com/rustfoundation/typomania), Microsoft OSSGadget, typosquatting-dataset dos ecossistemas e orientações de cadeia de suprimentos OWASP CI/CD / SLSA.

Quando Usar

  • Antes de adicionar uma nova dependência a package.json, requirements.txt, pyproject.toml ou Cargo.toml
  • Como um portão CI/CD que verifica cada nome de dependência recém-introduzido em uma pull request
  • Ao triar uma lista de dependências gerada por IA ou proveniente de tutorial ("revisão de slopsquatting")
  • Durante a revisão de segurança de um diff de lockfile para capturar um squat trocado ou recém-fixado
  • Ao construir um guardrail do lado do registro ou proxy que bloqueia instalações de squats suspeitos

Pré-requisitos

  • Toolchain Rust (cargo) para compilar/usar typomania, ou uma release pré-compilada do OSSGadget
  • Python 3.8+ para pypi-scan e o script auxiliar nesta habilidade
  • Acesso à rede à API pública do registro de destino (npmjs.org, pypi.org, crates.io)
  • Um corpus de nomes de pacotes "populares" para o ecossistema (contagens de download ou uma lista top-N)

Instale as ferramentas:

# typomania (library + example harness) — Rust Foundation
git clone https://github.com/rustfoundation/typomania
cd typomania
cargo build --release
cargo run --example registry   # demonstrates the Harness against a fake registry

# OSSGadget (Microsoft) — cross-ecosystem squat finder
# Download a release binary, then:
oss-find-squats pkg:npm/requests          # purl syntax
oss-find-squats pkg:pypi/reqeusts

# pypi-scan (IQTLabs) — PyPI typosquat enumerator
git clone https://github.com/IQTLabs/pypi-scan
cd pypi-scan
pip install -r requirements.txt

# ecosyste-ms ground-truth dataset of known squats
git clone https://github.com/ecosyste-ms/typosquatting-dataset

Objetivos

  • Gerar o conjunto de squats candidatos para um determinado nome legítimo usando os primitivos de mutação padrão
  • Verificar um nome de pacote candidato contra um corpus de nomes populares e sinalizar aproximações
  • Enriquecer cada squat suspeito com metadados do registro (idade, downloads, mantenedor, scripts de instalação)
  • Pontuar e triar descobertas para suprimir falsos positivos (forks legítimos, pacotes com escopo)
  • Integrar a verificação em CI/CD como um portão de bloqueio em novas dependências

Mapeamento MITRE ATT&CK

ID da Técnica Nome Tática
T1195.002 Compromisso da Cadeia de Suprimentos: Comprometer a Cadeia de Suprimentos de Software Acesso Inicial
Perguntas frequentes

O que é 'typosquatting'?

É quando alguém registra um nome de pacote muito parecido com um nome popular, mas com um pequeno erro de digitação, para enganar as pessoas e fazê-las instalar um pacote malicioso.

Por que isso é perigoso?

Pacotes maliciosos podem roubar suas informações, danificar seu computador ou dar controle do seu sistema para outra pessoa, pois eles rodam códigos assim que são instalados.

Como essa ferramenta me protege?

Ela age como um segurança antes da instalação, alertando você sobre nomes de pacotes suspeitos antes que você os adicione ao seu projeto.

Detalhes

Descrição original do autor

Flag misspelled, brandjacked, and typosquatted package names across npm, PyPI, and crates.io before installation, using edit-distance, keyboard-proximity, and known-target corpus matching with typomania, Microsoft OSSGadget's oss-find-squats, and pypi-scan. Use before adding a new dependency, as a CI/CD gate on pull requests, when reviewing an AI-generated ("slopsquatting") dependency list, or whe

repo: mukul975/Anthropic-Cybersecurity-Skills

Popularidade

Estrelas no GitHub
35 mil
Posição no ranking
#5722
Licença
Apache-2.0
Atualizada em
31/08/2026

Essa skill é útil?

0

Entre para votar.

Comentários

  • …

Mais skills deste repositório

Skills parecidas