OWASP Juice Shop: Probably the most modern and sophisticated insecure web application https://owasp-juice.shop
  • TypeScript 64.2%
  • JavaScript 24.7%
  • HTML 6.3%
  • SCSS 3.5%
  • Solidity 0.7%
  • Other 0.4%
Find a file
2026-06-26 10:44:14 +02:00
.ai/skills Be more specific about kudos and PR/commit ID handling 2026-06-22 16:03:27 +02:00
.claude Generalize AI context/skill structure 2026-04-23 21:11:11 +02:00
.codeium Generalize AI context/skill structure 2026-04-23 21:11:11 +02:00
.continue Generalize AI context/skill structure 2026-04-23 21:11:11 +02:00
.cursor Generalize AI context/skill structure 2026-04-23 21:11:11 +02:00
.dependabot Explicitly ignore JWT library version 2020-03-29 11:35:33 +02:00
.github Extract draft release creation from packaging pipeline 2026-06-24 01:08:03 +02:00
.gitlab Change liveness (or readiness) probe to port 3000 2021-08-23 13:22:56 -04:00
.junie Deduplicate AI skills and MCPs 2026-04-29 11:23:44 +02:00
.well-known chore: fix CSAF sorting, language to lower, and version 2024-04-23 10:57:38 +02:00
.zap Ignore all warnings on websocket URL 2025-11-28 11:18:30 +01:00
config Make CSRF attack origin URL configurable 2026-06-22 09:10:00 +02:00
data Harmonize challenge name capitalization 2026-06-24 13:52:59 +02:00
encryptionkeys use a 16byte IV 2018-02-04 17:31:34 +01:00
frontend Bump to v20.1.1 2026-06-24 00:37:28 +02:00
ftp Harmonize coverage configurations and fix report paths 2026-04-03 18:13:33 +02:00
i18n Prevent accidental i18n overwrites during runtime 2019-09-03 08:31:09 +02:00
lib Make CSRF attack origin URL configurable 2026-06-22 09:10:00 +02:00
models Migrate config validation to zod 2026-06-12 21:47:01 +02:00
monitoring Use range interval in process restart counter 2021-10-22 00:09:08 +02:00
routes Make CSRF attack origin URL configurable 2026-06-22 09:10:00 +02:00
rsn Add "Fix It"-part of "NFT Takeover" coding challenge 2026-06-22 11:57:53 +02:00
screenshots Merge pull request #3499 from juice-shop/create-pull-request/patch 2026-06-24 01:09:07 +02:00
test Make CSRF attack origin URL configurable 2026-06-22 09:10:00 +02:00
uploads/complaints Add upload/complaints folder to packaged archives 2018-11-26 17:39:33 +01:00
vagrant Bump copyright notices to include 2026 2025-11-16 12:49:45 +01:00
views Fix legibility on Pug screens for neon theme 2026-04-12 23:49:21 +02:00
.codeclimate.yml Move coverage exclusion to CodeClimate config 2024-10-21 14:40:36 +02:00
.devcontainer.json Fix Devcontainer config file 2023-10-05 22:35:41 +00:00
.dockerignore Ignore test & coverage output 2026-06-05 14:09:39 +02:00
.gitattributes Prevent line ending issues in .junie directory 2026-04-04 17:44:06 +02:00
.gitignore Merge pull request #3388 from JohannesR0essler/feat/system-prompt-extraction-llm-judge 2026-06-12 21:15:52 +02:00
.gitlab-ci.yml Disable DAST on GitLab 2021-08-24 11:42:43 +02:00
.gitpod.yml Remove unnecessary comment headline 2022-08-18 10:27:00 +02:00
.mailmap Update contributor statistics for v20.0.0 2026-05-12 10:47:47 +02:00
.npmrc Revert "Enable package lock files" 2026-04-13 13:04:48 +02:00
AGENTS.md Remove mocha/chai references in docs 2026-05-26 11:53:52 +02:00
app.json Bump Heroku config to Node.js 24.x 2026-03-23 09:44:27 +01:00
app.ts Bump copyright notices to include 2026 2025-11-16 12:49:45 +01:00
CODE_OF_CONDUCT.md Update Code of Conduct and several project badges 2025-12-19 14:29:27 +01:00
CONTRIBUTING.md Fix typo 2025-12-01 11:16:08 +01:00
crowdin.yaml Update Crowdin configuration file 2022-01-02 22:29:51 +01:00
ctf.key Externalize key for flag HMACs 2017-01-27 09:57:15 +01:00
cypress.config.ts Migrate config validation to zod 2026-06-12 21:47:01 +02:00
docker-compose.test.yml Use actual latest Docker image for smoke testing 2024-08-05 15:49:31 +02:00
Dockerfile Bump to v20.1.1 2026-06-24 00:37:28 +02:00
eslint.config.mjs Remove mocha/chai references in docs 2026-05-26 11:53:52 +02:00
Gruntfile.js Migrate config validation to zod 2026-06-12 21:47:01 +02:00
HALL_OF_FAME.md Update Git statistics 2026-06-05 09:29:41 +02:00
LICENSE Bump copyright notices to include 2026 2025-11-16 12:49:45 +01:00
package.json Bump to v20.1.1 2026-06-24 00:37:28 +02:00
README.md Update support node.js version in CI and readme 2026-05-25 13:45:37 +02:00
REFERENCES.md Add workshop at AppSecDays Portugal 2026 2026-06-26 10:44:14 +02:00
SECURITY.md Bump to v20.1.0-SNAPSHOT 2026-05-13 00:42:49 +02:00
server.ts Extend metrics endpoint test suite 2026-05-31 15:01:16 +02:00
SOLUTIONS.md Add new references and solutions 2026-05-17 21:41:57 +02:00
swagger.yml Fix OpenAPI spec linting recommendations 2022-07-26 17:43:48 +02:00
threat-model.json Add threat model diagram 2021-04-19 16:40:59 +02:00
tsconfig.json Configure module bundle to remove all depractated features used by 2026-05-31 22:32:36 +02:00

