atheris

Solid

Use when a user needs coverage-guided fuzzing for Python code or a Python native extension using Atheris. Not for remote, credential, publish, deploy, or irreversible changes.

AI & Automation 52 stars 9 forks Updated 5 days ago Apache-2.0

Install

View on GitHub

Quality Score: 83/100

Stars 20%
57
Recency 20%
100
Frontmatter 20%
70
Documentation 15%
100
Issue Health 10%
80
License 10%
100
Description 5%
100

Skill Content

# Atheris ## Contract | Field | Bound contract | |---|---| | Trigger | User needs coverage-guided fuzzing for Python code or a Python native extension using Atheris. | | Authority | Reversible local: writes only the Atheris harness file, a corpus directory, and when required for dependency management `pyproject.toml` and `uv.lock` in the harness directory; rollback is deleting the harness file and corpus directory and restoring `pyproject.toml` and `uv.lock` to their pre-run state. No remote mutation. No source under test is mutated. | | Side effect | Local writes: a `fuzz.py` (or named) harness, a `corpus/` directory of seed and crash artifacts, and a transient fuzzing process. | | Done | Atheris executes an instrumented target through a deterministic `TestOneInput` harness, reports coverage, and any saved crash artifact reproduces the same failure when replayed. | ## Inputs - Target: the Python function or module to fuzz, or the Python C extension to fuzz. Required. - Target kind: pure Python, or native C extension. Required; it selects the instrumentation and build path. - Expected exceptions: the exception types the target legitimately raises on bad input, so the harness catches them instead of crashing. Optional but recommended. - Seed corpus: initial input files for `corpus/`. Optional; Atheris can start empty. - Time/length budget: `-max_total_time` and `-max_len` values. Optional; defaults are libFuzzer defaults. - Sanitizers: whether AddressSanitizer and/or Undef...

Details

Author
OutlineDriven
Repository
OutlineDriven/outline-driven-development
Created
9 months ago
Last Updated
5 days ago
Language
Python
License
Apache-2.0

Similar Skills

Semantically similar based on skill content — not just same category