atheris — Claude Code skill: what it does, how to install
Guides setup of coverage-guided fuzzing for Python code and C extensions with Atheris. Use it to investigate crashes and memory corruption.
npx skills add trailofbits/skills --skill atheris -a claude-codeWhat atheris does
This skill guides an agent through creating and running an Atheris harness, a Python fuzzer based on libFuzzer. It covers the TestOneInput entry point, the @atheris.instrument_func decorator, and launching with atheris.Setup() plus atheris.Fuzz().
For targets with several argument types, it uses atheris.FuzzedDataProvider to draw typed values from a byte sequence. The skill also covers atheris.instrument_imports() for imported modules and harness rules: handle expected exceptions, while letting unexpected failures reach the fuzzer.
Atheris runs on Linux and macOS and needs Python 3.7 or later with a recent clang. Its Docker setup compiles C extensions with AddressSanitizer, so check compiler settings before fuzzing native code.
What it helps with
- build a
TestOneInputharness - instrument a Python function for coverage
- supply typed arguments with
FuzzedDataProvider - check a C extension for memory corruption
- run fuzzing with AddressSanitizer
Example prompts for the agent
- “Create an Atheris harness for the byte parser in `fuzz.py`.”
- “Use `FuzzedDataProvider` in `TestOneInput` for a string name and a boolean flag.”
- “Prepare a Docker build for fuzzing this C extension with Atheris and AddressSanitizer.”
How to install atheris
1Skills CLI (Vercel)
npx skills add trailofbits/skills --skill atheris -a claude-code2Manually: put the files in place
~/.claude/skills/atheris/SKILL.mdCopy the whole skill folder; for one project use .claude/skills/atheris/
1Skills CLI (Vercel)
npx skills add trailofbits/skills --skill atheris -a codex2Manually: put the files in place
.agents/skills/atheris/SKILL.mdFor all projects use ~/.agents/skills/
1Skills CLI (Vercel)
npx skills add trailofbits/skills --skill atheris -a cursor2Manually: put the files in place
.cursor/skills/atheris/SKILL.mdCursor also reads .agents/skills/ and .claude/skills/
1GitHub CLI
gh skill install trailofbits/skills atheris2Manually: put the files in place
.github/skills/atheris/SKILL.md1Skills CLI (Vercel)
npx skills add trailofbits/skills --skill atheris -a gemini-cli2Platform CLI
gemini skills install https://github.com/trailofbits/skills --path plugins/testing-handbook-skills/skills/atherisManually: put the files in place
.devin/skills/atheris/SKILL.mdThe legacy .windsurf/skills/ path still works
Skills CLI (Vercel)
npx skills add trailofbits/skills --skill atheris -a opencodeClaude.ai
Zip the folder and upload it in Settings → Capabilities → Skills
From the same set35
The whole set →Similar
Questions about atheris
How do I install atheris in Codex?
Run npx skills add trailofbits/skills --skill atheris -a codex in the project directory. The skill is installed at .agents/skills/atheris/SKILL.md.
What does atheris do?
The skill helps an agent set up coverage-guided fuzzing for Python code and Python C extensions using Atheris. It covers harnesses, import instrumentation, and AddressSanitizer.
What does Atheris require?
Linux and macOS use Python 3.7 or later and a recent clang. The Docker environment uses Docker Desktop.