graphql-modules VS graphql-armor

Compare graphql-modules vs graphql-armor and see what are their differences.

graphql-armor

šŸ›”ļø The missing GraphQL security security layer for Apollo GraphQL and Yoga / Envelop servers šŸ›”ļø (by Escape-Technologies)
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
graphql-modules graphql-armor
5 9
1,290 462
- 2.8%
8.5 9.2
2 days ago 3 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.

graphql-modules

Posts with mentions or reviews of graphql-modules. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2022-03-09.
  • HaloAPI.dev - Open-source GraphQL API for Infinite
    6 projects | /r/halo | 9 Mar 2022
    Second a NextJS app is deployed to Vercel containing a GraphQL server function. This is an Apollo server that consumes the halo-graphql package using GraphQL Modules. The server also implements caching and rate limiting using GraphQL Shield.
  • The Guild is taking over maintenance of merge-graphql-schemas
    8 projects | dev.to | 29 Jul 2021
    merge-graphql-schemas will be added to the existing Schema management tools already created by The Guild (GraphQL-Toolkit, GraphQL Modules, GraphQL Inspector and graphql-code-generator)
  • Introducing: GraphQL Inspector
    3 projects | dev.to | 29 Jul 2021
    In order to use GraphQL in our Angular applications, we created Angular Apollo. To automate and increase type-safety, we open-sourced GraphQL Code Generator. Most recent thing was GraphQL Modules that helped us to separate a server into smaller, reusable, feature based parts. All of that was developed based on the experience and used with huge success by our clients.
  • Manage Circular Imports Hell in GraphQL-Modules
    1 project | dev.to | 29 Jul 2021
    Forcing people out of a way of developing is always hard and weā€™ve got questions from you about how to solve some specific issues ā€” so in this blog post and new doc section we will help you understand why this was a bad practice and how to migrate from it with different use cases.
  • New GraphQL Modulesā€Š
    1 project | dev.to | 29 Jul 2021
    Richer error messages, new DI gives you more details about what went wrong.

graphql-armor

