Search

Gautier Ben Aïm

Gautier Ben Aïm, Full-Stack Software Engineer at Escape, founded the API Security Academy, specializing in GraphQL security. He's a conference speaker, featured at events like bSides.

Gautier Ben Aïm — Last Publications

Using Protobuf with TypeScript

TypeScript

Using Protobuf with TypeScript

We recently moved to Protobuf to enforce consistency. Discover the pros and cons of migration to Protobuf and follow the step-by-step guide to create a tiny TypeScript-Protobuf prototype.

Gautier Ben Aïm
How to set up a TypeScript Monorepo

TypeScript Monorepo

How to set up a TypeScript Monorepo

At Escape, we write our software in TypeScript because it allows us to iterate quickly without compromising on safety. While our codebase evolves a lot as we develop new features, its structure has been stable for a while now. This article aims to explain our current setup, how to put it in place and the developer experience it offers. Understanding the Benefits of a TypeScript Monorepo TypeScript, a statically-typed super-set of JavaScript, allows you to catch errors early and provide robus

Gautier Ben Aïm
API Security Academy: How It Works Under the Hood

API Security

API Security Academy: How It Works Under the Hood

The API Security Academy is built upon a technology that comes straight from the future—and by that, we mean the brilliant minds at StackBlitz - WebContainers. You may already know regular containers, the ones you can run with Docker and Kubernetes, which are lightweight virtualization units that allow developers to package and run applications in isolated containers. WebContainers are containers that run directly in the browser, pre-charged with a shell and Node.js. You may run anything in the

Gautier Ben Aïm
API Security Academy: a smarter way to learn GraphQL security

GraphQL

API Security Academy: a smarter way to learn GraphQL security

Learning about GraphQL security is now more accessible than ever! We're excited to introduce the API Security Academy, developed by the Escape team. Escape's API Security Academy is a free and open-source collection of interactive challenges that will teach you how to secure your GraphQL applications. The challenges are designed to be fun and engaging, and they will help you learn the following: * How to identify and mitigate security vulnerabilities in GraphQL applications * How to apply Gr

Gautier Ben Aïm
The 8 Most Common GraphQL Vulnerabilities (and How to Fix Them)

GraphQL Vulnerability

The 8 Most Common GraphQL Vulnerabilities (and How to Fix Them)

We at Escape have been scanning GraphQL APIs for vulnerabilities for more than two years. In this post, we will share the most common GraphQL vulnerabilities, affecting close to all GraphQL APIs we have scanned. We strongly recommend you check your GraphQL APIs for these vulnerabilities.

Gautier Ben Aïm
GraphQL errors: the Good, the Bad and the Ugly

Best Practices

GraphQL errors: the Good, the Bad and the Ugly

Managing GraphQL errors can be quite a challenging task, and we tried a lot of different approaches over time. Keep reading to know what we've learned along the way.

Gautier Ben Aïm
Rendering emails with Svelte

Rendering emails with Svelte

We recently rebuilt our whole email stack from scratch to improve the developer experience: we now have an instant feedback loop, leveraging a SvelteKit-powered dev server.

Gautier Ben Aïm
Migrating from Vue 2 to Svelte

Migrating from Vue 2 to Svelte

After using Vue 2 as our front-end framework for almost two years, it was announced that this support would no longer be maintained, so we decided to migrate to a new framework. But which one to choose: Vue 3 or Svelte? Please note that our goals after the migration were also to improve our developer experience especially type checking, performance, and building time. We didn't consider React because it would have taken too much time to learn, and it doesn't offer an out-of-the-box solution, as

Gautier Ben AïmSophie Boulaaouli
Achieving end-to-end type safety in a modern JS GraphQL stack – Part 2

Achieving end-to-end type safety in a modern JS GraphQL stack – Part 2

Welcome back! This article is the second and last part of the Achieving end-to-end type safety in a modern JS GraphQL stack series. Read the first part if you haven't yet! Svelte I won't go into the details of why Svelte, but I like Svelte a lot. It feels great writing Svelte code. And did I mention that it also offers type safety? The easiest way to set up a new Svelte website is with SvelteKit; let's go back to the packages directory and create a new SvelteKit project: # Create a Sve

Gautier Ben Aïm
Achieving end-to-end type safety in a modern JS GraphQL stack – Part 1

Achieving end-to-end type safety in a modern JS GraphQL stack – Part 1

In this article, we will create a simple GraphQL application, a message board, by combining many recent open-source technologies. This article aims to be a showcase of technologies that work well together rather than a complete tutorial on project setup. It is however a long read, so we decided to split it in two parts to make it easier to read. What is end-to-end type safety? Type safety is the property of a program that guarantees that all value types are known at build time. It prevents

Gautier Ben Aïm
Forging GraphQL Bombs, the 2022 version of Zip Bombs

Forging GraphQL Bombs, the 2022 version of Zip Bombs

Zip Bombs are a thing of the past, but the concept behind them is still relevant nowadays. Indeed, your GraphQL application might be vulnerable to what we'll call GraphQL Bombs in this article. Read on to know if you're vulnerable and how to secure your GraphQL application! How do zip bombs work? Before diving into the topic, let's take a moment to understand the concept behind zip bombs. Zip files are lossless compressed archives whose most common compression algorithm is named deflate.

Gautier Ben Aïm