juice-shop
wasp
juice-shop | wasp | |
---|---|---|
21 | 194 | |
9,547 | 11,779 | |
1.5% | 7.9% | |
9.8 | 9.7 | |
2 days ago | 1 day ago | |
TypeScript | TypeScript | |
MIT License | MIT License |
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
-
Launch HN: Corgea (YC S23) – Auto fix vulnerable code
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
-
Web Application Gauntlet
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)
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
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
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
Right here. https://github.com/juice-shop/juice-shop/blob/master/Dockerfile
-
How attackers use exposed Prometheus server to exploit Kubernetes clusters
Exposed Prometheus metrics Endpoint
-
Vulhub: Pre-Built Vulnerable Environments Based on Docker-Compose
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
Take a look at juice-shop as well.
wasp
-
🕸️ Web development trends we will see in 2024 👀
Another example of a React framework utilizing Vite to give their users a SPA experience is Wasp - a full-stack framework for React & Node.js that drastically cuts the boilerplate. Despite being a full-stack framework, it focuses on the standardized approach of deploying a client-side React app with a Node.js server to be as portable as possible. With this approach, you can deploy your app pretty much anywhere, as well as self-host it, which is also a thing that we mentioned before in this article.
-
Using Wasp to Build Full-Stack Web Applications on Koyeb
As before, you will be redirected to the application's login page. Click to link to sign up to create a new account. After authenticating, you will be able to access the todo list functionality as before. ## Conclusion In this guide, we demonstrated how to build and deploy a Wasp application to Koyeb. We started with one of Wasp's templates to create a working, full-stack web application backed by a database. We migrated the application's configuration from a local SQLite database to an external PostgreSQL database to prepare for deployment. Afterwards, we created a multi-stage `Dockerfile` to build and configure our various application layers. Finally, we deployed the backend and web app to Koyeb by targeting different stages in the `Dockerfile`. This tutorial covers the basics of how to manage a Wasp project and deploy to a production environment. As you continue to develop your projects, be sure to check out the [Wasp documentation](https://wasp-lang.dev/docs) to learn how to integrate new features, work with the data model, and leverage the development framework to make your life easier.
-
🥇The first framework that lets you visualize your React/NodeJS app 🤯
First off, Wasp is a full-stack React, NodeJS, and Prisma framework with superpowers. It just crossed 10,000 stars on GitHub, and it has been used to create over 50,000 projects.
-
Getting started with Open SaaS
When building AI Blog Articles, I decided to get started as fast as possible. So I looked for a free boilerplate and stumbled upon Open SaaS, which used YC-backed Wasp. It is a full-stack React + NodeJS + Prisma that takes 8 hours to get started with.
-
Ask HN: What's a batteries-included framework that's React-first?
Exactly. Wasp, https://wasp-lang.dev, is the only framework in the React/Node/Prisma space that's taking this opinionated approach to full-stack development.
For example, you get full-stack auth by just adding this to your config file:
`auth.methods: { email: {}, google: {} }`
Then you on-the-fly Auth UI components and all the necessary hooks
-
🕵️♂️ The Art of Self-Learning: How to Teach Yourself Any Programming Concept 🤓
If you already have some sort of foundation in programming, use AI and some great abstractions/frameworks to get things done even faster. For example, instead of creating everything from the ground up (and probably suffering on little things along the way) you can skip repeating yourself a ton of times by using Wasp, which is a great React/Node full-stack framework that takes care of managing the boilerplate side of programming for you. 🤯
-
Aider: AI pair programming in your terminal
Aider is one of my favorite AI agents, especially because it can work with existing codebases. We've seen a lot of good results from folks who used it with Wasp (https://github.com/wasp-lang/wasp) - a full-stack web framework I'm working on.
A "marketingy" demo video: https://www.youtube.com/watch?v=DXunbNBpgZg&ab_channel=Wasp
- Garden – The Design System by Zendesk
-
🎉 Our web framework reached 9,000 stars on GitHub! ⭐️ 9️⃣0️⃣0️⃣0️⃣ ⭐️
Thanks for reading! Find more about Wasp and support us on our journey to reaching 10,000 stars here.
-
Web frameworks we are most excited for in 2024
For those who want the tool to have full control over their stack simply and easily, look no further! Wasp is an opinionated full-stack framework that leverages its compiler for a fast and easy way to create a database, backend, and frontend for your app. It uses React, Node.js, and Prisma, which are some of the most well-known tools that full-stack web developers are using.
What are some alternatives?
WebGoat - WebGoat is a deliberately insecure application
reflex - 🕸️ Web apps in pure Python 🐍
Ciphey - ⚡ Automatically decrypt encryptions without knowing the key or cipher, decode encodings, and crack hashes ⚡
redwood - The App Framework for Startups
CTF-Market - This is CTF market
dhall-lang - Maintainable configuration files
SecureCodingDojo - The Secure Coding Dojo is a platform for delivering secure coding knowledge.
Mobile-First-RWD - An example of a mobile-first responsive web design
Docusaurus - Easy to maintain open source documentation websites.
react-admin - A frontend Framework for building data-driven applications running on top of REST/GraphQL APIs, using TypeScript, React and Material Design
vuetify - 🐉 Vue Component Framework
ansible-dhall-jsonnet