Supply Chain Attacks
Overview
Dependency Confusion
Concept
Exploitation
# 1. Find private package names
# Look in package.json, requirements.txt, pom.xml, etc.
# Check JavaScript source for import statements
grep -r "require\|import" --include="*.js" .
# 2. Check if package exists on public registry
npm view private-package-name
pip index versions private-package-name
# 3. Create malicious package with higher version
# npm
npm init
# Set version higher than internal (e.g., 99.0.0)
npm publish
# pip
# Create setup.py with higher version
python setup.py sdist
twine upload dist/*Detection
Typosquatting
Concept
Common Patterns
Finding Vulnerable Packages
CI/CD Pipeline Attacks
GitHub Actions Exploitation
GitLab CI Exploitation
Jenkins Exploitation
Package Repository Attacks
NPM
PyPI
Maven/Gradle
Third-Party Library Vulnerabilities
Discovery
Exploitation Research
Source Code Repository Attacks
Exposed Credentials in Repositories
Commit Signature Verification Bypass
Attack Vectors Summary
Vector
Target
Impact
Detection & Prevention
For Attackers (Testing)
For Defenders
Tools
Resources
Last updated
Was this helpful?