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

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

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

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

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
multi-juicer — 보안 교육 및 Capture The Flags를 위해 여러 Juice Shop 인스턴스를 호스팅하고 관리합니다. | Kitploit
도구/GitHubGitHub/juice-shop/multi-juicer
Web SecurityCTFLearning & EducationLabs & Practice
GitHubjuice-shop/multi-juicer

multi-juicer

보안 교육 및 Capture The Flags를 위해 여러 Juice Shop 인스턴스를 호스팅하고 관리합니다.

저장소 보기
3221779일 전Kitploit 검토 완료

인기

모두 보기 →

커뮤니티에서 가장 많이 사용되는 도구를 찾아보세요.

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

MultiJuicer, 다중 사용자 Juice Shop 플랫폼

CTF 및 보안 교육을 OWASP Juice Shop과 함께 실행하는 것은 일반적으로 꽤 까다롭습니다. Juice Shop은 한 번에 여러 사용자가 사용하도록 설계되지 않았기 때문입니다. 모든 사람에게 자신의 머신에서 Juice Shop을 시작하는 방법을 지시하는 것은 괜찮지만, 너무 많은 소중한 시간을 빼앗아 갑니다.

MultiJuicer를 사용하면 중앙 Kubernetes 클러스터에서 각 참가자에게 별도의 Juice Shop 인스턴스를 실행하여 로컬 Juice Shop 인스턴스 없이 이벤트를 실행할 수 있습니다.

기능:

  • 필요에 따라 동적으로 새로운 Juice Shop 인스턴스 생성
  • 단일 도메인에서 실행되며, 참가자의 Juice Shop 인스턴스로 트래픽을 보내는 LoadBalancer 제공
  • 모든 참가자의 진행 상황을 보여주는 깔끔한 리더보드
  • 인스턴스 관리를 위한 편리한 관리자 페이지
  • Juice Shop 컨테이너 재시작 시 챌린지 진행 상황 백업 및 자동 적용
  • 오래되고 사용되지 않는 인스턴스 자동 정리

MultiJuicer, 고수준 아키텍처 다이어그램

아키텍처 및 개별 구성 요소에 대한 자세한 설명은 아키텍처 문서를 참조하세요.

👉 MultiJuicer가 처음이신가요? 참가자가 등록하고 JuiceShop 인스턴스를 받고 점수가 리더보드에 추적되는 방법에 대한 시각적 둘러보기를 확인하세요.

Installation

MultiJuicer는 Kubernetes에서 실행됩니다. 설치하려면 helm이 필요합니다.

root@kitploit:~
helm install multi-juicer oci://ghcr.io/juice-shop/multi-juicer/helm/multi-juicer

실제 이벤트에서 MultiJuicer를 사용하기 전에 구성해야 할 값 목록은 운영 노트를 참조하세요.

JuiceShop v20+ AI/LLM 관련 챌린지를 지원하도록 MultiJuicer를 설정하려면 AI/LLM 구성 가이드를 참조하세요.

Installation Guides for specific Cloud Providers / Environments

일반적으로 MultiJuicer는 거의 모든 Kubernetes 클러스터에서 실행되지만, Kubernetes를 처음 접하는 분들을 위해 특정 클라우드 제공업체에 대해 MultiJuicer가 설치된 Kubernetes 클러스터를 설정하는 방법에 대한 몇 가지 가이드를 제공합니다.

  • Digital Ocean
  • AWS
  • OpenShift
  • Plain Kubernetes
  • Azure

Customizing the Setup

스택을 설정하는 몇 가지 옵션이 있으며, JuiceShop 인스턴스를 원하는 대로 사용자 지정할 수 있는 옵션이 있습니다. 기본 구성 값은 helm/multi-juicer/values.yaml에서 찾을 수 있습니다.

파일을 다운로드 및 저장하고 다음을 실행하여 helm에 기본값 대신 구성 파일을 사용하도록 지시합니다:

root@kitploit:~
helm install -f values.yaml multi-juicer ./multi-juicer/helm/multi-juicer/

JuiceShop 인스턴스 및 MultiJuicer UI의 테마를 사용자 지정하려면(테마, 로고, 활성화된 챌린지 등) JuiceShop 사용자 지정 가이드를 참조하세요.

