juice-shop VS msw

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

SurveyJS - Open-Source JSON Form Builder to Create Dynamic Forms Right in Your App
With SurveyJS form UI libraries, you can build and style forms in a fully-integrated drag & drop form builder, render them in your JS app, and store form submission data in any backend, inc. PHP, ASP.NET Core, and Node.js.
surveyjs.io
featured
InfluxDB - Power Real-Time Data Analytics at Scale
Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.
www.influxdata.com
featured
juice-shop msw
21 148
9,547 14,848
1.5% 1.4%
9.8 9.2
3 days ago 6 days ago
TypeScript TypeScript
MIT License 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.

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.

msw

Posts with mentions or reviews of msw. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2024-04-25.
  • Easier TypeScript API Testing with Vitest + MSW
    3 projects | dev.to | 25 Apr 2024
    However, I discovered a great combination that transformed my API call testing in TypeScript: Vitest and Mock Service Worker (MSW). Their well-crafted design makes them incredibly easy to use, enhancing the overall testing experience.
  • Creating mocks for testing react code
    1 project | dev.to | 22 Apr 2024
    While mocks are effective, they require modifying the component's internal logic or mocking global functions like fetch. This can become cumbersome for complex components with numerous API interactions. Here's where MSW shines.
  • Storybook 8
    5 projects | news.ycombinator.com | 13 Mar 2024
    > For those wondering what the use case is, you must not have tried it. It does take work to set up (with each version that's less), but it can be very nice to test in isolation esp in cases where a component is under a login, the 4th page of a 10 page form, etc. Also obviously if you're working on a component library that ships without an app, Storybook can be your development and/or demo app.

    I have worked with storybook extensively over the past couple of years and my team is moving away from it in favour of MSW (https://mswjs.io).

    For "4th page of a 10 page form" during the development there's hot reloading which is really stable nowadays and haven't failed me, although I understand that some setups are old and it might be easier to configure Storybook than good hot reloading.

    I'm not entirely sure about the testing part of it and I'd be grateful if you could elaborate. I haven't felt the need for some special setup with SB because for unit tests, I can test a deeply nested component separately. For E2E tests, I usually test the whole form.

    I agree on the component library part, this is probably the only use case where Storybook is 100% justified, but I'm unconvinced about the

    6 projects | dev.to | 12 Mar 2024
    Additionally, thank you to all our community launch partners across the frontend ecosystem for helping us bring Storybook 8 to the world! Thanks to Chromatic, Figma, ViteConf, Omlet, DivRiots, story.to.design, StackBlitz, UXpin, Nx, Mock Service Worker, Anima, Zeplin, zeroheight, kickstartDS, and Kendo UI.
  • I made "TypeScript Swagger Editor", new type of Swagger UI writing TypeScript code in the browser
    3 projects | dev.to | 18 Feb 2024
    similar with msw.js, but fully automated
  • Partial: how not to mock the whole world
    4 projects | dev.to | 8 Feb 2024
    they could be network mocks (use msw)
  • How to Automatically Consume RESTful APIs in Your Frontend
    13 projects | dev.to | 25 Jan 2024
    With orval, we can also integrate the API client in our unit tests. Orval provides first class support for mocking through the (Mock Service Worker)[https://mswjs.io/] library, and it can automatically generate the MSW handlers for testing server.
  • Polly.js – Record, replay, and stub HTTP interactions
    2 projects | news.ycombinator.com | 8 Jan 2024
  • How to Successfully Integrate with Legacy APIs Using NodeJS
    2 projects | dev.to | 11 Dec 2023
    Consider a hypothetical scenario where data from a list of companies within an ERP needs to be retrieved. As a personal recommendation, leverage tools like MSW for top-level mocks, which can significantly enhance the testing process.
  • How do you manage Dependency Injection in Next.js APPS?
    1 project | /r/nextjs | 11 Dec 2023

What are some alternatives?

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

WebGoat - WebGoat is a deliberately insecure application

Nock - HTTP server mocking and expectations library for Node.js

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

rtk-query - Data fetching and caching addon for Redux Toolkit

CTF-Market - This is CTF market

miragejs - A client-side server to build, test and share your JavaScript app

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

mockoon - Mockoon is the easiest and quickest way to run mock APIs locally. No remote deployment, no account required, open source.

Docusaurus - Easy to maintain open source documentation websites.

prism - Turn any OpenAPI2/3 and Postman Collection file into an API server with mocking, transformations and validations.

vuetify - 🐉 Vue Component Framework

axios - Promise based HTTP client for the browser and node.js