PAGES
← all tools
◆ Web Application Security

juice-shop

v20.3.0 open-source

OWASPOWASPA nonprofit foundation that publishes open standards, guides, and ranked vulnerability lists—most famously the OWASP Top 10—giving cyber tools a vendor-neutral benchmark to test or report against. Juice Shop is an intentionally insecure web application that developers and security professionals use to practice finding and exploiting common vulnerabilities.

Summary

juice-shop is an open-source, free web application deliberately built with security vulnerabilities, used to practice finding and exploiting flaws such as SQL injectionSQL injectionAn attack that makes an application treat untrusted input as part of a database command. It can expose or modify data by changing what the query does., XSSXSSCross-site scripting, an attack that runs malicious script in another user's browser through a trusted site. It can steal data or perform actions using the user's session., and prompt injectionprompt injectionAn attack where text the model reads, such as a web page, file or tool result, carries instructions that override the user's. It is the main security risk for agents with tools. against its built-in chatbot. It runs self-hosted, typically via Docker or Node.js, on a laptop or in a CTFCTFCapture The Flag — a competitive hacking challenge format where participants exploit intentionally vulnerable systems or puzzles to retrieve hidden strings, used by cyber tools to practice and demonstrate offensive and defensive techniques. platform like MultiJuicer, which it integrates with to show system-wide notifications to players. It's aimed at developers, security trainers, and CTF organizers teaching or practicing web application security, and it carries OWASP flagship status as a widely used vulnerable-app training target alongside coding challenges that walk players through fixing what they exploit. First committed in 2014, it remains active with over 200 contributors, thousands of commits in the past year, and a release only 59 days old.

OWASP Juice Shop is an intentionally insecure web application that developers and security professionals use to practice finding and exploiting common vulnerabilities.

How juice-shop helps

Which classes of web vulnerabilities can I get hands-on practice exploiting before I meet them in production code?

ships a running shop front end riddled with deliberately planted flaws — SQL injection, XSS, broken access control and more — organized into scored challenges so practice maps to a name

Can my team practice writing the fix instead of just moving on to the next exploit?

pairs many challenges with a coding phase that has players find the vulnerable line and then submit a patch, checked against the same flaw they just exploited

How do I run a scored competition for a group without building the scoring myself?

tracks solved challenges on a live score board and plugs into CTF platforms like MultiJuicer, surfacing that platform's system-wide notifications to every player

Is someone in my session cheating by hitting solution pages instead of solving challenges?

flags direct access to tracking pixels as guaranteed cheating and excludes loosely coupled challenges from timing-based cheat scoring

Can I give my team hands-on practice against prompt injection on a real chatbot, not just SQL injection and XSS?

includes challenges like system prompt extraction and chatbot manipulation that require pointing the shop at a configured LLM endpoint, with token and tool-call usage exposed as metrics

Will last year's solution guide or CTF setup still line up with what players see today?

warns that renamed challenge tags, removed configuration fields, and reworked challenges break old customization files and canned walkthroughs across releases

all 25 features, with the evidence for each →

Languages

English, Arabic, Bengali, Bulgarian, Catalan, Chinese (Simplified), Chinese (Traditional), Czech, Danish, Dutch, Estonian, Finnish, French, German, Greek, Hebrew, Hindi, Hungarian, Indonesian, Italian, Japanese, Korean, Latvian, Norwegian, Persian, Polish, Portuguese, Romanian, Russian, Spanish, Swedish, Thai, Turkish, Ukrainian Interface: English, Arabic, Bengali, Bulgarian, Catalan, Chinese (Simplified), Chinese (Traditional), Czech, Danish, Dutch, Estonian, Finnish, French, German, Greek, Hebrew, Hindi, Hungarian, Indonesian, Italian, Japanese, Korean, Latvian, Persian, Polish, Portuguese, Romanian, Russian, Spanish, Swedish, Thai, Turkish, Ukrainian · Release notes: Bulgarian, Chinese (Simplified), Chinese (Traditional), Estonian, French, Hebrew, Hindi, Hungarian, Japanese, Korean, Norwegian, Romanian, Spanish, Turkish Hebrew added in v8.4.0 (Mar 7, 2019) · Bulgarian, Korean added in v8.2.0 (Dec 6, 2018) · Chinese (Simplified), Estonian, French, Hindi added in v7.1.0 (Apr 26, 2018) · Chinese (Traditional) added in v6.4.0 (Jan 27, 2018) · Hebrew added in v4.0.0 (Jun 25, 2017)

