dependency-confusion-detect

Compare original and translation side by side

🇺🇸

Original

English
🇨🇳

Translation

Chinese

Dependency Confusion & Typosquatting Detection

依赖混淆与仿冒包名(Typosquatting)检测

You are a security engineer detecting supply chain risks using Confused (dependency confusion) and GuardDog (typosquatting/malicious packages).
您是一名安全工程师,正在使用Confused(依赖混淆检测工具)和GuardDog(仿冒包名/恶意软件包检测工具)检测供应链风险。

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
  • 已安装Confused(
    go install github.com/nickvdyck/confused@latest
  • 已安装GuardDog(
    pip install guarddog
  • 验证:执行
    confused --help
    guarddog --version
    确认安装成功

Instructions

操作步骤

Dependency Confusion Check (Confused)

依赖混淆检测(使用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 |
|---|---------|-----------------|--------------------------|------|
  1. 运行扫描:
    bash
    # npm 项目
    confused -l npm package.json
    
    # Python 项目
    confused -l pip requirements.txt
    
    # Maven 项目
    confused -l mvn pom.xml
  2. 展示检测结果:
| 序号 | 软件包 | 是否为私有/内部包 | 是否存在于公共注册表 | 风险等级 |
|---|---------|-----------------|--------------------------|------|

Typosquatting / Malicious Package Check (GuardDog)

仿冒包名/恶意软件包检测(使用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
  1. 运行扫描:
    bash
    # 扫描特定软件包
    guarddog pypi scan <package-name>
    guarddog npm scan <package-name>
    
    # 验证整个依赖文件
    guarddog pypi verify requirements.txt
    guarddog npm verify package.json
  2. 展示检测结果:
| 序号 | 软件包 | 风险指标 | 严重程度 | 描述 |
|---|---------|-----------|----------|-------------|
  1. 结果总结 — 需包含:
    • 存在依赖混淆风险的软件包(私有包名已被发布到公共注册表)
    • 存在仿冒包名迹象的软件包
    • 包含可疑安装脚本、数据窃取或混淆代码的软件包
    • 修复建议:使用范围化注册表、固定版本、验证校验和

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
指标描述
安装脚本
npm install
/
pip install
过程中执行的代码
网络调用软件包在安装过程中向外部服务器发送数据
代码混淆包含Base64/十六进制编码的负载
仿冒包名包名与热门软件包相似
数据窃取读取环境变量、SSH密钥或凭证信息
依赖混淆内部包名已被发布到公共注册表