
Apache HTTPD सर्वर में मॉड्यूल्स के लिए फ़ज़िंग फ्रेमवर्क
apatchy आपको Apache के पूर्ण HTTP अनुरोध प्रोसेसिंग पाइपलाइन - पार्सिंग, हुक, फ़िल्टर, हैंडलर - को बिना किसी नेटवर्क I/O के फ़ज़ करने देता है। यह Apache की सॉकेट परत को कस्टम I/O फ़िल्टर से बदल देता है, और कच्चे बाइट्स को सीधे उन्हीं कोड पाथ में फीड करता है जो वास्तविक HTTP ट्रैफ़िक को संभालते हैं।

इसे WSL2 और/या डॉकर कंटेनर पर चलाने की अनुशंसा की जाती है
docker build --build-arg UID=$(id -u) -t apatchy-dev .
docker run -it --rm -p 9000:9000 -v $(pwd):/repo apatchy-dev
फिर इन कमांड्स को इस क्रम में चलाएँ:
# 1. activate environment
cd framework/
uv venv .venv
uv pip install --python .venv -e ".[all]"
source .venv/bin/activate
# 2. init setup (one-time setup)
apatchy setup check # verify dependencies
apatchy setup --force llvm --llvm-version 18 # install LLVM tools locally
# 3. download
apatchy download --version 2.4.65
# 4. configure (vanilla root tree)
apatchy configure --asan --ubsan --ubsan-ignorelist ./configs/ubsan.ignorelist
# 5. build vanilla tree (`--bear` for IDE navigation)
apatchy make --tree vanilla --bear
# 6. build libfuzzer branch (inherits sanitizers from root)
apatchy make --tree lf
# 7. setup for protobuf
apatchy setup lpm
# 8. list avail. harnesses
apatchy link --list-harnesses
# 9. link target harness
apatchy link --harness mod_fuzzy_proto_session --bear
# 10. fuzz
apatchy fuzz \
--config configs/session-coverage.conf \
--seed-dir fuzz-seeds/session/ \
# 11. build coverage branch and generate HTML cov report
apatchy make --tree cov
apatchy coverage report \
--with-introspect \
--config configs/session-coverage.conf \
--harness mod_fuzzy_proto_session \
--suppress configs/ubsan.supp
# 12. launch interactive gui w/ call-tree analysis
apatchy introspect \
--entry session_crypto_decode,session_crypto_encode,session_crypto_init
नोट: यह अभी भी प्रगति पर है/पूर्ण नहीं है। मुझे पता है कि CLI को और अधिक ध्यान देने की आवश्यकता है।
apatchy docs --serve के माध्यम से स्थानीय रूप से जनरेट कर सकते हैंदेखें LICENSE।