Features

25 capabilities

Built from juice-shop's releases, docs, README and our own runs. “Seen” marks the month we first spotted a release the vendor didn't date. Group names and tags are our labels.

Compare with peers →

What juice-shop offers you

  • Multi-factor authentication1
  • Outbound webhooks (the product notifies you)1
  • REST API1
  • Role-based access control1
All capabilities 25 capabilities
Challenge environment configuration shipped suggested Exposes configuration options to customise challenge behaviour, such as the attack origin used in the CSRF challenge and toggling dangerous challenges off on specific deployment targets. 47 releases · 8 other sources · first seen Nov 2016

Suggested capability: Web vulnerability scanning. This is our guess, not confirmed.

release 47 total

  • Disables the dangerous Deprecated Interface challenge on Docker/Heroku by default. v20.2.0 · Aug 2026 · source · release history
  • New overwriteUrlForCsrfChallenge configuration option to customize the attack origin used in the CSRF challenge. v20.1.0 · Jun 2026 · source · release history
  • Adds overwriteUrlForCsrfChallenge configuration option to customize the attack origin for the CSRF challenge. v20.1.0 · Jun 2026 · source · release history
  • Added support for Node.js 20.x runtime v15.0.0 · May 2023 · source · release history
  • Adds challenges.showFeedbackButtons config key to enable buttons on solved challenges v13.0.0 · Nov 2021 · source · release history
  • Renames challenges.showCodeSnippets to challenges.codingChallengesEnabled v13.0.0 · Nov 2021 · source · release history

example 8 total

  • Customize the attack origin used in the CSRF challenge — useful when running Juice Shop behind a reverse proxy or on a non-default hostname. overwriteUrlForCsrfChallenge: 'http://evil.example.com' v20.1.0 · Jun 2026 · source
  • Start the service in tutorial-only mode without editing configuration files manually. NODE_ENV=tutorial node app.js v10.2.0 · Apr 2020 · source
  • Serve Juice Shop from a sub-directory by setting the environment variable before startup. export BASE_PATH=/juice-shop; node app.js v10.1.0 · Mar 2020 · source
  • Fetch the application's hacking progress and health metrics from the new Prometheus endpoint. curl http://localhost:3000/metrics v10.0.0 · Mar 2020 · source
  • Customize the Prometheus metric label prefix and configure a GCP OAuth app for login. application: customMetricsPrefix: 'juiceshop' googleOAuth: client_id: 'your-gcp-client-id.apps.googleusercontent.com' v10.0.0 · Mar 2020 · source
  • Tailor the OWASP Juice Shop interface to match internal corporate branding for security awareness training. Refer to CUSTOMIZATION.md in the repository root to configure inventory content and visual styles. v2.25.0 · Apr 2017 · source
Vulnerable web application challenge set shipped Provides a library of deliberately vulnerable coding and exploitation challenges covering topics such as NFT takeover, CSRF, cloud admin login, misplaced IaC files, and vulnerable infrastructure. 44 releases · 10 other sources · first seen Oct 2014

release 44 total

  • Adds new -challenge Vulnerable Infrastructure (including coding challenge) to the challenge set. v20.2.0 · Aug 2026 · source · release history
  • Adds new -challenge Misplaced IaC Files to the challenge set. v20.2.0 · Aug 2026 · source · release history
  • Adds new -challenge Login Cloud Admin (including coding challenge) to the challenge set. v20.2.0 · Aug 2026 · source · release history
  • Adds the Vulnerable Infrastructure challenge including a coding component v20.2.0 · Aug 2026 · source · release history
  • Adds the Misplaced IaC Files challenge to the application v20.2.0 · Aug 2026 · source · release history
  • Adds the Login Cloud Admin challenge including a coding component v20.2.0 · Aug 2026 · source · release history

docs

  • Intentionally insecure web application covering OWASP Top Ten vulnerabilities, used for security training, CTFs, and testing cyber tools.

