Project

General

Profile

Actions

Getting started » History » Revision 7

« Previous | Revision 7/9 (diff) | Next »
Egor Zheliba, 03/03/2025 08:21 PM


Getting started

Для запуска фаззинга необходимо установить Docker и иметь не менее 10 ГБ свободного места на диске.
В процессе сборки будут созданы как минимум три Docker-образа:
  • gcr.io/oss-fuzz-base/base-runner (примерный размер ~1.36 ГБ)
  • gcr.io/oss-fuzz-base/base-builder (примерный размер ~1.72 ГБ)
  • gcr.io/oss-fuzz/ProjectName (размер зависит от тестируемого объекта, обычно не менее 3 ГБ; для Spike это ~5.5 ГБ)

Убедитесь, что ваш диск располагает достаточным количеством свободного пространства (не менее 10 ГБ), чтобы сборка прошла без ошибок.

1. Установка Docker

Скачайте Docker и выполните начальную настройку. Подробная инструкция

Для Linux (Ubuntu/Debian) пример установки:

sudo apt update
sudo apt install -y docker.io
sudo systemctl enable docker --now
sudo usermod -aG docker your_username

После добавления пользователя в группу docker необходимо перелогиниться.

2. Базовые команды Docker

Показывает список локально доступных образов.

docker images

Выводит список контейнеров (включая остановленные).

docker ps -a

Удаляет образ, указываемый по идентификатору.

docker image rmi IMAGE_ID

Удаляет контейнер с заданным идентификатором.

docker rm CONTAINER_ID

3. Очистка неиспользуемых ресурсов

Можно задать алиас для быстрой очистки всех остановленных контейнеров, «висящих» образов и неиспользуемых томов:

alias docker-cleanup='docker ps -a -q | xargs -I {} docker rm {}; docker images -q -f dangling=true | xargs -I {} docker rmi -f {}; docker volume ls -qf dangling=true | xargs -I {} docker volume rm {}'

4. Необходимые образы

Для запуска фаззера FuzzRV используются два образа:
  • gcr.io/oss-fuzz/project_name — образ, содержащий собранный проект.
  • gcr.io/oss-fuzz-base/base-runner — базовый образ для запуска процесса фаззинга. Этот образ можно не пересобирать и не удалять при повторном использовании.

5. Следующие шаги

Готовые сценарии запуска фаззинга:

Updated by Egor Zheliba about 1 month ago · 9 revisions