Verifying the eBPF Verifier in the Linux Kernel with Agni

This project is building a collection of techniques and tools to automatically verify the implementation of the static analysis algorithms used by the eBPF verifier in the Linux Kernel. Our eventual goal is to provide strong proofs of correctness guarantees for the entire eBPF verifier in the Linux Kernel.

As part of this project, we have developed new algorithms for abstract multiplication of two tnum abstract domain values, which has been upstreamed to the Linux Kernel.

We have developed a prototype to automatically generate verification conditions for the Kernel's abstract operators directly from the Linux Kernel's source code. When these verification conditions are checked with our soundness specifications, we can discover potential unsoundness in the abstract operators. Our prototype, Agni is currently used as part of the CI of the Linux kernel.

Participants

Patches Upstreamed to the Linux Kernel

Code

Talks

Publications

  • Comparing the Precision of Abstract Operators in the eBPF Verifier using Differential Synthesis. [preprint]
    Matan Shachnai, Harishankar Vishwanathan, Srinivas Narayana, and Santosh Nagarakatte.
    Proceedings of the 32nd Static Analysis Symposium (SAS 2025), Singapore, October 2025.

  • Automatic Synthesis of Abstract Operators for eBPF. [preprint]
    Harishankar Vishwanathan, Matan Shachnai, Srinivas Narayana, and Santosh Nagarakatte.
    Proceedings of the Proceedings of the 2025 SIGCOMM Workshop on eBPF and kernel extensions (eBPF-2025), Coimbra, Portugal, September 2025.

  • Fixing Latent Unsound Abstract Operators in the eBPF Verifier of the Linux Kernel. [preprint]
    Matan Shachnai, Harishankar Vishwanathan, Srinivas Narayana, and Santosh Nagarakatte.
    Proceedings of the 31st Static Analysis Symposium (SAS 2024), Pasadena, California, USA, October 2024.

  • Verifying the Verifier: eBPF Range Analysis Verification. [preprint]
    Harishankar Vishwanathan, Matan Shachnai, Srinivas Narayana, and Santosh Nagarakatte
    Proceedings of the 35th International Conference on Computer Aided Verification (CAV-2023), Paris, France, July 17-22, 2023.
    Acceptance rate: 26% (68 out of 262 submissions)

  • Sound, Precise, and Fast Abstract Interpretation with Tristate Numbers [preprint]
    Harishankar Vishwanathan, Matan Shachnai, Srinivas Narayana, and Santosh Nagarakatte
    Proceedings of the International Symposium on Code Generation and Optimization (CGO-2022), Seoul, South Korea, April, 2022.
    Acceptance rate: 27% (27 out of 99 submissions)
    CGO 2022 Distinguished Paper Award

  • Semantics, Verification, and Efficient Implementations for Tristate Numbers [pdf]
    Harishankar Vishwanathan, Matan Shachnai, Srinivas Narayana, and Santosh Nagarakatte
    Department of Computer Science, Rutgers University Technical Report DCS-TR-755, May 2021

Funding:

Last modified: Thursday October 16 00:30 EST 2025