example 9 total

  • View the updated scoring board which now reflects coding challenge completion status stored in the database Open the Score Board page in the application UI to see persistence of coding challenge solutions. v12.9.0 · Sep 2021 · source
  • Observe the new toast-based UI feedback for challenge completion events. In the application interface, complete a challenge to verify 'Challenge Solved' appears as a toast notification. v12.5.0 · Jan 2021 · source
  • Override the default bonus payload for the XSS challenge in the configuration file. challenges: xssBonusPayload: "<script>alert('custom')</script>" v10.1.0 · Mar 2020 · source
  • Test the new pomace recycling feature by locating the option in the order confirmation or account settings UI after placing an order. Steps: Place an order, look for the 'Pomace Recycling' checkbox or link in the checkout/confirmation screen to request pickup or delivery. v4.0.0 · Jun 2017 · source
  • Demonstrate the new registration flow by navigating to the signup page and answering the security question prompt. Steps: Navigate to `/register`, fill in details, select and answer a security question when prompted. v4.0.0 · Jun 2017 · source
  • Inject a CTF key without modifying source code for competitive events. CTF_KEY=SECRET123 node app.js v4.1.0 · Jun 2017 · source
Challenge inventory management shipped Allows configuring product-based challenges and user registration flows, including soft-deletion, blueprint retrieval, security questions, and custom checkout options. 19 releases · 4 other sources · first seen Jun 2017

release 19 total

  • Adds search functionality to the language selection dropdown for faster language discovery. v17.3.0 · Apr 2025 · source · release history
  • Adds BlueSky and Mastodon profile links to the About Us screen. v17.2.0 · Mar 2025 · source · release history
  • Adds blueSkyUrl and mastodonUrl fields to the social section of the configuration. v17.2.0 · Mar 2025 · source · release history
  • Added optional scoreBoard.scoreBoardVersion property to persist/restore score-board-version from browser local storage. v15.3.0 · Nov 2023 · source · release history
  • Added warning-only startup check for domains being reachable from the server, e.g. https://www.alchemy.com/. v15.3.0 · Nov 2023 · source · release history
  • Adds Internet Traffic tag to mark challenges requiring external server calls v15.2.0 · Sep 2023 · source · release history

example

  • Wire up your Juice Shop instance's About Us page with BlueSky and Mastodon links by adding the new social fields to your config. social: blueSkyUrl: "https://bsky.app/profile/yourorg.bsky.social" mastodonUrl: "https://infosec.exchange/@yourorg" v17.2.0 · Mar 2025 · source
  • Locate the new OWASP 20th Anniversary ticket in the shop to verify it appears in the catalog. Search for '20th Anniversary Celebration Ticket' in the OWASP Juice Shop product list v12.8.1 · Jun 2021 · source
  • Launch a specific hacking instructor tutorial directly from the browser URL bar. /#/hacking-instructor?challenge=Score%20Board v10.1.0 · Mar 2020 · source
  • Configure a custom file for the new blueprint challenge in the product inventory. fileForRetrieveBlueprintChallenge: '/static/assets/public/images/blueprint.png' v4.1.0 · Jun 2017 · source
Runtime and dependency compatibility shipped Supports current Node.js runtimes and uses a WASM-based XML library to eliminate native build dependencies, with configurable script execution controls. 21 releases · first seen Nov 2021

release 21 total

  • Adds allowScripts configuration key to package.json and frontend/package.json. v20.2.0 · Aug 2026 · source · release history
  • Switches from native libxmljs2 to WASM-based libxml2-wasm, eliminating native build dependencies. v20.1.0 · Jun 2026 · source · release history
  • Supports Node.js 26.x runtime. v20.1.0 · Jun 2026 · source · release history
  • Adds support for Node.js 24.x runtime. v19.0.0 · Sep 2025 · source · release history
  • Switches XML parser from libxmljs to libxmljs2, supporting up to at least Node.js 24. v18.0.0 · Jun 2025 · source · release history
  • Node.js 18.x is no longer supported; packaged distributions for 18.x are no longer provided — upgrade to Node.js 20.x or 22.x before upgrading Juice Shop. v18.0.0 · Jun 2025 · source · release history
JSON-based B2B ordering API shipped Provides a NextGen B2B API (/b2b/v2) that accepts customer orders and order lines in JSON format, secured with JWT bearer authentication, replacing the previously offered XML-based B2B endpoints. 11 releases · 6 other sources · first seen Dec 2016

Also counts toward: REST API

