The section your link pointed to isn't on juice-shop's page any more, so we've brought you to the top.
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.
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.
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
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.
+Challenge environment configurationshippedsuggestedExposes 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 setshippedProvides 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 -challengeVulnerable Infrastructure (including coding challenge) to the challenge set.
v20.2.0 · Aug 2026
· source
· release history
Adds new -challengeMisplaced IaC Files to the challenge set.
v20.2.0 · Aug 2026
· source
· release history
Adds new -challengeLogin 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 managementshippedAllows 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 compatibilityshippedSupports 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
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 APIshippedProvides 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 submissionsshippedDetects 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 supportshippedProvides 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 configurationshippedIncludes 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 configurationshippedAllows 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 inventoryshippedEnables internationalization of challenge hints, security questions, and inventory product names and descriptions through configurable YAML translation files.5 releases · first seen Oct 2019▸
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 supportshippedProvides 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 managementshippedProvides 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 configurationshippedAllows 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 supportshippedEnables 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 systemshippedProvides 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 supportshippedProvides 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 configurationshippedAllows 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 scalingshippedAllows 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 rolesshippedDefines 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
Added accountant user role to maintain inventory stock
v9.0.0 · Aug 2019
· source
· release history
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 accessshippedSupports 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 usageshippedExposes 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 challengesshippedAdds 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 verificationshippedChecks 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 dashboardsshippedExposes 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 configurationshippedPermits 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.
Command line
View
Source
No command matches.
load a captured run
composed command
No matchesTry a different search, or clear a filter to see more.
option surface across analysed releases
options at that releaseadded, per releaseremoved, per release
option
found in
since
description
No matchesTry a different search, or clear a filter to see more.
option changes per release — drag across the rail to set a range
→
Values are placeholders taken from each option’s declared default.
Nothing is executed here — the output shown is a recording of a run
that already happened.
Score card
Shipping velocityreleases a month, last 12 months
Documentation qualityrelease-notes rubric, 0–100
Breaking-change disciplinehow rarely a release breaks users, and notice given
Maintenance riskquiet time against its own cadence, maintainers
Innovation & surfacenew capabilities, API and MCP surface
Community health
Contributor trenddistinct committers, this year against last
Maintainer concentrationbus factor now against a year ago
Issue backlog trendissues closed per issue opened, 12 months
Responsivenessmedian 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.
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.
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.
Contributors35+5 vs prior 12 months
Maintainers3+1 joined · −1 left, last 12 months
Bus factor1committers behind half the commits
Community-filed89%of issues opened, last 12 months
Median time to close1.5 daysfirst maintainer reply 8.2 hours
Open backlog2of 1,006 issues ever filed
Issues opened / month0 · 0communitymaintainers
Open backlog2
Contributors / month0
Commits / month0
Stars13,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.