# How GitHub Uses eBPF to Enhance Deployment Safety

Discover how eBPF technology resolves circular dependencies in deployment processes.

- **Source:** [GitHub Engineering](https://github.blog/category/engineering)
- **Published:** 2026-04-16
- **Topic:** [Software & Engineering](https://brifing.si/c/engineering)
- **Original article:** <https://github.blog/engineering/infrastructure/how-github-uses-ebpf-to-improve-deployment-safety/>
- **On Brifing:** https://brifing.si/s/1bbfaa71-e274-4258-9334-eaf0f5896249

## GitHub Hosting Its Own Source Code

GitHub hosts its own source code on github.com. This allows them to test changes internally before releasing them to users. However, this approach introduces the risk of losing access to their own code if the platform goes down.

## The Risks of Circular Dependencies

Circular dependencies can emerge in GitHub's deployment processes. For example, a deployment script might fail if it tries to download a binary from GitHub while the platform is down.

## The Role of eBPF

eBPF (extended Berkeley Packet Filter) allows custom programs to be loaded into the Linux kernel and hooked into core system functions. GitHub used eBPF to prevent deployment scripts from creating circular dependencies.

## Direct Dependencies

A MySQL deployment script might attempt to pull the latest release of an open-source tool from GitHub. If GitHub is unavailable, the script will fail.

## Hidden Dependencies

A deployment script might use a tool already present on the machine. However, if the tool checks GitHub for updates and cannot connect, the script may fail.

## Transient Dependencies

A deployment script might call an internal service via an API, which in turn tries to fetch a binary from GitHub. If GitHub is down, the error propagates back to the script.

## Solving with eBPF

GitHub used eBPF to restrict network access for deployment scripts. This prevents specific scripts from accessing GitHub, thereby avoiding circular dependencies.

## Creating eBPF Programs

GitHub engineers began writing eBPF programs in Go. These programs are loaded into the Linux kernel to monitor and control network traffic.

## The Future of eBPF

eBPF technology not only enhances deployment safety at GitHub but also offers solutions for similar challenges faced by other companies. This technology is ushering in a new era in systems engineering.

## Sources covering this story

- https://github.blog/engineering/infrastructure/how-github-uses-ebpf-to-improve-deployment-safety/ — 

---

_Summary written by Brifing from the original reporting. Copyright in the original article belongs to its publisher; read the full piece at the link above._