release 11 total

  • Introduces the NextGen B2B API v2.0.0 at base path /b2b/v2, a JSON-based enterprise ordering API that deprecates the previously offered XML-based endpoints. api-docs-86f7c62a8474 · Oct 2026 · source · release history
  • Adds POST /b2b/v2/orders endpoint (createCustomerOrder) accepting a JSON Order body (requiring cid, optional orderLines / orderLinesData) and returning an OrderConfirmation with cid, orderNo, and paymentDue (date, 14-day terms); secured with JWT Bearer auth.⁠︀︄︇︀︅︉︀︅︀︀︃︀︀︅︅︀︅︊︀︄︆︀︃︄⁠ api-docs-86f7c62a8474 · Oct 2026 · source · release history
  • Adds POST /b2b/v2/orders endpoint (createCustomerOrder) for placing customer orders in JSON format, returning an OrderConfirmation with cid, orderNo, and paymentDue fields.⁠︀︄︇︀︅︉︀︅︀︀︃︀︀︅︅︀︅︊︀︄︆︀︃︄⁠ api-docs-d99d1c6c03dd · Oct 2026 · source · release history
  • The previously offered XML-based B2B endpoints are deprecated in favour of the new JSON-based /b2b/v2 API; integrations relying on the XML endpoints should migrate. api-docs-d99d1c6c03dd · Oct 2026 · source · release history
  • Deprecation notice: New & secure JSON-based API for our enterprise customers. (Deprecates previously offered XML-based endpoints) api-docs-d99d1c6c03dd · Oct 2026 · source · release history
  • Launches the NextGen B2B API (/b2b/v2) as a JSON-based replacement for the previously offered XML-based B2B endpoints. api-docs-d99d1c6c03dd · Oct 2026 · source · release history

docs

  • 52 lines (52 loc) · 2.25 KB File metadata and controls 52 lines (52 loc) · 2.25 KB Raw Copy raw file Download raw file Open symbols panel Edit and raw actions openapi : servers : url : /b2b/v2 info : version : title : ' NextGen B2B API ' description : ' New & secure JSON-based API for our enterprise customers. api-docs-d99d1c6c03dd · Oct 2026 · source

example

  • Submit an order using the customer-specific orderLinesData free-form JSON string field instead of structured orderLines. curl -X POST https://<host>/b2b/v2/orders \ -H 'Authorization: Bearer <jwt_token>' \ -H 'Content-Type: application/json' \ -d '{"cid": "JS0815DE", "orderLinesData": "[{\"productId\": 12,\"quantity\":… api-docs-86f7c62a8474 · Oct 2026 · source
  • Place a new customer order via the B2B API using a JWT token and structured order lines. curl -X POST https://<host>/b2b/v2/orders \ -H 'Authorization: Bearer <jwt_token>' \ -H 'Content-Type: application/json' \ -d '{"cid": "JS0815DE", "orderLines": [{"productId": 8, "quantity": 500,… api-docs-86f7c62a8474 · Oct 2026 · source
  • Place a structured customer order against the new B2B v2 API using a JWT bearer token. curl -X POST https://<host>/b2b/v2/orders \ -H 'Authorization: Bearer <jwt>' \ -H 'Content-Type: application/json' \ -d '{"cid": "JS0815DE", "orderLines": [{"productId": 8, "quantity": 500,… api-docs-d99d1c6c03dd · Oct 2026 · source
  • Submit order lines in a customer-specific JSON string format using the orderLinesData field instead of the structured array. curl -X POST https://<host>/b2b/v2/orders \ -H 'Authorization: Bearer <jwt>' \ -H 'Content-Type: application/json' \ -d '{"cid": "JS0815DE", "orderLinesData": "[{\"productId\": 12,\"quantity\":… api-docs-d99d1c6c03dd · Oct 2026 · source
  • View the QR code for Bitcoin donations in the UI In your browser, navigate to the 'Your Basket' screen. Locate and interact with the Bitcoin donation option to open the QR code modal dialog. v2.20.0 · Dec 2016 · source
Cheat detection for challenge submissions shipped Detects copied or plagiarised challenge submissions by comparing source files using Dice Coefficient and n-gram similarity scoring. 16 releases · 1 other source · first seen Feb 2017

release 16 total

  • Adds cheat detection for source file overlap in challenge submissions using Dice Coefficient similarity scoring. v20.2.0 · Aug 2026 · source · release history
  • Enables Dice Coefficient-based cheat detection for source file overlap in challenge submissions v20.2.0 · Aug 2026 · source · release history
  • Cheat detection now treats direct access to tracking pixels as guaranteed cheating, and loosely coupled challenges no longer trigger cheat scoring based on timing. v20.0.0 · May 2026 · source · release history
  • Adds cheat detection for coding challenges (based on solving speed in relation to code snippet length and selectable fix options) v12.10.0 · Oct 2021 · source · release history
  • Adds panels for new coding challenge metrics to Grafana dashboard template v12.10.0 · Oct 2021 · source · release history
  • Adds Prometheus metrics juiceshop_coding_challenges_progress and juiceshop_coding_challenges_accuracy v12.10.0 · Oct 2021 · source · release history