Deinstallation

root@kitploit:~
helm delete multi-juicer

FAQ

How much compute resources will the cluster require?

안전하게 계산하려면 다음을 기준으로 계산하세요:

  • 자체적으로 1GB 메모리 및 1CPU 오버헤드
  • 개별 JuiceShop 인스턴스의 경우 300MB 및 0.2CPU * 참가자/팀 수

위의 숫자는 기본 리소스 제한을 반영합니다. 이는 조정할 수 있습니다. 설정 사용자 지정을 참조하세요.

How many users can MultiJuicer handle?

실제 고정된 제한은 없습니다. (하나를 구성할 수는 있지만요 😉) 개별 인스턴스의 모든 트래픽이 흐르는 사용자 정의 LoadBalancer는 원하는 만큼 복제할 수 있습니다. 또한 Horizontal Pod Autoscaler를 연결하여 LoadBalancer를 자동으로 확장할 수 있습니다.

Why a custom LoadBalancer?

사전 구축된 로드 밸런서로는 쉽게 해결할 수 없는 몇 가지 특수 요구 사항이 있습니다:

  • 배포의 사용자 수를 특정 팀의 구성원으로만 제한.
  • 로드 밸런서의 쿠키는 안전해야 하며 다른 인스턴스에 접근하기 위해 쉽게 스푸핑되어서는 안 됨.
  • 새 인스턴스 시작 처리.

사용자 정의 로드 밸런서 없이 이러한 문제를 해결하는 멋진 아이디어가 있다면 저희에게 알려주세요. 여러분의 의견을 듣고 싶습니다!

Why a separate kubernetes deployment for every team?

이에 대한 꽤 좋은 이유가 있습니다:

  • 팀의 인스턴스를 별도로 삭제할 수 있는 기능. 스케일링된 배포에서 활성 팀의 인스턴스를 제거하지 않고 안전하게 축소하는 것은 정말 까다롭습니다. 원하는 스케일만 선택할 수 있고 어떤 포드를 유지하고 버릴지는 선택할 수 없습니다.
  • 포드가 재생성된 후에도 포드가 여전히 팀과 적절하게 연결되도록 보장합니다. 이는 별도 배포에서는 문제가 되지 않지만 스케일링된 배포에서는 정말 어렵습니다.
  • 배포 이름에 팀 이름을 포함할 수 있는 기능. 이는 바보 같은 이유처럼 보이지만 kubectl을 사용하여 디버깅을 훨씬 더 쉽게 만듭니다.

How to manage JuiceShop easily using kubectl?

kubectl의 custom-columns 기능을 사용하여 관련 정보와 함께 모든 JuiceShop을 나열할 수 있습니다.

root@kitploit:~
$ kubectl get -l app.kubernetes.io/name=juice-shop -o custom-columns="TEAM:metadata.labels.team,SOLVED-CHALLENGES:metadata.annotations.multi-juicer\.owasp-juice\.shop/challengesSolved,LAST-REQUEST:metadata.annotations.multi-juicer\.owasp-juice\.shop/lastRequestReadable" deployments
TEAM         SOLVED-CHALLENGES   LAST-REQUEST
foobar       3                   Wed May 4 2042 18:14:22 GMT+0000 (Coordinated Universal Time)
team-42      0                   Wed May 4 2042 18:14:30 GMT+0000 (Coordinated Universal Time)
the-empire   0                   Wed May 4 2042 18:14:46 GMT+0000 (Coordinated Universal Time)

Where did this project come from

이 프로젝트는 독일 기반 소프트웨어 개발 회사인 iteratec에서 자체 개발자와 고객을 위한 보안 교육을 실행하기 위해 시작되었습니다. 그 후 이 프로젝트는 2019년에 오픈 소스로 공개되었고, 2023년에 OWASP 조직 / OWASP Juice Shop 프로젝트에 기부되었습니다.

Talk with Us!

OWASP Slack 워크스페이스의 #project-juiceshop 채널에서 저희에게 연락하실 수 있습니다. 여러분의 피드백이나 사용 보고를 듣고 싶습니다. 이미 OWASP Slack 워크스페이스에 가입하지 않으셨다면 이 링크를 통해 가입할 수 있습니다.

도구 다운로드