Skip to content
KitploitKITPLOIT
도구블로그
제출
도구블로그
제출

해킹, 침투 테스트 및 사이버 보안 도구를 당신의 보안 무기고에!

Kitploit은 해킹, 사이버 보안 및 침투 테스트 도구 디렉토리입니다. 최신 프로젝트 업데이트를 발견하여 취약점을 찾고, 시스템을 분석하고, 테스트를 자동화하고, 보안을 강화하세요.

··피드·문의·개인정보·© 2026 Kitploit

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
confused — 여러 패키지 관리 시스템에서 종속성 혼동 취약점을 확인하는 도구 | Kitploit
도구/GitHubGitHub/visma-prodsec/confused
Vulnerability AnalysisSupply Chain Security
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이 Medium에 글을 게시하여 여러 프로그래밍 언어 생태계에 존재하는 종속성 관리 도구의 다양한 해결 순서 취약점을 다루었습니다.

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
 
도구 다운로드