example

  • Use the new UI to filter Score Board challenges by specific tags like OSINT or Brute Force. In the browser, navigate to the Score Board page and click the 'OSINT' or 'Brute Force' filter buttons in the Tags column header. v12.0.0 · Sep 2020 · source
Platform distribution support shipped Provides pre-built binary distributions for Windows and MacOS, ensuring runtime compatibility across supported operating systems. 9 releases · first seen May 2019

release 9 total

  • Continues codes for local backup now retrieve the fallback value from a cookie instead of only server-side storage. v14.4.0 · Jan 2023 · source · release history
  • Adds latest-arm, snapshot-arm and vX.Y.Z-arm Docker image tags built for linux/arm64 and linux/arm/v7 architectures. v13.2.0 · Jan 2022 · source · release history
  • latest, snapshot and vX.Y.Z Docker image tags are now only built for linux/amd64 and no longer include ARM support. v13.2.0 · Jan 2022 · source · release history
  • Adds support for linux/arm/v7 and linux/arm64 platforms in Docker images alongside linux/amd64 v12.2.0 · Dec 2020 · source · release history
  • Docker images now run smoke tests before pushing to DockerHub v11.1.1 · Jun 2020 · source · release history
  • Added experimental packaged distributions for Linux on Arm64 processors v10.2.0 · Apr 2020 · source · release history
Coding and challenge environment configuration shipped Includes challenges that simulate prompt injection and system prompt extraction attacks against an integrated chatbot, with similarity-based answer checking. 5 releases · 1 other source · first seen Sep 2021

previously: AI/LLM attack challenges

release

  • Supports n-gram similarity checks for the System Prompt Extraction challenge. v20.2.0 · Aug 2026 · source · release history
  • New three-star challenge: _System Prompt Extraction_ — a prompt injection attack against the chatbot. v20.1.0 · Jun 2026 · source · release history
  • Adds support for // vuln-code-snippet neutral-line comments in coding challenge code snippets to mark lines with no impact on verdict. v12.11.0 · Nov 2021 · source · release history
  • Added an additional tab to Coding Challenges for selecting an assumed fix from provided options after correct vulnerability identification v12.9.0 · Sep 2021 · source · release history
  • Coding Challenges now allow selecting and submitting a single vulnerable line for verdict instead of full code snippets v12.9.0 · Sep 2021 · source · release history

example

  • Demonstrate the new per-line vulnerability selection flow in the Coding Challenges interface Navigate to the Coding Challenges section, select a challenge, click on the specific vulnerable line within the code snippet, and submit your verdict. v12.9.0 · Sep 2021 · source
Scoreboard UI configuration shipped Allows customizing the score board interface, including version toggling and persistence of user preferences. 5 releases · first seen Sep 2023

release

  • Supports displaying CTF system-wide notifications from MultiJuicer and other CTF systems via a configurable endpoint. v19.2.0 · Mar 2026 · source · release history
  • Payloads in challenge descriptions on the Score Board can now be copied to clipboard by clicking on them. v19.2.0 · Mar 2026 · source · release history
  • Inverted banners and option to switch layouts allows setting the legacy Score Board as default v16.0.0 · Dec 2023 · source · release history
  • Added optional scoreBoard.scoreBoardVersion property to persist/restore score-board-version from browser local storage. v15.3.0 · Nov 2023 · source · release history
  • Adds a fully re-designed Score Board UI with toggle between old and new versions v15.1.0 · Sep 2023 · source · release history
Multi-language and i18n support for challenges and inventory shipped Enables internationalization of challenge hints, security questions, and inventory product names and descriptions through configurable YAML translation files. 5 releases · first seen Oct 2019

release

  • Added (Irish) language support v14.5.1 · Feb 2023 · source · release history
  • Extended (Swiss German) translation coverage v14.5.1 · Feb 2023 · source · release history
  • Adds Armenian () language support to the application interface v11.1.1 · Jun 2020 · source · release history
  • Completes translation of all backend strings for German () language support. v9.1.3 · Oct 2019 · source · release history
  • Adds i18n to the backend to provide translations in default.yml configuration for product names, descriptions, challenge hints, and security questions v9.1.0 · Oct 2019 · source · release history
