CheckOps home

Tools directory

A

CheckOps

Atheris

Atheris is Google's Apache-2.0 coverage-guided Python fuzzing engine, based on libFuzzer, for Python code and CPython native extensions.

Visit website

Latest public signals

Not refreshed yet. Refresh reads the public site and, when the entry has a GitHub repository, the latest release.

Visit Website

Introduction

Atheris is a coverage-guided Python fuzzing engine. It fuzzes Python code and native extensions written for CPython, and is based on libFuzzer. For native code it can be combined with Address Sanitizer or Undefined Behavior Sanitizer. It supports Linux and macOS.

The source code is at google/atheris on GitHub under the Apache-2.0 licence, with about 1,700 stars; the most recent commit was on 17 June 2026.

Features

  1. Python fuzzing: Coverage-guided for pure Python.
  2. Native extensions: Fuzz CPython C extensions.
  3. Sanitizers: ASan and UBSan for native code.
  4. FuzzedDataProvider: Helpers to build typed inputs.
  5. OSS-Fuzz support: Used for Python projects.

Pros

  1. Free to use: Open source under Apache-2.0.
  2. Maintained: Commits as recent as 17 June 2026.

Cons

  1. Platform limits: Linux and macOS only.
  2. Last commit June 2026: Check activity before adopting.
import atheris, sys
with atheris.instrument_imports():
    import mylib

def TestOneInput(data):
    mylib.parse(data)

atheris.Setup(sys.argv, TestOneInput)
atheris.Fuzz()

Resources:

Pricing

Atheris is free and open source under the Apache-2.0 licence.

  1. Python library maintainers.
  2. Teams with C extensions.
  3. Not a fit on Windows.

Conclusion

Atheris is the standard coverage-guided fuzzer for Python.

Alternatives

Other tools on CheckOps that cover similar ground. Open a page, or compare one with Atheris side by side.