1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/microsoft-onefuzz

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
Клонировать/Скачать
terminology.md 6.5 КБ
Копировать Редактировать Web IDE Исходные данные Просмотреть построчно История
Отправлено 23.04.2025 15:56 cb328e0

Терминология OneFuzz

Задача

Задача — это единица работы. Примеры высокого уровня описаний задач включают:

  • "Запустить AFL с заданным целевым объектом"
  • "С заданным целевым объектом, создать карту покрытия для каждого входного файла"

Для получения дополнительной информации: Понимание задач

Задание

Задание, в сущности, является удобным способом ссылки на коллекцию задач.

Задания уникально идентифицируются по job_id (UUID) и включают следующую информацию:

  • проект (пример: MSEdge)
  • имя (пример: png_parser)
  • сборка (пример: 3529725.3)

Шаблон

Шаблон — это предварительно настроенное задание с набором задач, которые включают наиболее распространенные конфигурации для заданного задания по фuzziрованию. Шаблоны аналогичны пьедесталам или рецептам, полностью построенным на основе SDK. Шаблоны могут быть воспроизведены как скрипты, вызывающие SDK, или путем выполнения CLI.

В качестве примера, шаблон 'libfuzzer basic' включает следующие задачи:

  • Фuzziрование (на самом деле выполняет задачи фuzziрования)
  • Отчет о сбоях (оценка каждого сбоя на предмет воспроизводимости и генерация употребляемого отчета)
  • Отчет о покрытии (оценка каждого входного файла для покрытия кода в приложении под тестом)В настоящее время шаблоны статически определены. В будущем OneFuzz позволит владельцу экземпляра OneFuzz управлять своими шаблонами, обеспечивая централизованное управление способом определения задач фuzziрования.## Воспроизведение

Воспроизведение — это сокращение от 'воспроизводимых виртуальных машин'. Эти виртуальные машины создаются по требованию для возможности отладки сбоя в той же среде, используемой для фuzziрования через SSH-туннель. Автоматизация создания воспроизводимых виртуальных машин включает загрузку данных задач, связанных с сбоем, выполнение любых скриптов установки и запуск приложения под тестом в отладчике (cdb -server на Windows и gdbserver на Linux).

В настоящее время автоматическое подключение отладчика функционально только для целевых объектов на основе файлов (например, libfuzzer или AFL), однако пользователи могут подключаться к виртуальным машинам напрямую через SSH или RDP (только для Windows) и имеют полный контроль над виртуальной машиной.

Контейнер

Контейнер — это контейнер Azure Blob Storage. Каждая задача фuzziрования имеет набор обязательных и потенциально необязательных контейнеров, используемых в определенном контексте.

Более информации о контейнерах

Пул

Пул представляет собой группу узлов для выполнения Задач. Пулы позволяют пользователям указывать, на какой группе узлов должна выполняться их задача.Пулы определяются следующими параметрами:

  • name: имя пула
  • os: операционная система узла (linux или windows)
  • arch: архитектура процессора узлов (только x86_64 на данный момент)
  • managed: является ли пул состоящим из управляемых OneFuzz масштабируемых наборов## Масштабируемый набор

Масштабируемый набор представляет собой Azure Virtual Machine Scaleset, весь жизненный цикл которого управляется OneFuzz. Все виртуальные машины в масштабируемом наборе автоматически настраиваются для подключения к экземпляру OneFuzz как узел.

Масштабируемые наборы могут работать на почти любом Azure VM Image (используйте URN для образа) или пользовательском образе операционной системы.

Узел

Одиночный вычислительный узел для выполнения задач. В настоящее время это только виртуальные машины в масштабируемом наборе, хотя поддержка для локальных узлов или узлов, размещенных на облачных платформах третьих сторон, будет доступна в будущем.

Опубликовать ( 0 )

Вы можете оставить комментарий после Вход в систему

1
https://api.gitlife.ru/oschina-mirror/microsoft-onefuzz.git
git@api.gitlife.ru:oschina-mirror/microsoft-onefuzz.git
oschina-mirror
microsoft-onefuzz
microsoft-onefuzz
main