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