Search

Achraf Ait Sidi Hammou

Achraf Ait Sidi Hammou is an experienced full-stack developer and deep-learning researcher. He is an expert in GraphQL Security and loves to write about GraphQL-related topics.

Achraf Ait Sidi Hammou — Last Publications

GraphQL XSS: Cross-Site Scripting Explained

GraphQL Vulnerability

GraphQL XSS: Cross-Site Scripting Explained

Every Monday morning, you go through your ritual and check the users' feedback. This week, despite all the wonderful feedback, some users are complaining that someone has impersonated them and performed actions on their accounts without their knowledge. After some investigation, you discover that all the complaining users have each logged in from different IP addresses in the past week and moreover, one IP address comes up several times on different accounts. So there really could be an attacke

Achraf Ait Sidi Hammou
Using Rate Limiting to protect your GraphQL API against Brute Force Attacks

Using Rate Limiting to protect your GraphQL API against Brute Force Attacks

For several days now, your users have been complaining about losing access to your web service. If at first you thought it was a simple coincidence and certainly a fault of the users, the incident starts to be strongly repeated and noticed. You rush to your monitors and notice an abnormal rate of requests for a number of days. If you had any doubts before, it is now clear: you are undergoing a brute force attack. Fortunately, this article is here to help you avoid this. What is a Bruteforce a

Achraf Ait Sidi Hammou
GraphQL Cyclic Queries and Depth Limiting

GraphQL Vulnerability

GraphQL Cyclic Queries and Depth Limiting

The relational aspect of GraphQL can be a vulnerability exploited by running deep and cyclic queries causing your API to crawl under the load and crash. That's a Denial of Service. Learn how it works and how you can protect your API!

Achraf Ait Sidi Hammou
SQL Injection in GraphQL

GraphQL Vulnerability

SQL Injection in GraphQL

You receive a call in the middle of the night from the SRE team: All production data has been deleted from your company's various relational databases. Many of the company's internal services are therefore down. You absolutely need to fix the problem immediately and identify the problem. Once you log into the company's system you find that much of the information in your databases has been lost. Fortunately, you have a daily data backup so you can quickly restore the database to its previous

Achraf Ait Sidi Hammou
File Inclusion and Directory Traversal in GraphQL

GraphQL Vulnerability

File Inclusion and Directory Traversal in GraphQL

Back at the office, you try to connect to one of your application's servers. But for some reason, your account is no longer granted access. Anyway. You have a backup so you can restore it to a previous state in a minute. Still, you have to figure out what happened so it doesn't happen again. From the activity logs, it looks like you changed your user's password on this machine yourself but from an unusual address. Of course, you did not... That means someone had access to your credentials fo

Achraf Ait Sidi Hammou
When GraphQL field suggestions become a Security Issue

GraphQL Vulnerability

When GraphQL field suggestions become a Security Issue

GraphQL offers an amazing developer experience. But the same features that help you in development, can disclose critical information to cyberattacks in production. Learn how you can fix this vulnerability.

Achraf Ait Sidi Hammou
How to prevent data leaks with HTTPS

GraphQL Vulnerability

How to prevent data leaks with HTTPS

HTTP is the text protocol that has been running the web, but its upgraded version HTTPS should always be preferred to avoid data leaks. Read more to understand the risk and how you can implement the security fix in your GraphQL framework of choice.

Achraf Ait Sidi Hammou
Hacking GraphQL Playground

AppSec

Hacking GraphQL Playground

GraphQL Playground has had a known XSS security issue since 2020. We give 2 very concrete scenarios to show you how it could unfold if it were to be exploited in your organization.

Achraf Ait Sidi Hammou
Learn GraphQL in 8 simple steps

Tutorial

Learn GraphQL in 8 simple steps

The adoption of GraphQL is growing like crazy. But the learning curve is steep and getting started can be overwhelming. Here's our 8-step roadmap to ship production-ready APIs

Achraf Ait Sidi Hammou
GraphQL Error Handling Best Practices for Security

Best Practices

GraphQL Error Handling Best Practices for Security

Error messages in GraphQL are rarely seen as a security concern, yet they should. The risk? Leaking information and data! Learn more about GraphQL errors and how to handle them.

Achraf Ait Sidi Hammou
Building a type-safe Fullstack Application with GraphQL codegen

Tutorial

Building a type-safe Fullstack Application with GraphQL codegen

There are two approaches to defining your schema in GraphQL: schema-first and code-first. When using Typescript, you might find yourself having to write types again and again. Enters GraphQL codegen: your schema file becomes the single source of truth.

Achraf Ait Sidi Hammou
GraphQL Security: 9 Best Practices You Need to Know

AppSec

GraphQL Security: 9 Best Practices You Need to Know

GraphQL has no security by default. All doors are open for the most basic attacks. Read more to learn about the exact threats and some simple strategies you can implement to get your users' data under lock and key 🔐

Achraf Ait Sidi Hammou
How to Test your GraphQL Endpoints

Tutorial

How to Test your GraphQL Endpoints

Testing your GraphQL API is critical to ensure that your software's business logic is running as expected. Tests will reveal bugs and vulnerabilities before they make it to production. In this tutorial, we go through the practical steps to write unit and integration tests for your GraphQL API.

Achraf Ait Sidi Hammou