WebGoat VS juice-shop

Compare WebGoat vs juice-shop and see what are their differences.

Our great sponsors
  • SurveyJS - Open-Source JSON Form Builder to Create Dynamic Forms Right in Your App
  • InfluxDB - Power Real-Time Data Analytics at Scale
  • WorkOS - The modern identity platform for B2B SaaS
WebGoat juice-shop
41 21
6,476 9,491
2.2% 2.2%
8.7 9.8
7 days ago 1 day ago
JavaScript TypeScript
GNU General Public License v3.0 or later MIT License
The number of mentions indicates the total number of mentions that we've tracked plus the number of user suggested alternatives.
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.

WebGoat

Posts with mentions or reviews of WebGoat. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2024-04-15.

juice-shop

Posts with mentions or reviews of juice-shop. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2024-01-09.
  • Launch HN: Corgea (YC S23) – Auto fix vulnerable code
    5 projects | news.ycombinator.com | 9 Jan 2024
    Hi HN, I’m the founder of Corgea (https://corgea.com). We help companies fix their vulnerable source code using AI.

    Originally, we started with a data security product that would detect data leaks at companies. Despite initial successes and customer acquisitions, we frequently heard that highlighting issues wasn't enough; customers wanted proactive fixes. They had hundreds (yes hundreds!) of security tools alerting them about vulnerabilities, but couldn’t afford a dedicated team to go through them all and fix them. One prospect we spoke to had tens of thousands of reported vulnerabilities in their SAST tool. With the rise of AI code generation, we saw an opportunity to give customers what they really wanted.

    Having Corgea is like having a security engineer on staff focused on making your code more secure. We want security to be an enabler of engineering rather than a blocker to it, and the reverse to be true. To accomplish this, we built it on top of existing LLMs to issue code fixes.

    To show Corgea’s capabilities, we took some popular vulnerable-by-design applications like Juice Shop (https://github.com/juice-shop/juice-shop), scanned them and issued fixes for their vulnerabilities. You can see some of them here: https://demo.corgea.com. Some examples of vulnerabilities it solves are like SQL injection, Path Traversal and XSS.

    What makes this tough is that currently LLMs struggle at generalist coding tasks because it has to understand your whole code base, the domain you’re in, and the user’s request to do something. This can lead to a lot of unintended behavior where it codes things incorrectly because it’s giving a best guess at what you want. Adam, one of the founding engineers on the team coined it well: LLMs don’t reason, they fuzz.

    We made several decisions that helped the LLM become more deterministic. First, what we’re doing is extremely domain specific: vulnerable code fixes in a limited number of programming languages. There are roughly 900 security vulnerabilities in code, called CWE’s (https://cwe.mitre.org/), that we’ve built into Corgea. An SQL injection vulnerability in a Javascript app is the same regardless if you’re a payments company or a travel booking website. Second, we have no user generated input going into the LLM, because SAST scanners everything needed to issue a fix. This makes it much more predictable and reproducible for us and customers. We can also create robust QA processes and checks.

    To illustrate the point, let’s put some of this to the test using some napkin math. Assume you’re serving 5,000 enterprises that ship on average 300 domain specific features a year in 5 different programming languages that each require 30 lines of code changes across multiple files. You’ll have about 300m permutations the product needs to support. What a nightmare!

    Using the same napkin math, Corgea needs to support the ~900 vulnerabilities (CWE’s). Most of them require 1 - 2 line changes. It doesn’t need to understand the whole codebase since the problem is usually isolated to a few lines. We want to support the 5 most popular programming languages. If we have 5,000 customers, we have to support ~4,500 permutations (900 issues x 5 different languages). This leads to a massive difference in accuracy. Obviously, this is an oversimplification of the whole thing but it illustrates the point.

    What makes this different from Copilot and other code-gen tools is that they do not specialize in security and we’ve seen them inadvertently introduce security issues unbeknownst to the engineer. Additionally, they do not integrate into existing scanning tools that companies are using to resolve those issues. So unless a developer is working on every part of the product, they’re unable to clear security backlogs, which can be in the thousands of tickets.

    As for security scanners, the current market is flooded with tools that report and overwhelm security teams and are not effective at fixing what they’re reporting. Most vulnerability scanners do not remediate issues, and if they do they’re mostly limited to upgrading packages from one version to another to reduce a CVSS. If they do offer CWE remediation capabilities their success rates are very low because they’re often based on traditional AI methodologies. Additionally, they do not integrate with each other because they want to only serve their own findings. Enterprises use multiple tools like Snyk, Semgrep, Checkmarx, but also have a penetration testing program, and a bug bounty program. They need a solution that consolidates across their existing tools. They also use Github, Gitlab and Bitbucket for their code repository.

    We’re offering a free tier for smaller teams and priced tiers. We believe we can reduce 80% of the engineering effort for security fixes, which would equate to at least $10m a year for enterprises.

    We’re really excited to share this with you all and we’d love any thoughts, feedback, and comments!

  • I think I will have to write a web site even though I'm not a web developer
    1 project | /r/webdev | 7 Dec 2023
  • Web Application Gauntlet
    2 projects | /r/bugbounty | 29 Jun 2023
    Just grab the source code and modify it. Read through the code. Make the shop sell new things. Why start from scratch on such a broad and complex topic?
  • 5 Common Server Vulnerabilities with Node.js (with code examples and solutions)
    1 project | /r/node | 6 Mar 2023
    If you want to explore vulnerabilities and bad practices, just look at OWASP Juice Shop the most insecure app out there
  • Is Java more secure than node Js
    1 project | /r/node | 6 Feb 2023
    For a solid example of a vulnerable and insecure application see OWASP Juice Shop - this is an example of what NOT to do.
  • OWASP Juice Shop
    3 projects | news.ycombinator.com | 22 Jan 2023
    This is awesome! Convenient for folks who use the Express/Angular stack but conceptual stuff should be pretty universal regardless.

    Wasn't aware of this project at all but found the following links useful for context:

    The actual Juice Shop website can be found at https://juice-shop.herokuapp.com/#/

    and the github link for viewing code is https://github.com/juice-shop/juice-shop/releases/

  • General question on Docker
    2 projects | /r/docker | 6 Dec 2022
    Right here. https://github.com/juice-shop/juice-shop/blob/master/Dockerfile
  • How attackers use exposed Prometheus server to exploit Kubernetes clusters
    5 projects | dev.to | 2 Dec 2022
    Exposed Prometheus metrics Endpoint
  • Vulhub: Pre-Built Vulnerable Environments Based on Docker-Compose
    4 projects | news.ycombinator.com | 24 Sep 2022
    https://github.com/juice-shop/juice-shop#official-companion-...

    If the versions installed in the book are outdated, you too can bump the version strings in the dependency specs in the git repo and send a PR Pull Request (which also updates the Screenshots and Menu > Sequences and Keyboard Shortcuts in the book&docs) and then manually test that everything works with the updated "deps" dependencies.

    If it's an executablebooks/, a Computational Notebook (possibly in a Literate Computing style), you can "Restart & Run all" from the notebook UI button or a script, and then test that all automated test assertions pass, and then "diff" (visually compare), and then just manually read through the textual descriptions of commands to enter (because people who buy a Book presumably have a reasonable expectation that if they copy the commands from the book to a script by hand to learn them, the commands as written should run; it should work like the day you bought it for a projected term of many free word-of-mouth years.

    From https://github.com/juice-shop/juice-shop#docker-container :

      docker pull bkimminich/juice-shop
  • Capture the flag: A Node.js web app vulnerability practice
    2 projects | /r/javascript | 20 May 2022
    Take a look at juice-shop as well.

What are some alternatives?

When comparing WebGoat and juice-shop you can also consider the following projects:

DVWA - Damn Vulnerable Web Application (DVWA)

Ciphey - ⚡ Automatically decrypt encryptions without knowing the key or cipher, decode encodings, and crack hashes ⚡

kubernetes-goat - Kubernetes Goat is a "Vulnerable by Design" cluster environment to learn and practice Kubernetes security using an interactive hands-on playground 🚀

SecureCodingDojo - The Secure Coding Dojo is a platform for delivering secure coding knowledge.

Lightning-Network - List of Lightning Network technical issues, bugs, flaws, and exploits.

CTF-Market - This is CTF market

wrongsecrets - Vulnerable app with examples showing how to not use secrets

Docusaurus - Easy to maintain open source documentation websites.

PomPom-Language - The cuteness implementation of a dependently typed language.

vuetify - 🐉 Vue Component Framework

GitGoat - GitGoat is an open source tool that was built to enable DevOps and Engineering teams to design and implement a sustainable misconfiguration prevention strategy. It can be used to test products with access to GitHub repositories without a risk to your production environment.

wrongsecrets - Vulnerable app with examples showing how to not use secrets [Moved to: https://github.com/OWASP/wrongsecrets]