Juice Shop Logo OWASP Juice Shop

OWASP Flagship GitHub release Twitter Follow Subreddit subscribers

CI/CD Pipeline Release Pipeline Coverage Status Cypress tests OpenSSF Best Practices GitHub stars Static Badge

The most trustworthy online shop out there. (@dschadow) — The best juice shop on the whole internet! (@shehackspurple) — Actually the most bug-free vulnerable application in existence! (@vanderaj) — First you 😂😂then you 😢 (@kramse) — But this doesn't have anything to do with juice. (@coderPatros' wife)

OWASP Juice Shop is probably the most modern and sophisticated insecure web application! It can be used in security trainings, awareness demos, CTFs and as a guinea pig for security tools! Juice Shop encompasses vulnerabilities from the entire OWASP Top Ten along with many other security flaws found in real-world applications!

Juice Shop Screenshot Slideshow

For a detailed introduction, full list of features and architecture overview please visit the official project page: https://owasp-juice.shop

Table of contents

Setup

You can find some less common installation variations as well as instructions to run Juice Shop on a variety of cloud computing providers in the Running OWASP Juice Shop documentation.

Some challenges require an AI/LLM provider to work properly. Check the Setting up external dependencies documentation for instructions on configuring local or cloud-based AI providers.

From Sources

GitHub repo size

  1. Install node.js
  2. Run git clone https://github.com/juice-shop/juice-shop.git --depth 1 (or clone your own fork of the repository)
  3. Go into the cloned folder with cd juice-shop
  4. Run npm install (only has to be done before first start or when you change the source code)
  5. Run npm start
  6. Browse to http://localhost:3000

Packaged Distributions

GitHub release SourceForge SourceForge

  1. Install a 64bit node.js on your Windows, MacOS or Linux machine
  2. Download juice-shop-<version>_<node-version>_<os>_x64.zip (or .tgz) attached to latest release
  3. Unpack and cd into the unpacked folder
  4. Run npm start
  5. Browse to http://localhost:3000

Each packaged distribution includes some binaries for sqlite3 and libxmljs2 bound to the OS and node.js version which npm install was executed on.

Docker Container

