Project

General

Profile

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