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

OSCHINA-MIRROR/microsoft-onefuzz

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

Контейнеры в OneFuzz

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

Например, задача фаззинга с использованием libFuzzer использует следующее:

  • setup: Контейнер с исполняемым файлом цели libFuzzer и любыми предварительными требованиями (общедоступные объекты, DLL, конфигурационные файлы и т.д.)
  • crashes: Контейнер для хранения входных данных, вызывающих аварийное завершение
  • inputs: Контейнер начального набора сидов для цели libFuzzer. Любые новые обнаруженные входные данные также сохраняются в этом контейнере. Все файлы, сохраненные в контейнере inputs, синхронизируются в обоих направлениях с blob-хранилищем.
  • readonly_inputs: Произвольный набор дополнительных контейнеров начального набора сидов. Этот контейнер автоматически загружает новые файлы из blob-хранилища, но ничего, сохраненное в этих контейнерах на виртуальной машине фаззинга, не синхронизируется в контейнер.

Задачи могут нацеливаться на контейнер для очереди входных данных. Например, задачи отчета об аварийном завершении запускаются из указанного контейнера crashes, обрабатывая файлы последовательно из очереди.## Рекомендации по названию контейнеров

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

Шаблоны используют контейнеры, построенные из контекста их использования (setup) и пространственно-именованного GUID для автоматического повторного использования контейнеров в нескольких сборках одной и той же цели. ЗАМЕЧАНИЕ: Доступна вспомогательная утилита для создания пространственно-именованных GUID onefuzz utils namespaced_guid.

Например, контейнеры для настройки и покрытия пространственно-именованы с project, name, build и platform (Linux или Windows). Все остальные контейнеры (входные данные, аварийное завершение, отчеты и т.д.) используют project и name.

Пример:

Шаблон libfuzzer с проектом 'myproject', именем 'mytarget' и сборкой build_1 на платформе Linux использует следующие контейнеры:

  • oft-setup-fd4addc373f3551caf780e80abaaa658
  • oft-coverage-fd4addc373f3551caf780e80abaaa658
  • oft-inputs-d532156b72765c21be5a29f73718af7e
  • oft-crashes-d532156b72765c21be5a29f73718af7e
  • oft-reports-d532156b72765c21be5a29f73718af7e
  • oft-unique-reports-d532156b72765c21be5a29f73718af7e
  • oft-no-repro-d532156b72765c21be5a29f73718af7e

Та же цель, но build_2 использует следующие контейнеры:* oft-setup-270ee492f18c5f71a0a3e1cffcb98f77

  • oft-coverage-270ee492f18c5f71a0a3e1cffcb98f77
  • oft-inputs-d532156b72765c21be5a29f73718af7e
  • oft-crashes-d532156b72765c21be5a29f73718af7e
  • oft-reports-d532156b72765c21be5a29f73718af7e
  • oft-unique-reports-d532156b72765c21be5a29f73718af7e
  • oft-no-repro-d532156b72765c21be5a29f73718af7eЕдинственное отличие — уникальный контейнер oft-setup.

В этих примерах oft означает OneFuzz Template "setup" контейнер.

Опубликовать ( 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