Docker Pulls Docker Stars

  1. Install Docker
  2. Run docker pull bkimminich/juice-shop
  3. Run docker run --rm -p 127.0.0.1:3000:3000 bkimminich/juice-shop
  4. Browse to http://localhost:3000 (on macOS and Windows browse to http://192.168.99.100:3000 if you are using docker-machine instead of the native docker installation)

Vagrant

  1. Install Vagrant and Virtualbox
  2. Run git clone https://github.com/juice-shop/juice-shop.git (or clone your own fork of the repository)
  3. Run cd vagrant && vagrant up
  4. Browse to 192.168.56.110

Demo

Feel free to have a look at the latest version of OWASP Juice Shop: http://demo.owasp-juice.shop

This is a deployment-test and sneak-peek instance only! You are not supposed to use this instance for your own hacking endeavours! No guaranteed uptime! Guaranteed stern looks if you break it!

Documentation

Node.js version compatibility

GitHub package.json dynamic GitHub package.json dynamic

OWASP Juice Shop officially supports the following versions of node.js in line with the official node.js LTS schedule as close as possible. Docker images and packaged distributions are offered accordingly.

node.js Supported Tested Packaged Distributions Docker images from master Docker images from develop
26.x ✔️ ✔️
25.x ( ✔️ )
24.x ✔️ ✔️ Windows (x64), MacOS (x64), Linux (x64) latest (linux/amd64, linux/arm64) snapshot (linux/amd64, linux/arm64)
23.x
22.x ✔️ ✔️
<22.x

Juice Shop is automatically tested only on the latest .x minor version of each node.js version mentioned above! There is no guarantee that older minor node.js releases will always work with Juice Shop! Please make sure you stay up to date with your chosen version.

Troubleshooting

Gitter

If you need help with the application setup please check our existing Troubleshooting guide. If this does not solve your issue please post your specific problem or question in the Gitter Chat where community members can best try to help you.

🛑 Please avoid opening GitHub issues for support requests or questions!

Official companion guide

Write Goodreads Review

OWASP Juice Shop comes with an official companion guide eBook. It will give you a complete overview of all vulnerabilities found in the application including hints how to spot and exploit them. In the appendix you will even find complete step-by-step solutions to every challenge. Extensive documentation of custom re-branding, CTF-support, trainer's guide and much more is also included.

Pwning OWASP Juice Shop is published under CC BY-NC-ND 4.0 and is available for free in PDF, Kindle and ePub format on LeanPub. You can also browse the full content online!

Pwning OWASP Juice Shop cover Pwning OWASP Juice Shop back cover

Contributing

GitHub contributors JavaScript Style Guide Crowdin GitHub issues by-label GitHub issues by-label

We are always happy to get new contributors on board! Please check CONTRIBUTING.md to learn how to contribute to our codebase or the translation into different languages!

References

Did you write a blog post, magazine article or do a podcast about or mentioning OWASP Juice Shop? Or maybe you held or joined a conference talk or meetup session, a hacking workshop or public training where this project was mentioned?

Add it to our ever-growing list of REFERENCES.md by forking and opening a Pull Request!

Merchandise

  • On Spreadshirt.com and Spreadshirt.de you can get some swag (Shirts, Hoodies, Mugs) with the official OWASP Juice Shop logo
  • On StickerYou.com you can get variants of the OWASP Juice Shop logo as single stickers to decorate your laptop with. They can also print magnets, iron-ons, sticker sheets and temporary tattoos.

Donations

The OWASP Foundation gratefully accepts donations via Stripe. Projects such as Juice Shop can then request reimbursement for expenses from the Foundation. If you'd like to express your support of the Juice Shop project, please make sure to tick the "Publicly list me as a supporter of OWASP Juice Shop" checkbox on the donation form. You can find our more about donations and how they are used here:

https://pwning.owasp-juice.shop/companion-guide/latest/part3/donations.html

Contributors

The OWASP Juice Shop Project Leaders are:

For a list of all contributors to the OWASP Juice Shop please visit our HALL_OF_FAME.md.

Licensing

license

This program is free software: you can redistribute it and/or modify it under the terms of the MIT license. OWASP Juice Shop and any contributions are Copyright © by Bjoern Kimminich & the OWASP Juice Shop contributors 2014-2026.

Juice Shop Logo