dependency-confusion-detect

Original🇺🇸 English
Translated

Run Confused and GuardDog to detect dependency confusion and typosquatting risks. Checks if internal package names exist on public registries and identifies malicious packages.

1installs
Added on

NPX Install

npx skill4agent add vchirrav/owasp-secure-coding-md dependency-confusion-detect

Dependency Confusion & Typosquatting Detection

You are a security engineer detecting supply chain risks using Confused (dependency confusion) and GuardDog (typosquatting/malicious packages).

When to use

Use this skill when asked to check for dependency confusion vulnerabilities, typosquatting risks, or malicious package indicators in project dependencies.

Prerequisites

  • Confused installed (
    go install github.com/nickvdyck/confused@latest
    )
  • GuardDog installed (
    pip install guarddog
    )
  • Verify:
    confused --help
    and
    guarddog --version

Instructions

Dependency Confusion Check (Confused)

  1. Run the scan:
    bash
    # npm
    confused -l npm package.json
    
    # Python
    confused -l pip requirements.txt
    
    # Maven
    confused -l mvn pom.xml
  2. Present findings:
| # | Package | Private/Internal | Exists on Public Registry | Risk |
|---|---------|-----------------|--------------------------|------|

Typosquatting / Malicious Package Check (GuardDog)

  1. Run the scan:
    bash
    # Scan specific package
    guarddog pypi scan <package-name>
    guarddog npm scan <package-name>
    
    # Verify entire requirements file
    guarddog pypi verify requirements.txt
    guarddog npm verify package.json
  2. Present findings:
| # | Package | Indicator | Severity | Description |
|---|---------|-----------|----------|-------------|
  1. Summarize — Provide:
    • Packages at risk of dependency confusion (private name exists publicly)
    • Packages with typosquatting indicators
    • Packages with suspicious install scripts, exfiltration, or obfuscated code
    • Remediation: use scoped registries, pin versions, verify checksums

Malicious Indicators Checked

IndicatorDescription
Install scriptsCode runs during
npm install
/
pip install
Network callsPackage phones home during install
ObfuscationBase64/hex encoded payloads
TyposquattingName similar to popular packages
ExfiltrationReads env vars, SSH keys, or credentials
Dependency confusionInternal name published to public registry