Skip to content

Add GSoC 2026 fuzzing demo v1#53

Open
kimaiden1984-boop wants to merge 1 commit into
OpenPrinting:mainfrom
kimaiden1984-boop:gsoc2026-advanced-system-fuzzing-demo-v1
Open

Add GSoC 2026 fuzzing demo v1#53
kimaiden1984-boop wants to merge 1 commit into
OpenPrinting:mainfrom
kimaiden1984-boop:gsoc2026-advanced-system-fuzzing-demo-v1

Conversation

@kimaiden1984-boop
Copy link
Copy Markdown

@kimaiden1984-boop kimaiden1984-boop commented Jun 1, 2026

Summary

This PR adds a GSoC 2026 demo v1 workspace for SMT-assisted and format-aware fuzzing of OpenPrinting parser/filter pipelines.

The goal of this first version is to provide a runnable local research scaffold: setup helpers, weak public seeds, parser/filter target configs, coverage-oriented input generation, crash deduplication, replay helpers, and ASan/AFL++ workflow hooks.

What Is Included

  • smt-fuzzer/: standalone Python fuzzing and triage scaffold.
  • Interactive setup entry point: scripts/setup_tui.sh.
  • Quick local campaign runner for installed CUPS filters.
  • Isolated ASan build-plan helper for libcupsfilters, libppd, and cups-filters.
  • AFL++ command/environment helpers.
  • Format-aware generators for PPD, raster, image, PDF, text, command, and PostScript-style inputs.
  • Crash deduplication and replay/GDB helper scripts.
  • Unit tests and config validation.

Quick Start

cd "contributions/GSoC 2026 - Advanced System-Level Fuzzing for OpenPrinting - Deep State Exploration and LLM-Augmented Mutation/smt-fuzzer"
scripts/setup_tui.sh

For a non-interactive smoke test:

scripts/install_ubuntu_deps.sh --minimal -y
python3 -m venv .venv
. .venv/bin/activate
python3 -m pip install -U pip
python3 -m pip install -e .
scripts/run_smoke.sh
python3 -m unittest discover -s tests

Recommended quick target check when system CUPS filters are installed:

scripts/run_local_cups_filters_campaign.sh /usr/lib/cups/filter 1 2 5 configs/parser_targets.yaml

Notes For Reviewers

This is a research/demo scaffold, not a production fuzzing deployment yet. It is intended to make local reproduction, target expansion, and future ASan/AFL++ integration easier to collaborate on.

Generated campaign outputs stay under work/ and are ignored by git. The submitted seeds are weak public seeds only; issue-specific reproducer material is not included in the PR.

New found issue by this system : OpenPrinting/libcupsfilters#148

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant