Skip to content
KitploitKITPLOIT
ツールブログ
提出
ツールブログ
提出

ハッキング、侵入テスト、サイバーセキュリティツールをあなたのセキュリティアーセナルに!

Kitploitはハッキング、サイバーセキュリティ、ペネトレーションテストのツールディレクトリです。最新のプロジェクトアップデートを見つけて、脆弱性の発見、システム分析、テストの自動化、セキュリティの強化を行いましょう。

··フィード·お問い合わせ·プライバシー·© 2026 Kitploit

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
confused — 複数のパッケージ管理システムにおける依存関係混乱脆弱性をチェックするツール | Kitploit
ツール/GitHubGitHub/visma-prodsec/confused
脆弱性分析サプライチェーンセキュリティ
GitHubvisma-prodsec/confused

confused

複数のパッケージ管理システムにおける依存関係混乱脆弱性をチェックするツール

リポジトリを見る
7871093年前Kitploit レビュー済み

人気

すべて見る →

コミュニティで最も使われているツールを見つけましょう。

すべてのツールを探索

ツールコレクションを閲覧

すべてのツールを見る →
共有

Confused

依存関係設定で参照されているプライベートパッケージ名の未使用の名前空間をチェックするツール。
Python (pypi) の requirements.txt、JavaScript (npm) の package.json、PHP (composer) の composer.json、MVN (maven) の pom.xml に対応。

これは何ですか?

2021年2月9日、セキュリティ研究者のAlex Birsan氏が記事を公開し、複数のプログラミング言語エコシステムの依存関係管理ツールにおける異なる解決順序の欠陥について触れました。

Microsoftは影響を軽減する方法を説明したホワイトペーパーを公開しましたが、根本的な原因は依然として残っています。

ツール出力の解釈

confused はアプリケーションの依存関係定義ファイルを読み取り、そのファイル内の各依存関係エントリについて公開パッケージリポジトリをチェックします。公開リポジトリで見つからなかったパッケージ名をすべて報告します。これは、そのパッケージがこの種の攻撃に対して脆弱である可能性がありながら、まだ悪用されていない状態を示します。

しかし、これはアプリケーションがすでに活発に悪用されていないことを意味するわけではありません。ソフトウェアがプライベートパッケージリポジトリを使用していることがわかっている場合は、信頼できる主体(通常は自分自身または自社)がプライベートパッケージの名前空間を主張していることを確認する必要があります。

既知の誤検出

npmのような一部のパッケージングエコシステムには「スコープ」という概念があり、プライベートまたはパブリックに設定できます。要するに、スコープは上位レベルの名前空間です。スコープは本質的に公開されないため、confused はそれが主張されたかどうかを確実に検出できません。アプリケーションがスコープ付きのパッケージ名を使用している場合は、信頼できる主体が公開リポジトリでそのスコープ名を主張していることを確認する必要があります。

インストール

  • ダウンロード リリースページからプリビルドバイナリをダウンロードし、解凍して実行!

    または

  • 最近のGoコンパイラがインストールされている場合: go get -u github.com/visma-prodsec/confused (同じコマンドで更新も可能)

    または

  • git clone https://github.com/visma-prodsec/confused ; cd confused ; go get ; go build

使用方法

root@kitploit:~
Usage:
 confused [-l LANGUAGENAME] depfilename.ext

Usage of confused:
  -l string
        Package repository system. Possible values: "pip", "npm", "composer", "mvn", "rubygems" (default "npm")
  -s string
        Comma-separated list of known-secure namespaces. Supports wildcards
  -v    Verbose output

例

Python (PyPI)

root@kitploit:~
./confused -l pip requirements.txt

Issues found, the following packages are not available in public package repositories:
 [!] internal_package1

JavaScript (npm)

root@kitploit:~
./confused -l npm package.json

Issues found, the following packages are not available in public package repositories:
 [!] internal_package1
 [!] @mycompany/internal_package1
 [!] @mycompany/internal_package2

# Example when @mycompany private scope has been registered in npm, using -s
./confused -l npm -s '@mycompany/*' package.json

Issues found, the following packages are not available in public package repositories:
 [!] internal_package1

Maven (mvn)

root@kitploit:~
./confused -l mvn pom.xml

Issues found, the following packages are not available in public package repositories:
 [!] internal
 [!] internal/package1
 [!] internal/_package2

Ruby (rubygems)

root@kitploit:~
./confused -l rubygems Gemfile.lock

Issues found, the following packages are not available in public package repositories:
 [!] internal
 [!] internal/package1
 [!] internal/_package2
 
ツールをダウンロード