Project

General

Profile

Getting started » History » Version 1

Egor Zheliba, 02/10/2025 02:35 AM

1 1 Egor Zheliba
h1. Getting started
2
3
Чтобы начать работу с FuzzRV, вам понадобится только установленный Docker и свободное место на диске (примерно 5–10 ГБ). 
4
5
Скачать Docker можно по инструкции с официального сайта:
6
https://docs.docker.com/engine/install/
7
8
Для пользователей Linux (Ubuntu/Debian) установка может выглядеть так:
9
10
sudo apt update
11
 - Обновляет локальный индекс пакетов.
12
13
sudo apt install -y docker.io
14
 - Устанавливает Docker.
15
16
sudo systemctl enable docker --now
17
 - Запускает Docker и делает так, чтобы он запускался автоматически при старте системы.
18
19
sudo usermod -aG docker <your_username>
20
 - Добавляет пользователя в группу Docker (чтобы можно было работать без sudo).
21
22
После этого необходимо перелогиниться или перезайти в систему, чтобы изменения вступили в силу.
23
24
---
25
26
h2. Основные команды Docker
27
28
docker images
29
 - Показывает список локально установленных образов.
30
31
docker ps -a
32
 - Показывает список контейнеров (включая остановленные).
33
34
docker image rmi <IMAGE_ID>
35
 - Удаляет образ с указанным <IMAGE_ID>.
36
37
docker rm <CONTAINER_ID>
38
 - Удаляет контейнер с указанным <CONTAINER_ID>.
39
40
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 {}'
41
 - Упрощённая команда, которая удаляет все остановленные контейнеры, "висящие" образы и неиспользуемые тома.
42
43
---
44
45
h2. Необходимые образы
46
47
Для запуска любого фаззера FuzzRV обычно нужно два Docker-образа:
48
1. *gcr.io/oss-fuzz/project_name* — конкретный образ с собранным проектом.
49
2. *gcr.io/oss-fuzz-base/base-runner* — базовый образ, необходимый для запуска процесса фаззинга. Его можно использовать многократно и не пересобирать лишний раз.
50
51
---
52
53
h2. Следующие шаги
54
55
[[Fuzzing Spike]] — пример запуска фаззинга для Spike.  
56
[[Fuzzing ibex64]] — в процессе написания.  
57
[[Fuzzing picorv32]] — в процессе написания.