Posts with mentions or reviews of graphql-armor. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2024-02-01.
  • Launch HN: Escape (YC W23) ā€“ Discover and secure all your APIs
    3 projects | news.ycombinator.com | 1 Feb 2024
    When I met Antoine, who had previously been a security engineer at NATO and Apple, we decided to tackle this issue together and create a modern security tool that would appeal to both developers and security people. It needed to be fast, easy to set up yet configurable, have outstanding support for securing APIs, and find what was relevant with a low false positive rate.

    The first step was to show security engineers and developers what APIs they had to secure. We needed to find an easy way to discover any organizationā€™s exposed and internal APIs.

    To discover all APIs, we crafted a system that extracts all the API routes the organization exposes by scanning its domains, frontend websites, and SPAs. It then enriches this data by connecting to code repositories, API gateways, and API development tools to create a full list of all the exposed endpoints and the sensitivity of the data they handle. Other testing tools do not provide an inventory of all the API routes exposed by an organization, but as we mentioned above, the biggest problem security engineers face is often just finding out what it is they need to test!

    Then, we needed to provide security engineers and developers with a list of security issues in their APIs.

    Since APIs act as a business model layer, most of the critical security issues lie in the business processes underlying APIs. In security, issues obtained from breaking business processes are called Broken Object Level Authorization (BOLA), Broken Function Level Authorization (BFLA), and Broken Object Property Level Authorization (BOPLA).

    To find them, we knew we couldnā€™t rely on traditional techniques like fuzzing. We needed to find a way to model the Business Process underlying the API and attempt to break it.

    Doing research on this topic, we discovered that modeling API business processes in a similar way to board games, like Chess or Go, worked surprisingly well. The underlying reason is simple: a board game is a state machine on which you can execute actions that must respect rules to change the gameā€™s state. Think about moving the pieces in a chess game, each piece has its specific moves, and their position on the board represents the state.

    APIs are similar: they have a database, which represents the internal state, and API routes, which represent the actions you can run on the state. Of course, most APIs are more complex than a chess game because they have much more routes than there are chess pieces. In mathematics, we would say that the action space is much larger.

    But the models are similar enough for us to try applying alpha-beta, Monte-Carlo Search Three, and more advanced Machine Learning techniques that have proven to work well in the context of large action space games like Go.

    Those were the foundational ideas behind our in-house algorithm, Feedback-Driven API Exploration (FDAE), which automatically identifies the underlying business processes and generates sequences of API requests especially aimed at breaking them, uncovering potential security flaws and data leaks.

    FDAE starts by ingesting the list of routes and parameters in an API. It first identifies the routes leading to sensitive data, like PII or financial information, and the parameters that have the most chances of being vulnerable to various kinds of injections and attacks.

    Often, those routes require parameters like UUIDs or domain-specific values. Thatā€™s where traditional security scanners fall short: they often fuzz randomly the parameters hoping to find some low-hanging fruit injection, but end up blocked at the data validation layer.

    FDAE is smarter. If it detects that the route /user/:uuid might be sensible, it will first look at all the other routes in the API and try to find one that returns a valid user UUID. Once it gets the valid user UUID, it will use it to trigger the /user/:uuid route and try to exploit it in many different ways.

    If there are no existing users in the database, but there is a route to create one, Escapeā€™s FDAE will even be able to create a user, get its UUID, and then attempt exploiting the routes that require a user UUID.

    This process, very similar to what human penetration testers and bug hunters do, allows Escape to do extensive and deep testing of any API and business processes. Itā€™s specifically good at finding many access control bugs like tenant isolation problems, complex multi-step injections, and request forgeries.

    To give a specific example, imagine youā€™re building an e-commerce application, Escape can detect cases where users can bypass payment steps or modify input parameters in the request to access other userā€™s orders or private information.

    You can find a more detailed explanation of how Feedback Driven API Exploration works with graphics here: https://escape.tech/blog/feedback-driven-api-exploration/

    Escapeā€™s entire scanning process takes minutes. It was very important to us, as former developers, to seamlessly integrate API testing in CI/CD pipelines and quickly implement relevant fixes. To verify that it was scalable, we scanned all public APIs on the internet and produced research reports on their quality: the State of GraphQL Security (https://26857953.fs1.hubspotusercontent-eu1.net/hubfs/268579...), and the State of Public APIs (https://apirank.dev/state-of-public-api-2023/).

    Apart from discovering and testing APIs in minutes, we wanted to make Escape actionable. Pinpointing a problem is one thing, but then how to fix it? Most dynamic scanners give vague remediation instructions. Escape actually generates code snippets to help developers.

    We offer a few monthly and yearly subscription plans based on the number of APIs and developers in the org, with a free 7 days trial. The pricing is accessible in the app during a trial period. Since our product is highly technical, we wanted to make sure that users can explore our features, evaluate what Escape does, and understand its value before making a decision. Users can see pricing details at a point in their trial journey where it makes the most sense, aligning with their understanding of the product. You can try us without a credit card at https://escape.tech.

    Our main SaaS product is closed source, but we publish many open source packages for security and developers on https://github.com/Escape-Technologies/ , some of them being widely used like GraphQL Armor (https://github.com/Escape-Technologies/graphql-armor/)

    The number and complexity of APIs are constantly growing, and weā€™re continuing to learn every day, so we would greatly appreciate and are eager for your feedback (no matter how big or small)! Thanks!

  • GraphQL DoS amount-attack "breadth"
    2 projects | /r/graphql | 11 Jun 2023
    We are using grapql-armor to limit the effect of this on our graphQL API. https://github.com/Escape-Technologies/graphql-armor
  • The-Guild.dev x Escape.tech ā€“ Make secure GraphQL accessible to everyone
    1 project | /r/opensource | 26 Aug 2022
    Link direct to the GitHub repo, to save others clicking on LinkedIn links or reading through the marketing fluff.
  • Protecting your endpoints against Bruteforce Attacks with Rate Limiting
    1 project | /r/graphql | 10 Aug 2022
    Note: for anything security but not rate-limit related, we've recently published https://github.com/Escape-Technologies/graphql-armor
  • Show HN: GraphQL Armor ā€“ An open source security layer for GraphQL
    1 project | news.ycombinator.com | 4 Aug 2022
  • GraphQL Armor - A free & open source plugin to secure GraphQL endpoints
    1 project | /r/api | 3 Aug 2022
    1 project | /r/programming | 3 Aug 2022
  • Show HN: GraphQL Armor ā€“ A middleware to make GraphQL more secure than REST
    1 project | news.ycombinator.com | 3 Aug 2022
  • GraphQL Armor - A middleware to make GraphQL more secure than REST in minutes
    1 project | /r/graphql | 3 Aug 2022
    Say hello to GraphQL Armor: https://github.com/Escape-Technologies/graphql-armor! šŸ˜Ž

What are some alternatives?

When comparing graphql-modules and graphql-armor you can also consider the following projects:

graphql-tools - :wrench: Build, mock, and stitch a GraphQL schema using the schema language [Moved to: https://github.com/ardatan/graphql-tools]

xss-shield - A powerful middleware for securing your express.js applications against cross-site scripting (XSS) attacks

mercurius-typescript - TypeScript usage examples and "mercurius-codegen" for Mercurius

apollo-log - A logging extension for the Apollo GraphQL Server

graphql-code-generator - A tool for generating code based on a GraphQL schema and GraphQL operations (query/mutation/subscription), with flexible support for custom plugins.

graphql-pothos-server-example - Example implementation of the Pothos (formerly GiraphQL) library to create a GraphQL server with queries, mutations, and subscriptions along with unit and integration tests.

apollo-server - šŸŒ Ā Spec-compliant and production ready JavaScript GraphQL server that lets you develop in a schema-first way. Built for Express, Connect, Hapi, Koa, and more.

graphql-query-complexity - GraphQL query complexity analysis and validation for graphql-js

apollo-vue-devtools - Integrate GraphQL Apollo with Vue Devtools!

graphql-toolkit - A set of utils for faster development of GraphQL tools

fullstack-graphql-app - An opinionated fullstack GraphQL monorepo boilerplate using pnpm, Turborepo, Prisma, GraphQL Yoga 2, Fastify, Nextjs, urql, and React