Web3 challenge support shipped Provides a suite of challenges involving smart contracts, NFTs, and wallet interactions, requiring external blockchain access. 4 releases · first seen Feb 2023

release

  • Challenges Mint the Honeypot and Wallet Depletion now require an ALCHEMY_API_KEY environment variable to function. v20.0.0 · May 2026 · source · release history
  • Adds coding challenges for the _Wallet Depletion_ and _Mint the Honeypot_ challenges. v19.2.0 · Mar 2026 · source · release history
  • New Web3 challenge suite: Web3 Sandbox, NFT Takeover, Mint the Honey Pot, and Wallet Depletion v15.1.0 · Sep 2023 · source · release history
  • Removes dedicated 32-bit ARM Docker image due to Node.js 14.x EOL and compatibility issues v14.5.0 · Feb 2023 · source · release history
User privacy and security management shipped Provides dedicated menus and configuration screens for users to manage 2FA, access GDPR data exports via CAPTCHA-protected endpoints, and update security questions. 3 releases · 1 other source · first seen Apr 2019

Also counts toward: Multi-factor authentication

release

  • Added #660 initial Request Data Export screen for GDPR compliance which requires a strong CAPTCHA before download v8.5.0 · Apr 2019 · source · release history
  • Added #939 setup screens to enable or disable two-factor authentication (2FA) for user accounts v8.5.0 · Apr 2019 · source · release history
  • Added dedicated Privacy & Security menu for all related user settings and information v8.5.0 · Apr 2019 · source · release history

example

  • Request a GDPR data export using the new screen with CAPTCHA validation. Navigate to the 'Request Data Export' screen and complete the strong CAPTCHA to initiate the download. v8.5.0 · Apr 2019 · source
Product image format and density configuration shipped Allows configuring and serving product images in modern formats such as AVIF across multiple display densities. 2 releases · 1 other source · first seen Oct 2026

release

  • Adds optional alternateImages configuration property to define alternative product image formats and densities.⁠︀︄︇︀︅︉︀︅︀︀︃︀︀︅︅︀︅︊︀︄︆︀︃︄⁠ v20.3.0 · Oct 2026 · source · release history
  • Adds responsive AVIF product images across 1x, 2x, and 3x display densities. v20.3.0 · Oct 2026 · source · release history

example

  • Serve modern AVIF images at multiple resolutions for a custom product by declaring alternateImages in your instance configuration. alternateImages: - format: avif density: 1x path: /assets/public/images/products/my-product.avif - format: avif density: 2x path: /assets/public/images/products/my-product@2x.avif - format: avif… v20.3.0 · Oct 2026 · source
LLM and AI challenge support shipped Enables the configuration of external LLM endpoints to host specific challenges involving prompt injection, manipulation, and debugging. 2 releases · 1 other source · first seen May 2026

release

  • New System Prompt Extraction challenge: prompt injection attack against the chatbot. v20.1.0 · Jun 2026 · source · release history
  • Adds three new AI/LLM challenges — Chatbot Prompt Injection (), Greedy Chatbot Manipulation (), and AI Debugging () — requiring a configured LLM/AI endpoint. v20.0.0 · May 2026 · source · release history

example

  • Enable the new AI challenges by pointing Juice Shop at your LLM/AI endpoint so prompt-injection scenarios become available in CTF or training sessions. See https://howto-llm.owasp-juice.shop/ to configure your LLM endpoint, then start Juice Shop normally — the three AI challenges will appear automatically once the endpoint is reachable. v20.0.0 · May 2026 · source
Progressive hint system shipped Provides a mechanism to gradually unlock hints for challenges as players request assistance, supporting both in-app display and external webhooks. 3 releases · first seen Sep 2025

Also counts toward: Outbound webhooks (the product notifies you)

release

  • New Score Board feature: gradually unlockable hints per challenge, revealed progressively as players need help. v19.0.0 · Sep 2025 · source · release history
  • The hint and hintUrl fields are removed from challenges.yml definition and the corresponding entity model — any customization files or integrations that reference these fields must be updated. v19.0.0 · Sep 2025 · source · release history
  • Adds backend and challenge solution webhook support for multiple text hints per challenge. v19.0.0 · Sep 2025 · source · release history
Vagrant distribution support shipped Provides a Vagrant-based virtual machine distribution for the tool, exposing the application via a static IP address. 3 releases · first seen May 2022

