detecting-typosquatting-packages-in-npm-pypi

Featured

Detects typosquatting attacks in npm and PyPI package registries by analyzing package name similarity using Levenshtein distance and other string metrics, examining publish date heuristics to identify recently created packages mimicking established ones, and flagging download count anomalies where suspicious packages have disproportionately low usage compared to their legitimate targets. The analyst queries the PyPI JSON API and npm registry API to gather package metadata for automated comparison. Activates for requests involving package typosquatting detection, dependency confusion analysis, malicious package identification, or software supply chain threat hunting in package registries.

AI & Automation 15,448 stars 1852 forks Updated 1 weeks ago Apache-2.0

Install

View on GitHub

Quality Score: 97/100

Stars 20%
100
Recency 20%
90
Frontmatter 20%
70
Documentation 15%
100
Issue Health 10%
50
License 10%
100
Description 5%
100

Skill Content

# Detecting Typosquatting Packages in npm and PyPI ## When to Use - Auditing project dependencies to identify packages whose names are suspiciously similar to popular libraries - Proactively scanning package registries for newly published packages that may be typosquats of your organization's packages - Investigating a suspected supply chain compromise where a developer installed a misspelled package name - Building automated monitoring that alerts when new packages appear with names close to critical dependencies - Assessing the risk profile of unfamiliar packages before adding them to a project's dependency tree **Do not use** as the sole determination of malicious intent; name similarity alone does not prove a package is malicious. Do not use for bulk automated takedown requests without manual review of flagged packages. Do not use against private registries without authorization. ## Prerequisites - Python 3.9+ with `requests` and `python-Levenshtein` (or `rapidfuzz`) packages installed - Network access to `https://pypi.org/pypi/<package>/json` (PyPI JSON API) and `https://registry.npmjs.org/<package>` (npm registry API) - A list of popular or critical packages to monitor (e.g., top 1000 PyPI packages, organization's dependency list) - Understanding of common typosquatting patterns: character omission, transposition, insertion, substitution, and hyphen/underscore manipulation ## Workflow ### Step 1: Build the Target Package Watchlist Establish the set of legitimate...

Details

Author
mukul975
Repository
mukul975/Anthropic-Cybersecurity-Skills
Created
3 months ago
Last Updated
1 weeks ago
Language
Python
License
Apache-2.0

Integrates with

Similar Skills

Semantically similar based on skill content — not just same category