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
Mensagem pronta para colar
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-packagesOu baixe só o arquivo:
curl -L https://raw.githubusercontent.com/mukul975/Anthropic-Cybersecurity-Skills/main/skills/detecting-typosquatting-packages/SKILL.md -o SKILL.mdConteú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.tomlouCargo.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
Popularidade
- Estrelas no GitHub
- 35 mil
- Posição no ranking
- #5722
- Licença
- Apache-2.0
- Atualizada em
- 31/08/2026
Comentários
- …
Mais skills deste repositório
abusing-dpapi-for-credential-access
Dá ao seu agente de IA instruções prontas para uma tarefa específica, para ele fazer melhor e mais rápido.
mukul975/Anthropic-Cybersecurity-Skills
abusing-shadow-credentials-for-privesc
Ensina seu agente de IA a escrever textos claros e bem estruturados.
mukul975/Anthropic-Cybersecurity-Skills
achieving-cmmc-level-2-compliance
Ajuda seu agente a preparar um ambiente para conformidade com CMMC Nível 2. Ele implementa requisitos de segurança e gerencia a documentação necessária.
mukul975/Anthropic-Cybersecurity-Skills
acquiring-disk-image-with-dd-and-dcfldd
Ajuda seu agente a criar cópias exatas de discos rígidos. Isso é útil para garantir que nenhuma informação seja perdida ou alterada durante investigações.
mukul975/Anthropic-Cybersecurity-Skills
Skills parecidas
agent-architecture-audit
Faz seu agente verificar se tudo está funcionando corretamente. Ele encontra e conserta problemas em sistemas de IA, garantindo que funcionem como esperado.
affaan-m/ECC
agent-eval
Ajuda seu agente a comparar diferentes ferramentas de programação de IA. Ele mede qual é mais rápido, barato e confiável para realizar tarefas específicas.
affaan-m/ECC
agent-harness-construction
Faz seu agente entender melhor como realizar tarefas. Ele otimiza as ferramentas e instruções que o agente usa para aumentar suas chances de sucesso.
affaan-m/ECC