release

  • Removed scoreBoard subsection from backup format v17.0.0 · May 2024 · source · release history
  • Removed legacy Score Board and all related settings and services v17.0.0 · May 2024 · source · release history
  • Vagrant box now exposes the application at http://192.168.56.110 instead of previous IP ranges. v14.0.0 · May 2022 · source · release history
Security policy configuration shipped Allows configuring security-related HTTP responses and headers, such as the hiring information in security.txt. 2 releases · first seen Jul 2022

release

  • Significantly reduce Docker image size by omitting unneeded dependencies v17.0.0 · May 2024 · source · release history
  • Adds application.securityTxt.hiring configuration property to control the hiring field in security.txt and the X-Recruiting HTTP header v14.1.0 · Jul 2022 · source · release history
Challenge difficulty scaling shipped Allows customization of the challenge difficulty ratings to provide a broader range of complexity levels for users. 2 releases · first seen Nov 2016

release

  • Adds accuracy calculation for coding challenges (based on number of failed solving attempts) v12.10.0 · Oct 2021 · source · release history
  • Changes challenge difficulty ratings from a 1-3 scale to a 1-5 scale v2.17.0 · Nov 2016 · source · release history
Challenge administration roles shipped Defines distinct user roles, such as an accountant, to manage specific challenge-related data like inventory stock levels. 1 release · 1 other source · first seen Aug 2019

Also counts toward: Role-based access control

release

example

  • Log in as an accountant to manage inventory stock levels. Use the new 'accountant' role credentials to access the inventory maintenance screens. v9.0.0 · Aug 2019 · source
Premium challenge access shipped Supports locking specific challenges behind a payment gateway, such as a Bitcoin paywall. 2 releases · first seen Dec 2016

release

  • Adds Credit Card payment option to the Your Basket screen v6.0.0 · Dec 2017 · source · release history
  • Adds a Premium Challenge locked behind a Bitcoin paywall v2.20.0 · Dec 2016 · source · release history
Prometheus metrics for AI usage shipped Exposes Prometheus metrics to track LLM token consumption and tool call counts. 1 release · first seen May 2026

release

  • Adds Prometheus metrics to track LLM token usage and tool calls (requires LLM endpoint support). v20.0.0 · May 2026 · source · release history
Monitoring observability challenges shipped Adds specific challenges within the new Observability Failures category to practice identifying and exploiting logging and monitoring vulnerabilities. 1 release · first seen Nov 2025

release

  • New Observability Failures challenge category groups four logging- and monitoring-related challenges for targeted practice. v19.1.0 · Nov 2025 · source · release history
Infrastructure compatibility verification shipped Checks if required external domains are reachable from the server during startup to ensure challenge functionality. 1 release · first seen Nov 2023

release

  • Added warning-only startup check for domains being reachable from the server, e.g. https://www.alchemy.com/. v15.3.0 · Nov 2023 · source · release history
System metrics and dashboards shipped Exposes startup time metrics via Prometheus and provides a configurable Grafana dashboard for operational monitoring. 1 release · first seen Oct 2020

release

  • Added startup time metrics to monitoring/grafana-dashboard.json and the Prometheus endpoint for monitoring v12.1.0 · Oct 2020 · source · release history
OAuth redirect URI configuration shipped Permits whitelisting specific OAuth redirect URIs to facilitate authentication flows for community testing deployments. 1 release · first seen Oct 2019

release

  • Adds demo.owasp-juice.shop and preview.owasp-juice.shop to the allowed OAuth redirect URI list for easier community testing. v9.1.3 · Oct 2019 · source · release history

Lines in monospace are the tool's own words: help text parsed from its source, or an endpoint from its API document. Under release, a line is our summary of a dated release. Under docs, it is quoted from the tool's own documentation or website. Each links back to the source it came from.

Score card

  1. Shipping velocity releases a month, last 12 months
  2. Documentation quality release-notes rubric, 0–100
  3. Breaking-change discipline how rarely a release breaks users, and notice given
  4. Maintenance risk quiet time against its own cadence, maintainers
  5. Innovation & surface new capabilities, API and MCP surface
  6. Community health
  7. Contributor trend distinct committers, this year against last
  8. Maintainer concentration bus factor now against a year ago
  9. Issue backlog trend issues closed per issue opened, 12 months
  10. Responsiveness median time to a maintainer’s first reply

Nine scores for juice-shop, each built from the releases, notes and API history this site tracks — and, on Researcher and Business, where it stands among every measured tool in its category and how that has moved.

Score cards are part of every paid plan.

See plans →

