Getting started » History » Revision 7
Revision 6 (Egor Zheliba, 03/03/2025 08:20 PM) → Revision 7/9 (Egor Zheliba, 03/03/2025 08:21 PM)
h1. 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 и выполните начальную настройку. Подробная "инструкция":https://docs.docker.com/engine/install/
Для Linux (Ubuntu/Debian) пример установки:
<pre>
sudo apt update
sudo apt install -y docker.io
sudo systemctl enable docker --now
sudo usermod -aG docker your_username
</pre>
После добавления пользователя в группу docker необходимо перелогиниться.
2. Базовые команды Docker
Показывает список локально доступных образов.
<pre>
docker images
</pre>
Выводит список контейнеров (включая остановленные).
<pre>
docker ps -a
</pre>
Удаляет образ, указываемый по идентификатору.
<pre>
docker image rmi IMAGE_ID
</pre>
Удаляет контейнер с заданным идентификатором.
<pre>
docker rm CONTAINER_ID
</pre>
3. Очистка неиспользуемых ресурсов
Можно задать алиас для быстрой очистки всех остановленных контейнеров, «висящих» образов и неиспользуемых томов:
<pre>
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 {}'
</pre>
4. Необходимые образы
Для запуска фаззера FuzzRV используются два образа:
* *gcr.io/oss-fuzz/project_name* — образ, содержащий собранный проект.
* *gcr.io/oss-fuzz-base/base-runner* — базовый образ для запуска процесса фаззинга. Этот образ можно не пересобирать и не удалять при повторном использовании.
5. Следующие шаги
Готовые сценарии запуска фаззинга:
* [[Fuzzing Spike]]
* [[Fuzzing cva6]]
* [[Fuzzing ibex64]] - Todo