Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
19 changes: 6 additions & 13 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,21 +6,14 @@ This repository hosts all fuzzing efforts for OpenPrinting projects, including f

See the `/projects` folder for details on existing integrations of OpenPrinting projects with OSS-Fuzz.

## Parser Fuzzers
## cups-filters libFuzzer Targets

The `/parser-fuzzers` directory contains a standalone parser/filter fuzzing
prototype for OpenPrinting targets. It includes format-aware seed generation,
SMT-assisted template repair, AFL++ handoff scripts, crash triage helpers, and
clone-only Python smoke tests.
The `/parser-fuzzers` directory contains an OSS-Fuzz project for the current
OpenPrinting cups-filters stack. It builds 12 in-process libFuzzer targets with
matching seed corpora, dictionaries, and runtime options.

Start with:

```bash
cd parser-fuzzers
python3 -m pip install -e .
scripts/run_smoke.sh
scripts/setup_tui.sh --commands
```
See [`parser-fuzzers/README.md`](parser-fuzzers/README.md) for the target list
and OSS-Fuzz validation commands.

## Contributing

Expand Down
24 changes: 0 additions & 24 deletions parser-fuzzers/.gitignore

This file was deleted.

29 changes: 29 additions & 0 deletions parser-fuzzers/Dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
FROM gcr.io/oss-fuzz-base/base-builder

RUN sed -i 's|http://|https://|g' /etc/apt/sources.list && \
apt-get -o Acquire::Retries=8 -o Acquire::https::Timeout=60 update && \
apt-get -o Acquire::Retries=8 -o Acquire::https::Timeout=60 \
install -y --no-install-recommends \
autoconf automake autopoint build-essential cups-common fontconfig \
fonts-dejavu-core gettext git libavahi-client-dev libcap-dev \
libcups2-dev libdbus-1-dev libexif-dev libfontconfig1-dev \
libglib2.0-dev libjpeg-dev libgnutls28-dev liblcms2-dev libnss-mdns \
libpng-dev libqpdf-dev libsystemd-dev libtiff-dev libtool \
libwebp-dev libzstd-dev pkg-config patchelf poppler-utils zlib1g-dev && \
rm -rf /var/lib/apt/lists/*

RUN git clone --depth 1 https://github.com/OpenPrinting/cups.git \
$SRC/cups && \
git clone --depth 1 https://github.com/OpenPrinting/cups-filters.git \
$SRC/cups-filters && \
git clone --depth 1 https://github.com/OpenPrinting/libcupsfilters.git \
$SRC/libcupsfilters && \
git clone --depth 1 https://github.com/OpenPrinting/libppd.git \
$SRC/libppd && \
git clone --depth 1 --recurse-submodules \
https://github.com/michaelrsweet/pdfio.git $SRC/pdfio

COPY . $SRC/cupsfilters-core12
COPY build.sh $SRC/build.sh

WORKDIR $SRC/cups-filters
33 changes: 0 additions & 33 deletions parser-fuzzers/Makefile

This file was deleted.

Loading