Communityコーディング&開発github.com

yaklang/dependency-confusion

パッケージマネージャーの依存関係混乱によるサプライチェーン脆弱性をテストするスキル。内部パッケージ名が攻撃者制御の公開レジストリに解決され、悪意のあるインストールやスクリプト実行を引き起こす問題を検出します。npm、pip、gem、Maven、Composer、Dockerマニフェストのレビューや、許可されたレッドチームによるサプライチェーン演習に使用します。

dependency-confusion とは?

このスキルは、パッケージマネージャー依存関係混乱(dependency confusion)攻撃を検出・テストするためのツールです。依存関係混乱は、内部で使用しているパッケージ名が公開レジストリ上で攻撃者によって登録されている場合、開発環境やビルド環境が意図せず悪意のあるパッケージをインストールしてしまう脆弱性です。このスキルは、npm/pip/gem/Maven/Composerといった主要なパッケージマネージャーやDockerイメージのマニフェストファイルをレビューし、内部パッケージ名が公開レジストリで解決可能かどうかをチェックします。また、許可されたレッドチーム演習において、サプライチェーン攻撃のシミュレーションを安全に実施するためのフレームワークも提供します。Yaklangエコシステムと統合されており、CI/CDパイプラインへの組み込みや、自動化されたセキュリティテストに適しています。

対応~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/yaklang/hack-skills/tree/main/skills/dependency-confusion

Installed? Explore more コーディング&開発 skills: steipete/bluebubbles, steipete/eightctl, steipete/blucli · View all 6 →

お気に入りのAIに質問する

このエージェントスキルを事前に読み込んだ状態で新しいチャットを開きます。

ドキュメント

dependency-confusion は何をしますか?

パッケージマネージャーの依存関係混乱によるサプライチェーン脆弱性テスト:内部パッケージ名が攻撃者制御の公開レジストリに解決され、悪意のあるインストールやスクリプト実行を引き起こす問題を検出します。npm、pip、gem、Maven、Composer、Dockerマニフェストのレビューや、許可されたレッドチームによるサプライチェーン演習に使用します。

概要

依存関係混乱(Dependency Confusion)は、ソフトウェアサプライチェーン攻撃の一種で、組織が内部でのみ使用しているプライベートパッケージ名が、公開レジストリ(npm, PyPI, RubyGems, Maven Central, Packagist, Docker Hubなど)に存在する場合に発生します。パッケージマネージャーが内部レジストリよりも公開レジストリを優先すると、攻撃者は同じ名前の悪意あるパッケージを公開し、開発環境やビルド環境にインストールさせることが可能になります。

このスキルは、以下の機能を提供します:

  • 各種パッケージマニフェストの解析
  • 依存関係名と公開レジストリ上のパッケージの照合
  • 潜在的な依存関係混乱脆弱性の報告
  • 許可された環境でのサプライチェーン攻撃シミュレーション

対応パッケージマネージャー

マネージャーマニフェストファイル公開レジストリ
npmpackage.jsonhttps://registry.npmjs.org
piprequirements.txt, Pipfile, setup.py, pyproject.tomlhttps://pypi.org
gemGemfile, *.gemspechttps://rubygems.org
Mavenpom.xmlhttps://repo.maven.apache.org/maven2
Composercomposer.jsonhttps://packagist.org
DockerDockerfile, docker-compose.ymlDocker Hub

使用方法

マニフェストのスキャン

yak scan dependency-confusion --manifest package.json --manager npm

ディレクトリ全体の再帰的スキャン

yak scan dependency-confusion --dir ./project --recursive

レッドチーム演習モード(許可が必要)

yak scan dependency-confusion --redteam --registry https://evil-registry.example.com

注意: レッドチーム演習は、明示的な許可を得た環境でのみ実施してください。

出力例

{
  "vulnerabilities": [
    {
      "package": "internal-lib",
      "manager": "npm",
      "status": "VULNERABLE",
      "public_version": "1.0.0",
      "registry_url": "https://registry.npmjs.org/internal-lib"
    }
  ],
  "safe_packages": [
    {
      "package": "@internal/private-lib",
      "manager": "npm",
      "status": "SCOPE_PROTECTED"
    }
  ]
}

環境変数

  • YAK_DC_REGISTRY_URL: カスタムレジストリURLを指定します。
  • YAK_DC_TIMEOUT: レジストリクエストのタイムアウト(秒)を設定します(デフォルト: 10)。
  • YAK_DC_THREADS: スキャンの並列スレッド数を指定します(デフォルト: 5)。

制限事項

  • このスキルは教育目的および許可されたセキュリティテストのためにのみ使用してください。
  • スコープ付きパッケージ(例:@scope/package)は通常、公開レジストリでは衝突が発生しないとみなされます。
  • 実際の攻撃実行は、法律および契約に従い、適切な許可を得た場合にのみ行ってください。

Individual skills in this repo

This repo contains 20 individual skills — each has its own dedicated page.

yaklang/401-403-bypass-techniques

401/403 bypass playbook. Use when encountering access-denied responses on admin panels, API endpoints, or restricted paths. Covers path manipulation, HTTP method tampering, header injection, protocol downgrade, and automated bypass tools.

yaklang/active-directory-acl-abuse

Active Directory ACL abuse playbook. Use when exploiting misconfigured AD permissions including GenericAll, WriteDACL, DCSync rights, shadow credentials, LAPS reading, GPO abuse, and BloodHound-guided attack paths.

yaklang/active-directory-certificate-services

AD Certificate Services attack playbook. Use when targeting misconfigured AD CS for privilege escalation via ESC1-ESC13 template abuse, NTLM relay to enrollment, CA officer abuse, and certificate-based persistence.

yaklang/active-directory-kerberos-attacks

Kerberos attack playbook for Active Directory. Use when targeting AD authentication via AS-REP roasting, Kerberoasting, golden/silver/diamond tickets, delegation abuse, or pass-the-ticket attacks.

yaklang/ai-ml-security

AI/ML security playbook. Use when assessing model supply chain attacks (pickle RCE, poisoned weights), adversarial examples, model poisoning, model stealing, data privacy attacks (membership inference, model inversion), and autonomous agent security risks.

yaklang/android-pentesting-tricks

Android pentesting playbook. Use when testing Android applications for SSL pinning bypass, exported component abuse, WebView vulnerabilities, intent redirection, root detection bypass, tapjacking, and backup extraction during authorized mobile security assessments.

yaklang/anti-debugging-techniques

Anti-debugging detection and bypass playbook. Use when reversing protected binaries that detect debuggers via ptrace, PEB flags, timing checks, or signal/exception handlers on Linux and Windows.

yaklang/api-auth-and-jwt-abuse

API authentication and JWT abuse playbook. Use when testing bearer tokens, API keys, claim trust, header spoofing, rate limits, and API auth boundary weaknesses.

yaklang/api-authorization-and-bola

API authorization and BOLA testing playbook. Use when APIs expose object identifiers, nested resources, hidden writable fields, or weak function-level authorization.

yaklang/api-recon-and-docs

API reconnaissance and documentation review playbook. Use when discovering endpoints, schemas, versions, OpenAPI specs, hidden docs, and surface area for API testing.

yaklang/api-sec

Entry P1 category router for API security. Use when choosing between API recon, authorization, token abuse, and hidden-parameter workflows before any deeper API topic skill.

yaklang/arbitrary-write-to-rce

Arbitrary write to RCE playbook. Use when you have an arbitrary write primitive (from heap exploitation, format string, or OOB write) and need to convert it into code execution by targeting GOT, hooks, _IO_FILE vtable, exit_funcs, TLS_dtor_list, modprobe_path, .fini_array, or C++ vtables.

yaklang/authbypass-authentication-flaws

Authentication bypass testing playbook. Use when assessing login flows, password reset logic, account recovery, MFA bypass, token predictability, brute-force resistance, and session boundary flaws.

yaklang/auth-sec

Entry P1 category router for authentication and authorization. Use when testing login flows, sessions, object authorization, JWT, OAuth, CORS, CSRF, and enterprise SSO weaknesses before any deeper auth topic skill.

yaklang/binary-protection-bypass

Binary protection bypass playbook. Use when identifying and bypassing ASLR, PIE, NX/DEP, stack canary, RELRO, FORTIFY_SOURCE, CET, and MTE protections in ELF binaries to enable exploitation.

yaklang/browser-exploitation-v8

Browser and V8 exploitation playbook. Use when exploiting JavaScript engine vulnerabilities including JIT type confusion, incorrect bounds elimination, and V8 sandbox bypass to achieve renderer RCE and sandbox escape in Chrome/Chromium.

yaklang/business-logic-vuln

Entry P1 category router for business logic testing. Use when workflow abuse, race conditions, pricing flaws, or multi-step state attacks matter more than parser-level input injection.

yaklang/business-logic-vulnerabilities

Business logic vulnerability playbook. Use when reasoning about workflows, race conditions, price manipulation, coupon abuse, state machines, and multi-step authorization gaps.

yaklang/classical-cipher-analysis

Classical cipher analysis playbook. Use when encountering substitution ciphers, Vigenere, transposition, XOR, or encoded text in CTF challenges that requires frequency analysis, Kasiski examination, or known-plaintext cryptanalysis.

yaklang/clickjacking

Clickjacking playbook. Use when testing whether target pages can be framed, whether X-Frame-Options or CSP frame-ancestors are properly configured, and whether UI redress attacks can trigger sensitive actions.

関連スキル