Skip to content
Skillpedia
Agents35k · #5722

detecting-typosquatting-packages

Has your agent detect misspelled or hijacked package names before installation. It's useful for ensuring the security of your project's dependencies.

What it does

This tool checks if the name of a software package you are about to install is a misspelled or very similar version of a popular, trusted package. It helps prevent you from accidentally installing a dangerous program disguised with a familiar name.

When to use it

  • ✓Before adding a new package to your project.
  • ✓When reviewing a list of packages suggested by artificial intelligence.
  • ✓During a security check of package updates.

Example of what to ask your AI

“Check if the package 'requets' is safe to install.”

Want more? Open the sections below.

How to use

The easiest way: copy the message below and paste it into Claude, ChatGPT, Cursor or any AI. It reads the skill and follows the instructions.

Skill link

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

Ready-to-paste message

Use this skill to help me: https://github.com/mukul975/Anthropic-Cybersecurity-Skills/blob/main/skills/detecting-typosquatting-packages/SKILL.md Read the SKILL.md file at that link and follow its instructions for my task.
How it works

The tool compares the package name you want to install with a list of known, safe names. It looks for small differences, like swapped or missing letters, which might indicate a fraudulent attempt.

Installation

Easiest way: copy the skill link and paste it into Claude, ChatGPT or Cursor asking it to follow the instructions.

In the terminal (Claude Code, Codex, Cursor), in your project folder:

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

Or download just the file:

curl -L https://raw.githubusercontent.com/mukul975/Anthropic-Cybersecurity-Skills/main/skills/detecting-typosquatting-packages/SKILL.md -o SKILL.md
Technical content (original SKILL.md)

Original text by the author, straight from GitHub.

Detecting Typosquatting Packages

Authorized Use Only: This skill is for defensive software-supply-chain security, package screening, and authorized research. Use the corpus-matching and registry-query techniques here only against registries you are permitted to query at scale and packages you intend to evaluate for your own organization. Mass automated registry scraping may violate registry terms of service.

Overview

Typosquatting is a software-supply-chain attack (MITRE ATT&CK T1195.002 — Supply Chain Compromise: Compromise Software Supply Chain) in which an adversary publishes a malicious package whose name is a near-miss of a popular legitimate package — reqeusts for requests, python-sqlite for sqlite3, crossenv for cross-env. A developer who fat-fingers the name, copies a name from a poisoned tutorial, or trusts an AI-generated dependency list (the "slopsquatting" variant, where models hallucinate package names attackers then register) installs the squat instead. Because most ecosystems execute install-time scripts (postinstall in npm, setup.py/build hooks in PyPI), the payload runs immediately with the developer's privileges.

This skill covers proactive, pre-installation detection: screening a candidate package name against a corpus of popular/known-good names using the same name-mutation primitives attackers use, then triaging high-risk matches. The canonical open-source detector is typomania (Rust Foundation), a Rust port of the academic typogard tool ("Defending Against Package Typosquatting", University of Kansas); typomania powers crates.io's live typosquatting checks. Cross-ecosystem coverage comes from Microsoft OSSGadget's oss-find-squats and, for PyPI, IQTLabs pypi-scan. The ecosyste-ms typosquatting-dataset provides a curated ground-truth corpus of known squats mapped to their legitimate targets.

Sources: Rust Foundation typomania (https://github.com/rustfoundation/typomania), Microsoft OSSGadget, ecosyste-ms typosquatting-dataset, and OWASP CI/CD / SLSA supply-chain guidance.

When to Use

  • Before adding a new dependency to package.json, requirements.txt, pyproject.toml, or Cargo.toml
  • As a CI/CD gate that screens every newly introduced dependency name in a pull request
  • When triaging an AI-generated or tutorial-sourced dependency list ("slopsquatting" review)
  • During security review of a lockfile diff to catch a swapped or newly-pinned squat
  • When building a registry-side or proxy-side guardrail that blocks installs of suspected squats

Prerequisites

  • Rust toolchain (cargo) to build/use typomania, or a prebuilt OSSGadget release
  • Python 3.8+ for pypi-scan and the helper script in this skill
  • Network access to the target registry's public API (npmjs.org, pypi.org, crates.io)
  • A corpus of "popular" package names for the ecosystem (download counts or a top-N list)

Install the tooling:

# 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

Objectives

  • Generate the candidate squat set for a given legitimate name using the standard mutation primitives
  • Screen a candidate package name against a popular-name corpus and flag near-misses
  • Enrich each suspected squat with registry metadata (age, downloads, maintainer, install scripts)
  • Score and triage findings to suppress false positives (legitimate forks, scoped packages)
  • Wire the check into CI/CD as a blocking gate on new dependencies

MITRE ATT&CK Mapping

Technique ID Name Tactic
T1195.002 Supply Chain Compromise: Compromise Software Supply Chain Initial Access

…

FAQ

What is 'typosquatting'?

It's when someone registers a package name very similar to a popular one, but with a small typo, to trick people into installing a malicious package.

Why is this dangerous?

Malicious packages can steal your information, damage your computer, or give control of your system to someone else, as they run code as soon as they are installed.

How does this tool protect me?

It acts like a security guard before installation, alerting you to suspicious package names before you add them to your project.

Details

Original description by the author

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

Popularity

GitHub stars
35k
Ranking position
#5722
License
Apache-2.0
Updated
8/31/2026

Is this skill useful?

0

Sign in to vote.

Comments

  • …

More skills from this repository

Similar skills