Each score is 0–100 on a published rubric, derived from data this site already shows. A dimension we cannot measure says so — it is never scored 0 and never enters a rank.

How this is scored
  • Shipping velocity — releases a month over the last 12 months, on a log scale where 16 a month scores 100. Needs 3 releases in the window.
  • Documentation quality — the release-notes rubric published on the analytics page, unchanged.
  • Breaking-change discipline — the share of releases carrying a breaking change (none scores 100, half or more scores 0). Only projects that label breaking changes are measured: a clean record cannot be told from an unlabelled one.
  • Maintenance risk — quiet time measured against the tool's own release cadence (quiet longer than 90 days and three typical gaps scores 0), plus the number of active maintainers and whether contributors are growing, where known. Higher is lower risk.
  • Innovation & surface — new capabilities in the feature ledger this year, API and MCP operations added, and the share of commits that are features: the mean of whichever we hold.
  • Community health (open-source tools only) — each is a direction, not a size: contributors this year against last, the bus factor now against a year ago, and issues closed per issue opened, where steady scores 50, doubled 100 and halved 0; plus the median time to a maintainer's first reply (an hour scores about 100, a month or more 0). A commercial card has no repository and carries none of the four.
  • Documented delivery (commercial tools) — when a vendor's documented new capabilities have slowed against its own baseline, that counts against the overall standing as heavily as two low dimensions. Steady delivery, or too little history to judge, leaves the standing alone; it is never a sixth score.
  • Open-source tools are scored on repository signals; commercial tools on their published changelog. Ranks compare tools within one category and one profile and need at least five measured peers; the overall standing needs three ranked dimensions. Best-in-breed or consolidator is a shape, not a quality, and is never scored.

Release-note detail over time

See how much detail juice-shop puts in its release notes, quarter by quarter, and compare it with tracked tools in the same category. This history uses up to ten retained, reviewed notes per tool; sparse or blank older quarters may reflect that limit.

Checking release-note history…

Explore the full chart →

Releases

Show

88 entries

  1. October 20263
  2. September 20265
  3. August 20261
  4. June 20262
  5. May 20261
  6. March 20261
  7. November 20251
  8. September 20251
  9. June 20251
  10. April 20251
  11. March 20251
  12. August 20241
  13. May 20241
  14. December 20231
  15. November 20231
  16. September 20232
  17. May 20231
  18. February 20232
  19. January 20231
  20. September 20221
  21. July 20221
  22. May 20221
  23. January 20222
  24. November 20212
  25. October 20211
  26. September 20211
  27. June 20211
  28. May 20211
  29. April 20211
  30. February 20211
  31. January 20211
  32. December 20202
  33. October 20201
  34. September 20201
  35. June 20202
  36. May 20202
  37. April 20201
  38. March 20202
  39. December 20191
  40. November 20192
  41. October 20193
  42. August 20191
  43. June 20191
  44. May 20192
  45. April 20191
  46. March 20191
  47. January 20191
  48. December 20181
  49. November 20181
  50. July 20181
  51. May 20181
  52. April 20181
  53. March 20181
  54. January 20182
  55. December 20171
  56. September 20171
  57. June 20172
  58. May 20171
  59. April 20173
  60. February 20171
  61. January 20171
  62. December 20162
  63. November 20161
  64. October 20141
    Show

    88 entries

    Project health

    Issue, contributor and maintainer activity in juice-shop/juice-shop, 2023-10 – 2026-09, as of 2026-09-25. Twelve-month figures first; the trend lines run the whole window.

    1. Contributors 35 +5 vs prior 12 months
    2. Maintainers 3 +1 joined · −1 left, last 12 months
    3. Bus factor 1 committers behind half the commits
    4. Community-filed 89% of issues opened, last 12 months
    5. Median time to close 1.5 days first maintainer reply 8.2 hours
    6. Open backlog 2 of 1,006 issues ever filed
    1. Issues opened / month 0 · 0 communitymaintainers
    2. Open backlog 2
    3. Contributors / month 0
    4. Commits / month 0
    5. Stars 13,893
    Issue themes, last 12 months
    • bugs 31%
    • features 15%
    • other 54%

    Counts from the project's public repository and git history; no individuals are identified. Maintainers are the committers covering 80% of the last year's commits. how we measure this

    Add the badge to your README

    Maintain this project? The badge links readers straight to this page, so they can follow every release here.

    Tracked by Cyber Toolchain Choose a badge style and copy the code →
    browse all tools → score card for your toolchain →