Задача — это единица работы, выполняющаяся на узле (обычно, Azure VM Scalesets) и состоит из нескольких компонентов, включая:
setup
, который содержит приложение
под тестирование и опционально файл setup.sh
или setup.ps1
для настройки VM
перед фузингомТекущие доступные типы задач:* libfuzzer_fuzz: фузинг с целевым объектом libFuzzer
libfuzzer_crash_report: выполнение целевого объекта с входными данными, вызывающими сбой, с попыткой сгенерировать информационный отчет для каждого обнаруженного сбоя
libfuzzer_merge: объединение новых входных данных с корпусом входных данных с использованием минимизации корпуса
coverage: запись двоичного блока и строки исходного кода
generic_analysis: выполнение пользовательского анализа для каждого входного данных, вызывающих сбой
generic_supervisor: фузинг с использованием пользовательских супервизоров (например, AFL)
generic_merge: объединение новых входных данных с корпусом входных данных с использованием пользовательского супервизора (например, afl-merge)
generic_generator: использование генератора для создания входных данных и вызова приложения под тестирование итеративно для их обработки
generic_crash_report: использование встроенных средств отладки (debugapi или ptrace-базированных) для повторного выполнения входных данных, вызывающих сбой, с попыткой сгенерировать информационный отчет для каждого обнаруженного сбоя
dotnet_coverage: то же самое, что coverage
, но для dotnetКаждый тип задачи имеет уникальное множество доступных параметров конфигурации, включая:
target_exe
: приложение для тестирования
target_env
: Переменные окружения, указанные пользователем для целевого приложения
target_options
: Командные параметры, указанные пользователем для целевого приложения для тестирования
target_workers
: Количество рабочих процессов, запускаемых на данном виртуальном машине (в настоящее время используется только для задач тестирования libfuzzer
)
target_options_merge
: Включить объединение аргументов супервизора и целевого приложения в задачах объединения на основе супервизора
analyzer_exe
: Указанный пользователем анализатор (см. Пользовательские задачи анализа)
analyzer_env
: Переменные окружения, указанные пользователем для анализатора
analyzer_options
: Командные параметры, указанные пользователем для анализатора
generator_exe
: Указанный пользователем генератор (например, radamsa.exe
). Генератор должен существовать в контейнере generator
, указанном в задаче
generator_env
: Переменные окружения, указанные пользователем для генератора
generator_options
: Командные параметры, указанные пользователем для генератора
supervisor_exe
: Указанный пользователем супервизор (например, afl
)
supervisor_env
: Переменные окружения, указанные пользователем для супервизора
supervisor_options
: Командные параметры, указанные пользователем для супервизора* supervisor_input_marker: Маркер для указания пути к файлу для супервизора (Пример: для AFL и AFL++, это должно быть '@@')
stats_file: Путь к файлу статистики фуззера
stats_format: Формат файла статистики фуззера
input_queue_from_container: Имя контейнера для мониторинга новых изменений.
rename_output: Переименовать сгенерированные входные данные в sha256 входных данных (используется во время задач генерации)
wait_for_files: Для задач супервизора (например, AFL), не запускать супервизор до тех пор, пока входные файлы не будут доступны в контейнере inputs
. См. определения задач для деталей реализации типов задач, доступных.## Переменные окружения
ONEFUZZ_TARGET_SETUP_PATH
: Переменная окружения, заданная до запуска целоспецифических скриптов настройки, которая определяет путь к контейнеру настройки.
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Опубликовать ( 0 )