What problem does it solve? Finding crashes, memory corruption, and unexpected exceptions in Python code and Python C extensions requires systematic input generation that manual testing cannot provide. This Skill guides the setup and execution of coverage-guided fuzzing with Atheris, including sanitizer integration for detecting memory errors in native extensions. ## Core Features & Use Cases - Pure Python Fuzzing: Instrument Python functions and imports with atheris.instrument_func and atheris.instrument_imports() to generate coverage-guided random inputs. - C Extension Fuzzing: Compile native extensions with clang and AddressSanitizer flags, configure LD_PRELOAD, and detect memory corruption in libraries like cbor2. - Corpus and Campaign Management: Create seed corpora, minimize them with libFuzzer merge mode, and run parallel fuzzing campaigns with workers and time limits. - Use Case: You maintain a Python library that parses untrusted input. Write a harness that feeds random bytes to your parser, run it in the provided Docker environment with ASan enabled, and catch buffer overflows and unexpected exceptions before release. ## Quick Start Write a fuzzing harness for my Python parser function using Atheris and show me how to run it with a seed corpus.