История изменений
Все значимые изменения в этом проекте будут документированы в этом файле.
Формат основан на Keep a Changelog,
и этот проект следует Semantic Versioning.
8.9.0
Добавлено
- Agent: Добавлены тесты на размытие для записи охвата #3322
- Agent: Добавлено проверение версий в локальных задачах #3517
- Agent: Создание директорий из шаблонного описания в локальной задаче, если они не существуют #3522
- CLI: Добавлен новый команд для создания шаблона в локальной задаче
onefuzz-task local create-template
#3531
- CLI/Развертывание/Сервис: Поддержка политик удержания для контейнеров #3501
- Сервис: Добавление версии сервиса onefuzz к событиям создания задач #3504
- Сервис: Добавлено время старта к записям задач и задач #3440
Изменено* Agent: Улучшено обработку неожиданных точек останова #3493
-
Agent: Обновлен список перехватчиков Windows #3528, #3549
-
Agent: Отчет об охвате при запуске задачи, гарантируя, что coverage_data
инициализируется в начале каждой задачи вместо того, чтобы ждать идентификации new_coverage
#3502
-
CLI/Развертывание: Обновление файла requirements.txt для onefuzz cli для принятия версий >= onefuzztypes
#3477, #3486
-
Сервис: Улучшение валидации пути области/итерации в уведомлениях #3489
-
Сервис: Удаление флага функции из метрик пульса #3505### Исправлено
-
Agent: Завершение процесса при превышении времени ожидания в агентах Windows для задачи анализа #3529
-
Agent/Service: Обновление нескольких зависимостей на C#, Python и Rust #3425, #3424, #3411, #3437, #3436, #3435, #3478, #3484, #3414, #3474, #3434, #3488, #3503, #3520, #3521
-
Agent: Исправление зависимостей в onefuzz-task
#3552
-
Service: Удаление избыточного аргумента метода в обработке уведомлений #3473
-
Service: Игнорирование обновлений элементов работы при регрессии, если элемент находится в определенном состоянии #3532
8.8.0
Добавлено* Agent: Добавлена поддержка Mariner Linux для виртуальных машин агента #3306
-
Service: Добавлена поддержка пользовательских полей ADO, которые маркируют элементы работы как дубликаты #3467
-
Service: Постоянное хранение данных о выполнении заданий OneFuzz — количество входных данных, вызывающих сбой, количество входных данных, вызывающих сбой при регрессии, и т. д. — в хранилище Azure #3380, #3439
-
Service: Добавлена проверка для Iteration/AreaPath в уведомлениях при отправке задания с конфигурацией уведомлений и для команды onefuzz debug notification test_template
#3386### Изменено
-
Agent: Обновлен базовый шаблон libfuzzer-fuzz для включения необходимых аргументов и соответствия CLI #3429
-
Agent: Уровень логирования отладочных сообщений понижен с уровня предупреждения до уровня отладки #3450
-
CLI: Удалены команды CLI из локальных задач фуззинга, так как они теперь могут быть описаны с помощью шаблона YAML #3428
-
Service: Элементы таблицы AutoScale теперь удаляются при выключении VMSS #3455
Исправлено
- Agent: Исправлено генерирование локальных путей #3432, #3460
8.7.1
Исправлено
- Service: Удалено устаревшее настройки политики хранения Azure, вызывавшие ошибки развертывания scaleset #3452
8.7.0
Добавлено
- Agent: Добавлен тест на основе снимков в реализацию покрытия #3368
- Agent/CLI/Service: Добавлена возможность захвата дампов сбоев из libfuzzer, если они предоставлены #2793 #3409
- CLI/Service: Реализовано опциональное использование
--with_tasks
для команды onefuzz jobs get
для расширения информации о задачах #3343### Изменено
- Agent: Перенёс все типы задач на модель шаблона #3397
- Agent: Удалил код
srcview
из OneFuzz, так как он не используется в настоящее время #3376
- Agent: Обновил стандартное изображение виртуальной машины Windows до Windows 11 #3374
- Agent: Перенёс
winapi
на windows-rs
, более новую версию поддерживаемых Microsoft связей Windows API для Rust #3050
- Развертывание: Обновил стандартный вариант развертывания для флаг-переключателя функции
EnableWorkItemCreation
для включения #3387
Исправлено* Agent: Десериализация файлов охвата напрямую в выходные файлы #3410
- Agent/Развертывание/Сервис: Увеличение нескольких зависимостей C#, Python и Rust, а также редакций Rust для всех crates Rust #3396, #3161, #3346, #3391, #2870, #3392, #3402
- Agent: Исправление ошибки в
DirectoryMonitor
агента путем добавления терпимости к ошибкам при попытке получить метаданные для событий CreateKind::Any
или CreateKind::Other
#3393
- Сервис: Исправление конфликта тегов в журналах путем предоставления приоритета тегам, созданным сообщениями журнала, над тегами, добавленными до вызова, когда имена тегов совпадали #3388
8.6.3
Исправлено
- Сервис: Исправление еще одного случая создания дубликатов Azure DevOps work item путем обработки поля
Microsoft.VSTS.Common.ResolvedReason
при его наличии #3383
8.6.2
Исправлено* Агент: Исправление зависания задач при завершении путем принудительного завершения времени выполнения перед выходом из основной задачи #3378
- Сервис: Переработка шаблонов Azure DevOps для исправления дубликатов ошибок, возникающих из-за усечения заголовков, и добавление нескольких тестов валидации в этой области #3370## 8.6.1
Добавлено
- Сервис: Добавлены флаги для включения/отключения обработки Azure DevOps work item #3353
- Сервис: Перезапуск уведомлений Azure DevOps при установке флага обработки work item в значение 'отключено' #3358
8.6.0
Добавлено
- Agent: Реализация кэширования
debuginfo
#3280
Изменено
- Agent: Ограничение буфера копирования azcopy до 512 МБ оперативной памяти как по умолчанию максимальное #3293
- Agent: Определение отношений локальных задач фидбека через новый шаблонный модель #3117
- Развертывание: Замена флага
--upgrade
на флаг --skip_aad_setup
в скрипте установки deploy.py #3345
- Сервис: Сделан
ServiceConfiguration
предварительно вычисляемым #3136
- Сервис: Улучшение производительности
TimerRetention
через несколько изменений UPN и исправлений #3289
Исправлено* Agent: Исправлена разрешимость сопутствующих .NET DLL #3325
- Agent/Service: Обновлены несколько C# и Rust зависимостей #3319, #3320, #3317, #3297, #3301, #3291, #3195, #3328
- CLI: Поиск azcopy.exe в переменной окружения
AZCOPY
и проверка, указывает ли она на директорию #3344
- CLI: Обновлен
repro get_files
для обработки отчетов регрессии #3340
- CLI: Исправлено отсутствие настройки
target_timeout
в базовом шаблоне Libfuzzer #3334
- CLI: Исправлено ложное предупреждение о зависимости #3331
- CLI: Исправлено ожидание параметра
task_id
в команде debug notification test_template
#3308
- Развертывание: Обновление URI перенаправления приложения при использовании пользовательского домена #3341
- Service: Исправлены ссылки в багах, созданных из отчетов регрессии, путем заполнения
InputBlob
при возможности #3342
- Service: Исправлены несколько проблем хранения для улучшения производительности платформы и снижения ложных
404
#3313
- Service: Добавлено дополнительное логирование при слишком длинном
System
Title` #3332
- Service: Отображение
System.Title
перед попыткой обрезки до максимального допустимого размера #3329
- Service: Различение кодов ошибок
INVALID_JOB
и INVALID_TASK
#3318## 8.5.0
Добавлено
- Agent: Добавлен инструмент для проверки списков разрешений источников #3246
- Agent: Предварительная загрузка
debuginfo
анализа для целевого exe в примере охвата #3225
- Agent/CLI/Service: Разрешение на установку переменных окружения задач #3294
- CLI/Service: Корреляция CLI с сервисом для облегчения поиска событий в AppInsights #3137
- CLI: Добавлен флаг
--target_timeout
для команды шаблона qemu_user
#3277
- Документация: Обновленная модель угроз #3215
- Сервис: Добавлена опциональная условие
Unless
при обновлении/переоткрытии задач #3227
- Сервис: Включение идентификатора задачи в сообщение об ошибке предварительной задачи #3219
- Сервис: Добавлена политика хранения событий, прошедших интеграционные тесты #3186
Изменено* Agent: Shrink опубликовал Rust отладочную информацию #3247, #3252
- Agent: Устранил устаревшие версии hermit-abi #3270
- Документация: Обновлены документы о покрытии для использования правильных кавычек #3279
- Сервис: Лучшие ошибки от Download: Сделать
GetFileSasUrl
nullable #3229
- Сервис: Изменено рендеринг шаблонов с асинхронного на синхронный #3241
- Сервис: Логирование исключения webhook как "ошибки", так как мы все равно будем повторять попытки #3238
- Сервис: Сделать
WebhookMessageEventGrid
совместимым с форматом event grid #3286### Исправлено* Agent: Улучшение перенаправления .dll путем создания файла .local перед запуском LibFuzzer #3269
- Agent/Service: Обновление нескольких зависимостей C#, Rust и повышение версии Rust до 1.71 #3278, #3281, #3221, #3230, #3231, #3203, #3240, #3239, #3199, #3254, #3257, #3273, #3258, #3271, #3292
- CLI/Service: Исправление регрессионных ошибок, ошибок в файле
regression_report
и правильного сброса состояния при дубликатах #3263
- Service: Улучшение отчетности и устойчивости при проблемах валидации Azure DevOps #3222
- Service: Обновление политики доступа KeyVault для учетной записи службы Azure WebSites #3109
- Service: Переключение на стандартное
HttpCompletion
, которое равно ResponseRead
, для попытки предотвратить случайные сбои отправки вебхуков #3259
- Service: Исправление ответа
Timestamp
от API #3237
- Service: Обрезка
System.Title
, если длина превышает 128 символов #3284
8.4.0### Добавлено
- Agent: Включить отладочную информацию в релизные бинарные файлы для улучшения обратных трасс и отладки #3194
- Agent: Добавлен таймаут при закрытии каналов Application Insights #3181
- Agent: Требовать маркер входных данных в аргументах при предоставлении директории корпуса входных данных #3205
- Agent/CLI/Service: Добавлен контейнер
extra_output
, переименован контейнер extra
#3064
- Agent: Создание
CustomMetrics
для Rust CustomEvents
#3188
- Agent: Добавлены предварительные требования для реализации кэширования для мест расположения покрытия и отладочной информации в задаче
coverage
#3218
- CLI: Добавлены команды
onefuzz repro get_files
для загрузки файлов для локального воспроизведения сбоя #3160
- CLI: Добавлены команды
onefuzz debug notification test_template <template> [--task_id <task_id>] [--report <report>]
для отправки отчета при отладке #3206
- Документация: Добавлена документация по использованию средств валидации #3212### Изменено
- Agent: Удалены следы агента из AppInsights #3143
- Agent: Включена отладочная информация в релизные бинарники для улучшения обратных трассировок и отладки #3194
- Agent: Сделаны ошибки записи покрытия несмертельными #3166
- Развертывание/Сервис: Включена настраиваемая конфигурация метрик приложения #3190
- Документация: Переименован пример
coverage.rs
в record.rs
, чтобы соответствовать документации #3204
- Сервис: Перемещена аутентификация в middleware #3133
- Сервис: Хранение информации об аутентификации в KeyVault #3127, #3223
- Сервис: Перенесена текущая реализация логирования на ILogger #3173
- Сервис: Добавлено улучшенное отчетное сообщение об ошибках при модификации защиты от масштабирования #3184
- Сервис: Уровень ошибки очереди понижен до предупреждения при повторной попытке, если сообщение слишком большое #3224
Исправлено* Agent: Пропуск всего функционала, если смещение входа исключено #3172
- Agent: Попытка завершения отладки, если время записи на Linux истекло #3177
- Agent: Применение allowlist к преобразованию исходного кода в задаче покрытия #3208
- Service: Обновление C# и Rust зависимостей #3200, #3165, #3168, #3153, #3169, #3185, #3191, #3163, #3209, #3146, #3198
8.3.0
Изменено
- CLI/Service: Не выполнять валидацию кодов ошибок на стороне клиента #3131
Исправлено* Agent: Переключение с необслуживаемой Rust зависимости tui
на ratatui
#3155
- Agent: Удаление зависимости от заброшенной Rust
users
crate #3150
- Agent/CLI/Service: Обновление нескольких C#, Python и Rust зависимостей #3118, #3132, #3088, #3106, #3140, #3120, #3145, #3151
- CLI/Service: Включение причины, когда задача никогда не начиналась #3148
- Service: Исправление ошибки для защиты от уменьшения масштаба #3144## 8.2.0
Добавлено
- Сервис: Созданы
CustomMetrics
для уведомлений о пульсе узла и задачи. #3082
- Сервис: Добавлено событие для создания воспроизводимого виртуального машины. #3091
- Сервис: Добавлено больше контекста при удалении узлов. #3102
- Документация: Создана документация для миграции событий 2.0. #3098
Изменено
- Агент: Соответствие версии агента версии сервера #3093
- Сервис: Увеличение времени ожидания блокировки для скрипта настройки
qemu_user
#3114
Исправлено
- Сервис: Исправление проблемы, которая неправильно помечала задачи как неудачные #3083
- Сервис: Исправление ошибки при обрезке отчетов #3103
- Сервис: Разрешение использования
readonly_inputs
для шаблона qemu_user
#3116
- Сервис: Исправление логики установки
check_fuzzer_help
#3130
- CLI: Исправление ошибки CLI, связанной с несинхронизированными перечислениями ErrorCode #3129
8.1.0
Добавлено
- Агент: Добавление процента покрытия в отчетах Cobertura #3034
- Агент: Добавление
maxPerPage
в ORM #3016
- CLI: Добавление команды
onefuzz containers files download
для загрузки содержимого блоба в файл #3060### Изменено
- Agent: Настроил OneFuzz агента так, чтобы он не использовал символы
S_LABEL
из PDBs #3046
- Agent: Обновил
elsa::sync::FrozenMap
, теперь он реализует Default
#3044
- Agent: Обновил агент для использования
insta
Rust crate для снимков тестирования парсинга стека #3027
- Agent/CLI/Deployment: Сохраняет полезные нагрузки событий в виде блобов. Добавляет API для загрузки полезной нагрузки события по его идентификатору. #3069
- Agent/Service: Увеличил версию Rust, несколько Rust зависимостей и несколько C# зависимостей #3049, #3037, #3031, #3023, #2972, #2814, #3052, #3067, #3068, #3056, #2958
- Service: Сделал наши ошибки валидации более конкретными, чтобы мы могли правильно обрабатывать их и ссылаться на них в документации #3053
- Service/CLI: Обновил логику Azure DevOps для использования списка существующих элементов один раз #3014
- Service: Ограничивает рекурсию в ORM #2992
- Service: Собирает дополнительное поле отчета в свойстве
ExtensionData
#3079
Исправлено* Agent: Парсинг .NET исключений стека трассировки при их обнаружении в выходных данных логов аварий #2988
- Agent: Настройка некоторых параметров логирования агента для предотвращения пропуска сообщений логгером задач #3070
- Agent: Разрешение на повторную попытку верификации libfuzzer #3032
- Agent: Исправление опечатки в имени параметра AzCopy и установка значения по умолчанию в true #3085
- Agent/CLI: Добавление нового конечного пункта для обновления аутентификации пула для предотвращения отправки нескольких сообщений об остановке после завершения узла #3059
- CLI: Изменение
--check_fuzzer_help
на --no_check_fuzzer_help
#3063
- Сервис: Включение информации об исключениях при неудачной проверке #3077
- Сервис: Добавление еще одного случая обрезки для ошибок типа 'Запрос слишком большой...' #3075
- Сервис: Исправление логики для отметки задачи как неудачной #3083
- Сервис: Исправление ошибки десериализации событий из контейнера событий #3089
8.0.0
ПРЕРЫВАЮЩИЕ ИЗМЕНЕНИЯ
В этом выпуске убраны параметры --client_id
, --override_authority
, и --override_tenant_domain
из команды config
.Для тех, кто использует CLI с помощью сервисного агента, параметры могут быть указаны на командной строке для каждого из команд CLI.
Например, при развертывании задачи:
onefuzz --client_id [CLIENT_ID] --client_secret [CLIENT_SECRET] template libfuzzer basic --setup_dir .....
Добавлено
- Agent: Добавление команды
validate
для агента для помощи в проверке фуззера #2948
- CLI: Добавление опции к шаблону libfuzzer для указания известного контейнера аварий #2950
- CLI: Добавление опции к шаблону libfuzzer для указания продолжительности задачи независимо от продолжительности задачи #2997
Изменено
- Agent: Установка redistributables v17 Visual Studio #2943
- Agent/Service: Использование уменьшенного стека для места аварийной остановки, если нет доступных логов ASAN #2962
- Agent/Service: Объединение нескольких версий зависимостей Rust crate по всему платформе #3010
- CLI: Удаление дополнительных параметров из команды
config
и требование их для каждого запроса CLI, если используется субъект службы #3000
- Service: Ослабление проверки шаблонов Scriban #2963
- Service: Обновление размера пула для интеграционных тестов #2935
- Service: Передача тегов задачи агенту при планировании заданий #2881### Исправлено* Agent: Убедитесь, что пользовательские
target_options
всегда передаются в конец для фuzzer #2952
- Agent: Удалена зависимость от xml-rs #2936
- Agent: Улучшена логирование ошибок в task_logger #2940
- Agent/Service: Обновления для устранения уязвимостей CVE #2931, #2957, #2967
- Развертывание/Service: Переименовано EventGrid подписка для соответствия схеме именования EventGrid #2960
- Развертывание/Service: Добавлено необходимое правило доступа KeyVault для разрешения OneFuzz Function App использовать SSL-сертификат для конечных точек с пользовательским доменом #3004, #3006
- Документация: Обновлен документ 'Создание работы Azure Devops' для удаления ссылки на устаревший шаблон #2956
- Service: Обновлен пакет конфигурации функций для устранения проблемы, связанной с использованием одного и того же ID двумя флагами функций #2980
- Service: Сделать
GetNotification
nullable для устранения ошибок при поиске несуществующих ID уведомлений #2981
- Service: UniqueReports должны быть UniqueInputs в задаче слияния LibFuzzer #2982
- Service: Устранение проблемы с действием
delete
уведомления #2987* Service: Добавлен обработчик для отсутствующего уникального ключа поля в AdoFields
#2986
- Service: Реализован интерфейс
ITruncatable
для JobConfig
и EventJobStopped
для предотвращения исключений из-за слишком больших сообщений для очереди Azure #2993
7.0.0## ПРИЧИНЫ, ПОЧЕМУ ЭТО ПРЕДСТАВЛЕНИЕ ЯВЛЯЕТСЯ НЕСОВМЕСТИМЫМ
- В этом выпуске полностью устарели шаблоны
jinja
, и теперь принимаются только шаблоны scriban
.
- Команда
onefuzz config
удалила параметры --authority
и --tenant_domain
. Единственный необходимый параметр для интерактивного использования — это параметр --endpoint
. Другие значения, необходимые для аутентификации, теперь динамически извлекаются.
- Компоненты записи, используемые в задаче
coverage
, были переписаны для улучшения отчетности на уровне исходного кода. В API уровня задач есть одно изменение, несовместимое с предыдущими версиями: поле coverage_filter
было удалено и заменено полями module_allowlist
и source_allowlist
. Подробное описание нового формата представлено здесь.
- Старый шаблон
dotnet
был удален, и dotnet_dll
теперь является dotnet
.### Добавлено
- Сервис: Добавлены интеграционные тесты для неуправляемых узлов. #2780
- CLI: Добавлена команда
get
уведомлений для получения определенных уведомлений. #2818
- Агент: Добавлен список разрешенных функций в примере выполнения exe для охвата. #2830
- Сервис: Добавлена функциональная метка, валидация при создании новых уведомлений и поддержка CLI для миграции на scriban. #2816, #2834, #2839
- Агент: Переключение на новый
coverage
задачи. #2741
- Сервис: Добавлена поддержка
--notification_config
для шаблонов dotnet. #2842
- Сервис: Отчет об ошибках расширения при развертывании виртуальной машины в масштабируемом наборе. #2846
- Сервис: Семантическая валидация конфигураций уведомлений. #2850
- Агент: Принятие опционального
dir
входных данных для охвата тестов. #2853
- Сервис/Агент: Добавлен дополнительный контейнер к задачам. #2847
- Документация: Документация по crate и инструменту
coverage
. #2904
- Агент: Добавлена возможность для задачи грациозно завершить работу при остановке задачи. #2912
Изменено* Сервис: Устарел функционал шаблонов заданий. #2798
-
Сервис: Развертывание с использованием только Scriban, исключая Jinja. #2809
-
Агент: Отложенная установка точек останова для покрытия. Это избегает нарушения процессов горячей замены в инициализаторах ASan-интерцептора. #2832
-
Сервис: Обновлены оставшиеся документы Jinja. #2838
-
Сервис: Поддержка дополнительного случая исключения при добавлении AssignedTo
в телеметрию. #2829
-
Агент/Супервизор/Прокси: Обновлены несколько сторонних зависимостей Rust. #2849, #2855, #2274, #2544, #2857, #2876
-
Вклад: Обновлены командные строки для команды onefuzz config
вклада. #2861
-
Агент: Удален Z3-мониторинг телеметрии. #2860
-
Сервис: Изменены имена необязательных параметров и установлен срок годности для кэша, созданного командой onefuzz config
. #2835
-
Агент: Удален список разрешенных функций. #2859
-
Агент: Обновлено использование clap для удаления подавлений. #2856
-
Агент: Удалены неиспользуемые данные телеметрии.#2863
-
CLI: Удален старый шаблон libfuzzer dotnet
. #2875
-
Тестирование: Обновлено функциональное тестирование C# для InfoResponse. #2894
-
Сервис: Обновлена логика обрезки при получении ошибки для получения последних сообщений. #2896
-
Сервис: Добавлен дополнительный фильтр для проверки отчетов и регрессий. #2911### Исправлено* Agent: Удалён случайный print
-вызов. #2823
-
Развертывание: Исправлена ошибка в registration.py
при создании CLI-служебных агентов. #2828
-
Пример: Исправлено построение примера охвата. #2831
-
Сервис: Исправлена ошибка отчёта об ошибке при создании масштабной группы при отсутствии пула. #2844
-
Сервис: Обновлён SharpFuzz до версии, поддерживающей .NET7.0, и изменён метод установки .NET. #2878
-
Развертывание: Исправлена ошибка, когда переменная ссылалась до её присвоения. #2903
-
Сервис: Создана обёртка функции для обработки столбцов, определённых как GUID в таблицах. #2898
-
Сервис: Передан параметр PreserveExistingOutputs
задаче. #2905
-
Сервис: Исправлена проверка уведомлений. #2914
-
Сервис: Исправлена определение пользовательского скрипта, которая могла препятствовать созданию воспроизводимого виртуального машины из-за изменения процессов настройки расширений. #2920
-
Развертывание: Исправлена ошибка флага --auto_create_cli_app
во время развертывания. #2921
-
Agent/Сервис: Обновления для устранения уязвимостей CVE. #2933* Сервис: Исправлена ошибка при генерации конфигурации задачи. #2925## 6.4.0### Добавлено
-
Развертывание/CLI: Переработка конфигурации OneFuzz - tenant_id
, tenant_domain
, multi_tenant_domain
и cli_client_id
теперь являются обязательными значениями в конфигурационном файле config.json
, используемом при развертывании, и больше не требуются при выполнении команды конфигурации. #2771, #2811
-
Агент: Полное экранирование правил разрешенного списка #2784
-
Агент: Применение разрешенного списка ко всем блокам внутри функции #2785
-
CLI: Добавлен подкомандный сценарий onefuzz debug notification template
для проверки шаблонов уведомлений в Scriban #2800
-
Сервис: Добавлен вебхук ошибки уведомления для связи с уведомлениями об ошибках #2628
Изменено
- Сервис: Включение
AssignedTo
при неудачном создании задачи из-за исключения аутентификации #2770
Исправлено* Агент: Исправления и улучшения поведения Expand
#2789
- Агент: Удаление пробелов из выходных данных отслеживаемого процесса перед выводом #2782
- CLI: Исправление значения по умолчанию для
analyzer_exe
#2797
- CLI: Исправление отсутствия параметра
readonly_inputs
в шаблонах dotnet
и dotnet_dll
#2740
- Сервис: Исправление запроса для получения существующего прокси #2791
- Сервис: Обрезка длины сообщений вебхуков для совместимости с размером очереди Azure #2788## 6.3.0
Добавлено
- Сервис: Добавлено опциональное задание анализа для шаблона LibFuzzer #2748
- Агент: Использование
elsa
для улучшенного интерфейса с debuggable_module::Loader
#2703
- Агент: Добавлен вывод sourceline и логирование в пример покрытия #2753
- Агент: Исправление обнаружения общих библиотек на Linux #2754
- Агент: Поддержка расширения разрешенного списка #2756
- Агент: Добавлено дампирование
stdio
в пример #2757
Изменено
- Сервис: Обновлен Azure CLI #2733
- Сервис: Укорочены большие события вебхуков #2742
- Сервис: Обернуты неустойчивые функции ORM в try/catch #2745
- Агент/Супервизор/Прокси: Обновлены сторонние зависимости Rust #2744
Исправлено
- Агент: Исправлено проблему с несколькими агентами - добавлено
machine_id
в config_path
и failure_path
агента #2731
- Сервис: Исправлен запрос к таблице прокси #2743
- Сервис: Исправлены логика уведомлений и отчеты о регрессиях #2751#2758
6.2.0
Добавлено* Агент: Добавлено больше преобразований в JSON #2725
-
Агент: Добавлены измерения слияния бинарной покрытии #2724
-
Агент: Добавлены функции совместимости десериализации #2719
-
Агент: Добавлен универсальный построитель CoverageRecord
для захвата выходных данных целевого дочернего процесса и повторного использования Loader
в записи покрытия #2716
-
Агент: Улучшено покрытие исходного кода в отчетах HTML #2700, #2701, #2706
-
Развертывание: Добавлена поддержка пользовательских доменов, используемых как конечные точки OneFuzz #2720
-
Сервис: Добавлена документация для неуправляемого развертывания узла #2694### Изменено
-
Агент: Использование пользовательского типа Output
при записи покрытия #2723
-
Агент: Уменьшение количества мутаций в машине состояния агента #2710
-
Сервис: Включение версии dotnet в ответе info
#2693
-
Сервис: Использование флагов функций для получения стратегии удаления узла #2713
Исправлено
- Агент: Экранирование периодов при конвертации шаблонов #2721
- Агент: Игнорирование безвредного отключения при получении таймера агента #2722
- Агент: Исправление исключения NullRef при получении масштабируемого набора, который не существует #2692
- Сервис: Снижение уровня ошибки на "невозможно удалить узлы из масштабируемого набора" до предупреждения #2691
- Сервис: Исправление проблемного построения, связанного с версией dotnet
7.0.101
#2698
- Сервис: Добавление
public
идентификатора к Events
для восстановления отсутствующих событий #2705
6.1.0
Добавлено
-
Сервис: Добавлена поддержка флагов функций, что позволяет нам развертывать новые коды по частям и включать их, когда они готовы. #2620
-
Сервис: Добавлено валидационное окончание для шаблона уведомления. #2655### Изменено
-
Сервис: Обновлен LLVM с версии 10 до 12, так как мы поддерживаем Ubuntu 20.04 как нашу стандартную изображение. #2617
-
Agent: Удалено неиспользуемое покрытие регистратора из input-tester
. #2681
-
Agent: Переименовано coverage
в coverage-legacy
. #2685
Исправлено
- CLI: Возвращать ошибку при указании верхнего регистра для имен приложений при использовании deploy.py. #2665
- Agent: Исправлен локальный режим размытия. #2669
- Сервис: Отправить событие JobCreated при создании задачи. #2677
- Сервис: Команда воспроизведения
Create
теперь будет завершаться ошибкой, если вставка не удалась. Также добавлены дополнительные тесты. #2678
- Сервис: Добавлена поддержка
Contains Words
в WIQL. #2686
6.0.0
ПРЕРЫВАЮЩИЕ ИЗМЕНЕНИЯ
Ручной Шаг Развертывания
При обновлении с версии 5.20 требуется ручной шаг. Перед развертыванием 6.0 удалите оба Azure App Functions и Azure App Service плана перед обновлением. Это необходимо, так как мы перенесли сервис с python
на C#
. После развертывания будет развернуто две функции App, одна с именем развертывания, а вторая с тем же именем и суффиксом -net
. Это временное состояние, и функция App с суффиксом -net
будет удалена в следующем выпуске.Если вы не использовали параметры развертывания для развертывания функций C# в 5.20, вы можете вручную удалить функцию App с суффиксом -net
сразу. Развертывание функций C# не было стандартной операцией в 5.20, и для большинства развертываний удаление функции App с суффиксом -net
сразу является допустимым.
Устаревание шаблонов jinja
С этим выпуском мы переходим с шаблонов jinja на шаблоны scriban. См. документацию для scriban здесь.
Версия 6.0 будет конвертировать шаблоны jinja на лету в течение короткого периода времени. Мы не гарантируем, что это будет успешным для всех опций шаблонов jinja. Эти конвертации на лету не сохраняются в таблице уведомлений в этом выпуске. Они будут сохраняться в следующем выпуске. Это позволит времени для конвертации шаблонов, которые не обрабатываются текущим автоматическим процессом конвертации.
CLI
Значение по умолчанию для параметра --container_type
команды container
было удалено. Параметр container_type
по-прежнему требуется для команды. Это изменение устраняет неоднозначность информации о контейнере, возвращаемой.
Добавлено
-
Агент: Добавлен параметр machine_id
конфигурации агента. #2649
-
Агент: Передать machine_id
от агента к задаче. #2662### Изменено
-
Сервис: Развертывание позволяет использовать рефакторизованный C# App Function. #2650
-
CLI: Попытка использовать брокер или браузер для аутентификации вместо device flow. Отмена попытки с помощью Ctrl-C
вернет использование device flow. #2612
-
Сервис: Обновление до .NET 7. #2615
-
Сервис: Сделать параметр TelemetryKey
для Proxy необязательным. #2619
-
Сервис: Обновление OMI до версии 1.6.10.2 на Ubuntu виртуальных машин. #2629
-
CLI: Сделать параметр --container_type
обязательным при использовании команды containers
. #2631
-
Сервис: Улучшение логирования при неудачах уведомлений. #2653
-
Сервис: Стандартизация HTTP результатов ошибок. Лучшее сообщение об отказе при парсинге валидированных строк. #2663
-
CLI: Повторная попытка при ошибках соединения при получении токена аутентификации. #2668
Исправлено* Сервис: Исправление параметра targetUrl
шаблона уведомления. Теперь используется только имя файла вместо полного пути в URL. Это позволяет создаваемым ссылкам в багах ADO работать корректно. #2625
- CLI: Исправление кода клиента SignalR для правильного чтения ответов. #2626
- Сервис: Исправление логической ошибки в хуке уведомления. #2627
- Сервис: Исправление ошибок, связанных с неуправляемыми узлами (нераскрытая функция). #2632
- Сервис: Исправление вызова функции
functionapp
в скрипте развертывания. Использовались неправильные значения/параметры. #2645
- Сервис: Исправление отчета об ошибках .NET, который не воспроизводился. #2642
- Сервис: Проверка статуса расширений перед переходом в состояние
running
во время настройки виртуальной машины. #2667## 5.20.0
Добавлено
- Сервис: Добавлен конечный пункт для загрузки агентских бинарных файлов для поддержки сценария с неуправляемыми узлами. #2600
- Сервис: Добавлено дополнительное обработку ошибок при обновлении узлов VMSS. #2607
Изменено
-
Сервис: Добавлено дополнительное логирование при использовании политики узла decommission
. #2605
-
Агент/Супервизор/Прокси: Обновлены сторонние зависимости Rust. #2608
-
Сервис: Добавлено опциональное ограничение повторных попыток при подключении к машине воспроизведения. #2609
Исправлено
- Сервис: Исправление
status top
в реализации на C#. #2604
- Сервис: Добавление комментариев "вновь открытые" к багу только если он действительно был вновь открыт. #2623
5.19.0
Изменено
- Сервис: Удаление узлов после завершения задач вместо отключения защиты от сжатия масштаба. #2586
- Сервис: Переключение на использование пакета, предоставленного Azure Functions, для настройки Application Insights и улучшения отчетности о транзакциях OneFuzz. #2597
Исправлено* Сервис: Исправление обработки дублирующихся контейнеров между аккаунтами в C# функциях. #2596
- Сервис: Исправление GET-запроса уведомлений на C# конечных точках. #2591## 5.18.0
Добавлено
- Сервис: Использование записей для распаковки параметров запроса в
AgentRegistration
. #2570
- Сервис: Преобразование трассировок ADO в
customEvents
и обновление notificationInfo
. #2508
- Агент: Включение имени компьютера в
AgentRegistration
и декодирование Instance ID из него. Это уменьшит количество вызовов к Azure, минимизируя ошибки торможения. #2557
Изменено
- Сервис: Улучшение логирования вебхуков и принятие большего количества успешных HTTP-кодов. #2568
- Сервис: Уменьшение запросов к VMSS. #2577
- CLI: Использование виртуальной папки окружения для хранения конфигурации, если она существует. #2561, #2567, #2583
Исправлено
- Сервис: Уменьшение количества вызовов ARM в
ListVmss
, чтобы предотвратить торможение вызовов к Azure. #2539
- Сервис: Обновление ETag в
Update
и Replace
. #2562
- Сервис: Не логировать ошибку, если мы удаляем Repro и он уже отсутствует. #2563
5.17.0
Добавлено* Сервис: Добавление экспоненциального повторного подключения для неудачных уведомлений. Многие из неудач происходят из-за торможения ADO. #2555
-
Сервис: Добавление операции DeleteAll
в ORM, что ускоряет удаление нескольких сущностей. #2519### Изменено
-
Документация: Удаление предложения сброса IterationPath
при дублировании. #2533
-
Сервис: Игнорирование файла логов сканирования при отчете об ошибке с azcopy. #2536
Исправлено
- CLI: Исправлены сбои в команде
$ onefuzz status pool <pool_name>
. #2551
- Развертывание: Исправлено использование веб-адреса OneFuzz для генерации
input_url
при отчете о багах. #2543
- Сервис: Генерируется ошибка, если запись покрытия не удалась из-за тайм-аута. #2529
- Сервис: Увеличена стандартная продолжительность тайм-аута для записи покрытия с 5 до 120 секунд, чтобы предотвратить преждевременные ошибки при парсинге символов и исполняемых файлов. #2556
- Сервис: Исправлены ошибки в уведомлениях ADO для снижения дублирования отчетов о багах. #2534
- Сервис: Улучшена обработка null значений в
ScalesetOperations
и VmssOperations
при состоянии scaleset "shutdown". #2538
- Сервис: Исправлено форматирование сообщений об исключениях в
VmssOperations
. #2546
- Сервис: Уровень исключения "instance not found" понижен. #2549
- Сервис: Уровень логирования понижен при обнаружении перекрытия областей символов во время записи покрытия. #2559## 5.16.0
Добавлено
- Документация: Добавлен логотип OneFuzz в файл README. #2340
- Агент: Добавлена функция
try_insert
при построении карт покрытия кода. #2510
Изменено
- Документация: Описано важность использования правильного идентификатора среды выполнения (RID) при сборке .NET-бинарников. #2490
- Сервис: Уровень логирования уменьшен с
error
до warn
, также включен HTTP-код результата. #2484
- Сервис/CLI: Обновлены зависимости Python. #2470
- Сервис: Уточнена подробность логирования
azcopy
для помощи в отладке ошибок при копировании. #2598
- Агент/Супервайзер/Прокси: Обновлены внешние зависимости Rust. #2500
- Сервис: Обновлена логика проверки наличия блоба перед загрузкой для снижения конкуренции при загрузках. #2503
- Сервис: Изменен способ обновления
scaleInProtection
на узле scaleset для минимизации затухания. #2505
Исправлено
- Сервис: Извлекаются данные InstanceView только при необходимости. Это уменьшит ограничения по частоте запросов от Azure. #2506
- Сервис: Исправлены запросы уведомлений GitHub в C# реализации (в настоящее время не включены). #2513, #2514## 5.15.1
Добавлено
- Сервис: Добавлена поддержка миграции шаблонов Jinja на Scriban. #2486
Исправлено
- Сервис: Заменён пропущенный таб, что приводило к ошибкам в запросах ADO и созданию дубликатов задач. #2492
- Тесты: Исправлены
integration-tests-linux
. #2487
5.15.0
Добавлено
- Сервис: Использовать
InterpolatedStringHandler
для перемещения значений в CustomDimensions
Tags. #2450
- Сервис: C# теперь может создавать уведомления ADO. #2456, #2458
- Сервис: C# кэшировать поиски ID экземпляров VMSS VM. #2464
- CLI: Повторная попытка при сбросе соединения. #2468
- Агент: Включить трассировки стека для ошибок агента. #2437
Изменено
- Сервис: Обновить зависимости. #2446
- Сервис: Временно отключить проверку пулов. #2459### Исправлено* Сервис: Исправление логики для получения partitionKey и rowKey #2447
- Сервис: Разрешение точек в именах пулов #2452
- Сервис: Сброс состояния узла до инициализации #2454
- Сервис: Исправление исключения null ref в логировании C# #2460
- Сервис: Коррекция переходов пулов #2462
- Сервис: Исправление UpdateConfigs #2463
- Сервис: Разрешение продолжения рабочих циклов после ошибок #2469
- Сервис: Перевод значения заголовка digest webhook в нижний регистр #2471
- Сервис: Исправление C# машины состояний узла. #2476
- Сервис: Добавление недостающего кэширования из кода на Python #2467
Версия 5.14.0### Добавлено
- Сервис: Реализация не реализованного метода
GetInputContainerQueues
#2380
- Сервис: Добавление нового значения конфигурации по умолчанию для конфигурации экземпляра #2434
Изменено
- Сервис: Перенос
SyncAutoscaleSettings
с Python на C# #2407
Исправлено* Развертывание: Обновление ошибки и исправление значения по умолчанию для auto_create_cli_app
#2378
- Сервис: Не игнорировать объекты прокси при установке состояния #2441
- Сервис: Не считать задачу не выполненной при неудаче уведомления #2435
- Сервис: Очистка очередей для несуществующих пулов и задач #2433
- Сервис: Удаление очереди пула при удалении пула #2431
- Сервис: Мелкие исправления в логировании и обработке ошибок сервиса #2420
- Сервис: Исправление расширений воспроизведения Linux #2415
- Сервис: Отметка задач как не выполненных, если для задачи не удалось создать единицу работы #2409
- Сервис: Исправление нескольких ошибок в C# портах для
TimerProxy
, TimerRetention
, AgentEvents
, Node
, Tasks
и Jobs
#2406, #2392, #2379
- Сервис: Исправление ошибок при развертывании расширений прокси Azure Linux #2401
- Сервис: Исправление ошибок планирования в C# #2390
- Сервис: Исправление проверки ошибок в
MarkDependantsFailed
#2389
- Сервис: Исправление запросов
SearchStates
в TaskOperations
#2383* Сервис: Исправление включения аутентификации в ответе ScaleSet #2382
- Сервис: Исправление интерполяции пользовательских типов в запросах #2376
- Сервис: Исправление ошибки в C# порту для
DoNotRunExtensionsOnOverprovisionedVms
, которое должно быть false
, если Overprovision
равно false
#2375
5.13.0### Добавлено
- Развертывание: Добавлены опциональные флаги
--onefuzz_app_id
и --auto_create_cli_app
для deploy.py
для возможности использования пользовательских регистраций приложений. #2305
- Развертывание: Добавлен опциональный флаг
--host_dotnet_on_windows
для deploy.py
, который позволяет запускать функции dotnet на Windows-хостах для возможности подключения удалённого дебаггера. #2344
- Развертывание: Добавлен опциональный флаг
--enable_profiler
для deploy.py
для включения профилировщиков памяти и процессора для dotnet Azure функций. #2345
- Сервис: Включен трекинг зависимостей AppInsights для улучшенного анализа использования Azure Storage в развертываниях OneFuzz. #2315
- Сервис: Добавлено использование библиотеки шаблонов
Scriban
в качестве зависимости для Jinja на C#-портированных сервисах. #2330
- Сервис: Использование 64-битного рабочего процесса для dotnet функций. #2349
- Агент: Добавлено XML-вывод Cobertura к примерному бинарному файлу
src-cov
. #2334
- CLI: Добавлена команда
onefuzz debug task download_files <task_id> <output>
для загрузки контейнеров задачи. #2359### Изменено
- Сервис: Удалены некоторые только для чтения свойства из модели Task #2335
- Сервис: Создание таблиц хранения при запуске #2309
- Сервис: Переключение на использование Graph SDK вместо ручного построения запросов #2324
- Сервис: Кэширование
InstanceConfig
для улучшенной производительности чтения #2329
- Развертывание: Обновление
deploy.py
для установки всех параметров функций за один раз для более быстрого развертывания и обновления #2325
- Devcontainer: Перемещение глобальных установок инструментов в другой скрипт для кэширования #2365
- Обновление нескольких зависимостей в нескольких файлах #2321, #2322, #2360, #2361, #2364, #2355
Исправлено* Сервис: Исправление проблем синхронизации az_copy
, убрав ограничение max_elapsed_time
и полагаясь на RETRY_COUNT
вместо этого #2332
- Сервис: Реализация недостающих частей в операциях Scaleset/VMSS для
RemiageNodes
& DeleteNodes
#2341
- Сервис: Исправление ошибок в C# порте функций
Proxy
и TimerProxy
#2317, #2333
- Сервис: Обязательство на отсутствие дополнительных свойств в JSON-запросе и обязательство на ненулевые свойства
[Required]
#2328
- Сервис: Удаление
IDisposable
из Creds
#2327
- Сервис: Удаление обязательного поля в
Requests
для соответствия поведению Python #2367
- Сервис: Исправление ошибки в информации уведомления Azure DevOps #2368
- Сервис: Исправление утечек памяти в
AgentEvents
и нескольких поддерживающих библиотек #2356
- Сервис: Исправление несоответствий в создании VMSS между C#/Python функциями #2358
- Сервис: Исправление функции
Info
в dotnet для корректного получения номера версии из атрибутов сборки вместо конфига #2316
- Сервис: Исправление ошибки в типах Python #2319
- Сервис: Исправление ошибок в
timer_workers
для обеспечения корректной работы #2343* CLI: Задача охвата должна иметь доступ к контейнерам readonly_inputs
#2352
- Devcontainer: Обеспечение установки Python виртуальной среды #2372## 5.12.0
Добавлено
- Развертывание: Добавьте
--use_dotnet_agent_functions
в deploy.py. #2292
- Сервис: Добавлено логирование для вызовов
az_copy
для улучшенного отслеживания ошибок. #2303
- Сервис: Добавлено логирование при отправке уведомлений ADO. #2291
- Сервис: Дополнительная работа по миграции на C#. #2183, #2296, #2286, #2282, #2289
Изменено
- CLI: Изменено позиционное параметр команды
size
команды scaleset
CLI на max_size
для лучшего понимания его использования в свойствах автоматического масштабирования. #2293
Исправлено
- Развертывание: Исправлен скрипт
set_admins.py
. #2300
- Сервис: Включены опции сериализации при отправке сообщения события. #2290
5.11.0
Добавлено
-
Сервис: Оставшиеся события были переведены на C#. #2253
-
Агент: Добавлена задача отчета об ошибках dotnet. #2250
-
Сервис: Дополнительная работа по миграции на C#. #2235, #2257, #2254, #2191, #2262, #2263, #2269### Изменено
-
Агент: Увеличен размер выходного буфера при сборе логов от агента. #2166
-
Агент/Супервайзер/Прокси: Обновлены несколько сторонних зависимостей Rust. #2270
Исправлено
- Сервис: Используйте синглтон для логирования для снижения использования памяти. #2247
- Сервис: Используйте синглтон для EntityConverter. #2267
- Сервис: Добавьте повторные попытки при создании соединения с машиной для отладки на Windows. #2252
- Развертывание: Исправьте развертывание для использования правильных форматов дат при запросе MSGraph. #2258
- Сервис: Синхронизируйте таблицу Autoscale с текущими настройками scaleset. #2255
- Сервис: Исправьте сравнение пулов в планировщике. #2260
- CLI: Исправьте способ сравнения перечислений состояния
job
и task
. #2004
- Сервис: Клонируйте JsonSerializerOptions вместо его модификации. #2280
- Сервис: Исправьте NullReferenceException в CreateQueue. #2283
5.10.0
Добавлено* Рекомендация в getting-started.md
о том, что пользователи OneFuzz должны включать файл .onefuzz
в корневую директорию проекта для обнаружения инструментов безопасности #2236
-
Agent: Новая libfuzzer_dotnet_fuzz
задача #2221### Изменено
-
CLI: Обновлено стандартное изображение виртуальной машины Windows #2226
-
Agent: Изменено структурирование данных LibFuzzer для управления собственной средой и опциями #2219
-
Agent: Выделение общей задачи LibFuzzer #2214
-
Service: Включение C# перенесённых функций TimerRetention
, TimerDaily
, и containers
#2228, #2220, #2197
-
Service: Завершение переноса функции TimerRepro
на C# #2222, #2216, #2218
-
Service: Изменение исключений NotImplementedException
на более точные NotSupportedException
#2234
-
Service: Перенос функций Tasks
, Notifications
, add_node_ssh_key
, и Proxy
на C# #2233, #2188, #2193, #2206, #2200### Исправлено* Сервис: Обновлены параметры автоматического масштабирования для разрешения масштабирования набора виртуальных машин до нуля узлов и предотвращения запуска новых узлов в состоянии shutdown
. #2232, #2248
-
Сервис: Добавлен пропущенный вызов функции для правильной очереди событий вебхуков в WebhookOperations
#2231
-
Сервис: Добавлен пропущенный переход состояния задания в реализации Task
#2202
-
Сервис: Исправлено значение возврата в C# реализации при ассоциации подсети с NSG #2201
-
Сервис: Изменен уровень журнала с Error
на Info
в TimerProxy
#2185
-
Сервис: Исправлены ошибки конфигурации TimerTasks
в C# порте #2196
5.9.0### Добавлено
- Agent: Зависимость на пакет SharpFuzz 2.0.0 в проекте
LibFuzzerDotnetLoader
. #2149
- Тест: Добавлен пример проекта C#
GoodBad
для использования с интеграционными тестами LibFuzzerDotnetLoader
. #2148
Изменено
-
Сервис: Реализован функционал containers
на C#. #2078
-
Сервис/Компиляция: Пересобирать агентские сборки только если что-то из исходного дерева агента изменилось. Это ускоряет разработку и не влияет на официальные выпуски. #2115
-
CLI: По умолчанию установить минимальное значение автоскалирования на 0. Это позволяет scaleset сокращаться до нуля узлов, когда нет ожидающей работы в очереди. Это важно для обеспечения обновления патчами виртуальных машин. #2112, #2162
-
Сервис: Начало работы по миграции функции TimerRepro
на C#. #2168
-
Сервис/CLI: Удаление поддержки аутентификации стиля пред 3.0.0. #2173
-
Агент/Супервизор/Прокси: Обновлены несколько сторонних зависимостей Rust. #2164, #2056, #2175, #2127
-
Сервис: Обновлены зависимости C#. #2181
-
Сервис: При получении информации о задаче игнорировать состояние задачи, если указан job_id
. #2171### Исправлено
-
Агент: Отключить глобального отправителя событий при закрытии канала telemetry для обеспечения полной очистки событий. #2125
5.8.0
Добавлено
- Услуга: Добавить правильные маршруты и аутентификацию для функций C# агента. #2109
- Услуга: Перенести
agent_registration
на C#. #2107
- Агент: Добавить задачу
dotnet_coverage
. #2062
- Агент: Добавить несколько способов указания целей LibFuzzerDotnetLoader. #2136
- Агент: Добавить логирование в LibFuzzerDotnetLoader. #2141
- Документация: Добавлена документация для LibFuzzerDotnetLoader. #2142
Изменено
-
Сервис: Добавлен кэширование к реализации C# для хранения, чтобы повторные запросы не блокировались из-за ограничений. #2102
-
Сервис: Удалена ненужная проверка валидации poolname. #2094
-
Сервис: Сделан асинхронным hostbuilder в C#. #2122
-
Сервис: Обновлено правило масштабирования для приложений Functions. #2140
-
Агент/Супервайзер/Прокси: Обновлены несколько сторонних зависимостей Rust. #2022
-
Агент: Удалена незавершенная поддержка macOS. #2134, #2135### Исправлено
-
Сервис: Включена фильтрация состояния при поиске просроченных задач и работ. #2138
-
Сервис: Исправлены отчеты об ошибках TLS. #2087
-
Сервис: Изменено поведение метода upload_file
для использования команды Azcopy по умолчанию для надежности и перехода к реализации Azure Python SDK, если это необходимо. Это также решает проблемы, связанные с низкой пропускной способностью подключения, которое теряет соединение из-за невозможности обрабатывать несколько потоков загрузки одновременно. #1556
-
Сервис: Обновлен URL-адрес SAS для логов, чтобы он оставался действительным в течение всего срока выполнения задачи. #2116, #2121
-
Сервис: Исправлено несколько проблем в реализации C# класса TimerProxy
. #2133
-
Агент: Исправлено состояние гонки при мониторинге файлов на виртуальной машине. #2105
5.7.1
Это исправление для выпуска Yöntem 5.7.0, которое исправляет генерацию URL-адреса SAS, которая могла привести к сбою задач. #2116
5.7.0### Добавлено* Agent: Добавлен NodeState
в уведомление о пульсе узла для лучшего отслеживания текущего состояния узлов в системе #2024, #2053
- Service: Перенес существующие функции на Python на C# #2061, #2072, #2076, #2066
- Service: Включено использование перенесённых функций на C# для
QueueNodeHeartbeat
, QueueTaskHeartbeat
и QueueSignalREvents
#2046, #2047
- Service: Добавлены атрибуты анализа null для типов результата сервиса для упрощения проверки и использования различных существующих типов результата #2069
- Service: Добавлены правила именования для dotnet editorconfig для приватных полей, начинающихся с подчеркивания, чтобы OmniSharp по умолчанию генерировал соответствующие имена #2070### Изменено* Agent: Обновлено использование clap до версии
3.2.4
#2049
- Agent: Добавлены скрипты для установки dotnet на Windows и Ubuntu виртуальных машин для фаззинга #2038
- Развертывание: Обновлены инструкции по началу работы для файловых прав доступа
deploy.py
#2030
Исправлено
- CLI: Исправлен вывод ошибки, чтобы указать, что инструменты отсутствуют локально, а не на воспроизводимой виртуальной машине #2036
- Сервис: Обработка сообщений событий сервиса, которые слишком большие для помещения в сообщение очереди #2020
- Сервис: Удаление ненужной директории
/obj/
#2063
5.6.0
Добавлено
- Сервис: Добавлены настройки Function App в Bicep шаблон и
deploy.py
#1973
- Agent: Добавлено время в логи агента для упрощения корреляции событий #1972### Изменено
- Agent/Supervisor/Proxy: Переименовать процесс supervisor с
onefuzz-supervisor
на onefuzz-agent
. #1989
- Agent/Supervisor/Proxy: Переименовать задачу executor, выполняющуюся на VM, с
onefuzz-agent
на onefuzz-task
. #1980
- Agent/Supervisor/Proxy: Убедиться, что значение registry
GlobalFlag
инициализируется для целей. #1960
- Agent/Supervisor/Proxy: Включить полные backtraces при панике Rust. #1959
- Agent/Supervisor/Proxy: Обновить несколько сторонних зависимостей Rust. #2003, #2002, #1999, #1992, #1986, #1983, #1982, #1981, #1985, #1974, #1969, #1965
- CLI/Service: Обновить несколько собственных и сторонних зависимостей Python. #2009, #1996
Исправлено* Agent: Удалён случайный вывод команды из логгера задач. #1975
- Agent: Исправлена локальная определённость покрытия путём удаления дублированного параметра командной строки. #1962
- Сервис: Исправлены конфигурация экземпляра и логика управления. #2016
5.5.0
Добавлено
Изменено
- Документация: Обновлены документы по фильтрации покрытия. #1950
- Agent: Разрешено агенту пропускать отчёты о директориях. #1931
- Agent/Supervisor/Proxy: Обновлены несколько сторонних зависимостей Rust. #1935
- CLI: Устаревание задачи
libfuzzer_coverage
. #1944
- CLI: Использование последовательных имен логгеров. #1945
- Сервис: Обновлена функциональность порта службы из Python в C#. #1922, #1925, #1947
Исправлено* Agent: Разрешено парсить старые отчёты. #1943
- Agent: Удалена транзитивная зависимость OpenSSL. #1952
- Agent: Убедиться, что значение реестра
GlobalFlag
инициализируется при проверке зависимостей библиотек. #1960
- Сервис: Разрешено парсить старые отчёты. #1940## 5.4.1
Это горячее исправление для выпуска 5.4.0, исправляющее ошибки парсинга старых отчетов об ошибках.
Исправлено
- Agent: Разрешено парсить старые отчеты. #1943
- Agent: Включен
LD_LIBRARY_PATH
в проверке зависимостей общих библиотек только в том случае, если он установлен командой. #1933
- Сервис: Разрешено парсить старые отчеты. #1940
5.4.0### Добавлено* Agent: Добавлена версия OneFuzz и имя инструмента в отчет о сбое. #1635
- Agent: Добавлена проверка отсутствующих библиотек при запуске LibFuzzer
-help
. #1812
- Service: Добавлена новая функциональность в порт службы из Python в C#. #1794, #1813, #1814, #1818, #1820, #1821, #1830, #1832, #1833, #1835, #1836, #1838, #1839, #1841, #1845, #1846, #1847, #1848, #1851, #1852, #1853, #1854, #1855, #1860, #1861, #1863, #1870, #1875, #1876, #1878, #1879, #1880, #1884, #1885, #1886com/microsoft/onefuzz/pull/1886), #1887, #1888, #1895, #1897, #1898, #1899, #1903, #1904, #1905, #1907, #1909, #1910, #1912
- Сервис: Ограничить операции узла для администраторов. #1779
Изменено* CLI/Service: Обновлены несколько встроенных и внешних Python зависимостей. #1784
-
Agent/Supervisor/Proxy: Обновлены несколько внешних Rust зависимостей. #1619, #1644, #1645, #1646, #1655, #1700, #1849, #1882
-
Agent: Разделение установки llvm-symbolizer
от инициализации переменных окружения санитайзера. #1778
-
Agent: Установка опций TSan на основе внешнего символизатора. #1787
-
CLI: Добавлена переменная окружения ONEFUZZ_CLIENT_SECRET
и удалено поле client_secret
из файла конфигурации. Это предотвращает случайное неправильное использование за счет сохранения секрета на диске вне конфиденциальных клиентских приложений. Если вы установили секрет клиента в вашем файле конфигурации для публичного клиента, мы рекомендуем удалить и аннулировать его. Скрипты CI, которые в настоящее время устанавливают секрет клиента в конфигурацию, должны вместо этого передавать его через переменную окружения ONEFUZZ_CLIENT_SECRET
или через аргумент --client_secret
на каждом запуске CLI. #1918
-
CLI: Использование SAS URL для загрузки файлов журнала. #1920### Исправлено
-
Agent: Отслеживание только директорий для событий изменения. #1859
-
Agent: Переключение на умный конструктор для минимизации неправильного использования. #1865
-
Service: Исправлена проблема, при которой задачи без настроенных журналов не могли быть распределены. #1893
5.3.0### Добавлено* Agent: Добавить флаг компилятора для генерации отладочной информации для тест-цели загрузки библиотеки windows-libfuzzer
. #1684
-
Agent: Добавить Rust crate для отладки ошибок отсутствующих динамических библиотек на Windows. #1713
-
Agent: Добавить поддержку обнаружения отсутствующих динамических библиотек на Linux. #1718
-
Service: Подключить диагностику автоматического масштабирования к рабочему пространству аналитики журналов. #1708
-
Service: Обработать ситуацию, когда экземпляр набора виртуальных машин scale set уничтожается до того, как мы удалим защиту от масштабирования вниз. #1719
-
Service: Добавить дополнительную поддержку автоматического масштабирования, включая изменения в CLI. Новые наборы масштабирования будут автоматически создаваться с включенным автоматическим масштабированием. #1717, #1763
-
Agent/Service/CLI: Добавить поддержку генерации файлов журнала, которые можно загрузить с помощью CLI. #1727, #1723, #1721
-
Service: Перенести шаблоны ARM в Bicep. #1724, #1732
-
Service: Первоначальные изменения для переноса службы с Python на C#. #1734com/microsoft/onefuzz/pull/1734), #1733, #1736, #1737, #1738, #1742, #1744, #1749, #1750, #1753, #1755, #1760, #1761, #1762, #1765, #1757, #1780, #1782, #1783, #1777, #1791, #1801, #1805, #1804, #1803
-
Сервис: Убедитесь, что узлы набора масштабирования не могут принимать работу в состоянии setup
. #1731
Изменено* Agent: Уменьшить уровень логирования с warn
до debug
при невозможности разбора ASan-лога. #1705
- Service: Переместить создание темы Event Grid в шаблон развертывания из скрипта
deploy.py
. #1591
- Agent/Supervisor/Proxy: Обновлены несколько сторонних зависимостей Rust. #1548, #1617, #1618
- Service: Объединены два лога аналитики в один. #1679
- Service: Обновлено имя ресурса в файле Bicep для предотвращения конфликта имен при развертывании версии 5.3.0. #1808
Исправлено
- Service: Лог-сообщение об автоматическом масштабировании не является
error
, изменено на info
. #1745
- Agent: Исправлен вывод Cobertura для корректного отображения сводки покрытия в Azure Devops. #1728
- Agent: Продолжить выполнение после несмертельных ошибок при статическом восстановлении сайтов покрытия SanCov. #1796
- Service: Исправлено генерирование имен для нескольких ресурсов в файле Bicep для увеличения уникальности и предотвращения конфликта имен ресурсов. #1800
5.2.0
Добавлено
-
Service: Добавлена дополнительная поддержка автоматического масштабирования для VM scale sets. #1686, #1698### Изменено
-
Agent/Supervisor/Proxy: Обновлены несколько сторонних зависимостей Rust. #1699, #1589
5.1.0
Добавлено
- Service: Добавлен новый формат сообщений вебхуков, совместимый с Azure Event Grid. #1640
- Service: Добавлена начальная поддержка автоматического масштабирования для VM scale sets. #1647, #1661
- Agent: Добавлен явный таймаут для скриптов установки для упрощения отладки зависаний. #1659
Изменено
- CLI/Service: Обновлены несколько встроенных и внешних Python зависимостей. #1606, #1634
- Agent: Проверка использования памяти на уровне системы и завершение задач, которые почти исчерпали память. #1657
Исправлено
- Service: Исправлено поле
task
на правильный тип NodeTasks
, чтобы сериализация работала корректно. #1627
- Agent: Преобразование экранированных символов при доступе к имени блоба в URL. #1673
- Agent: Переопределение параметра
runs
при тестировании входных данных, так как нам нужно тестировать их только один раз. #1651
- Service: Удаление устаревшего метода
warn()
. #1641## 5.0.0
Добавлено
- CLI/Service: Добавлен аргумент
fuzzer_target_options
в шаблоны libfuzzer
для передачи некоторых опций целевого объекта только в режиме устойчивого фуззинга. #1610
Изменено
- Agent/Supervisor/Proxy: Обновлены несколько внешних Rust зависимостей. #1530
- CLI/Service: Обновлены несколько встроенных и внешних Python зависимостей. #1576, #1577, #1579, #1582, #1586, #1599
- CLI/Service: Начало обновления экземпляров набора масштабирования перед переустановкой, чтобы убедиться, что они соответствуют последней модели набора масштабирования. #1612
Исправлено
- Agent: Удаление события трекинга
process_stats
, что исправляет класс утечек памяти на задачах libfuzzer_fuzz
Windows. #1608
- CLI/Service: Исправление проверки переустановки устаревших узлов через семь дней. #1616
4.1.0### Добавлено
- Agent: Добавлены данные о покрытии исходных строк #1518
#1534
#1538
#1535
#1572
- Agent: Добавлен выход XML Cobertura для визуализации исходного кода #1533
- Service: Добавлены автоматически конфигурируемые свойства для агентов мониторинга #1541
- Service: Добавлены теги для scale sets и VMs #1560
Изменено* Agent/Supervisor/Proxy: Обновлены несколько сторонних зависимостей на Rust.
#1489
#1495
#1496
#1501
#1502
#1507
#1510
#1513
#1514
#1517
#1519
#1521
#1522
#1528
#1557
#1566
- Agent: Изменена функция получения
machine_id
на async
, чтобы избежать вложенного выполнения в режиме выполнения #1468
- Service: Удалена общая команда сброса из CLI #1511
- Service: Обновлен способ проверки авторизации конечных точек #1472
Исправлено
- Service: Увеличена надежность интеграционных тестов. #1505
- Agent: Избегается утечка неиспользуемых данных файлов и кэша #1539
- Agent: Исправлены новые ошибки clippy #1516
4.0.0### Добавлено
- Agent: Добавлен общий формат охвата исходного кода. #1403
- Service: Добавлен класс для хранения и извлечения правил, связанных с конечной точкой API. Это поддерживает возможность контроля доступа к API. #1420
- Service: Поддержка создания NSG во время развертывания, что позволяет ограничить доступ к масштабируемому набору и воспроизводимым виртуальным машинам. #1331, #1340, #1358, #1385, #1393, #1395, #1400, #1404, #1406, #1410
- Service: По умолчанию отключено использование учетной записи гостя при создании основного субъекта службы во время развертывания. #1425
- Service: Добавлено проверение членства в группе. #1074
- Service: Внедрено параметр
target_timeout
в шаблон radamsa basic
. #1499
Исправлено* Service: Исправлено создание работы в Azure DevOps путем добавления недостающей инициализации клиента. #1370
- Service: Исправлено валидирование имени blob
target_exe
, что позволяет использовать вложенность в подкаталоге контейнера setup
. #1371
- Service: Перемещено на MS Graph, так как
azure-graphrbac
скоро будет отключено. #966
- Service: Остановлено игнорирование неожиданных ошибок при аутентификации секрета клиента. #1376
- Service: Исправлено регулярное выражение для корректного захвата ID объекта при попытке удаления недопустимого ID приложения. #1408
- Service: Добавлены проверки использования субъекта службы при назначении роли пользователя. #1479
- Service: Добавлена поддержка изображений Compute Gallery. #1450
3.2.0### Изменено
- Agent/Supervisor/Proxy: Обновлены несколько сторонних зависимостей Rust. #1301, #1302, #1310, #1312, #1332, #1335, #1336, #1337, #1341, #1342, #1343, #1344, #1353
- CLI/Service: Обновлены несколько первичных и сторонних зависимостей Python. #1346, #1348, #1355, #1356
Исправлено
- Service: Исправлена аутентификация при использовании секрета клиента. #1300
- Развертывание: Исправлена проблема, при которой использовался неправильный AppRole при создании новых регистраций CLI. #1308
- Развертывание: Подавлен шумный логгинг зависимости обработанных ошибок при развертывании. #1304
3.1.0
Добавлено* Agent: Добавлена возможность обработки поддельных отчетов об ошибках, сгенерированных отладочными инструментами, во время регрессионных задач. #1233
- Service: Добавлена возможность настройки диапазонов IP виртуальной сети. #1268
- Развертывание: Добавлен
flake8
в процесс развертывания для соответствия остальной части базы кода Python по проверке стиля. #1286
- Service: Добавлены пользовательские расширения для включения расширений Microsoft Security Monitoring. #1184
- CLI: Добавлено определение
--readonly_inputs
для шаблона libfuzzer basic
. #1247
Изменено* CLI: Увеличена стандартная подробность вывода для разрушительных команд CLI. #1264
- Agent/Supervisor/Proxy: Обновлены несколько сторонних зависимостей Rust. #1239, #1240, #1236, #1238, #1245, #1246, #1252, #1253, #1254, #1257, #1261, #1262, #1276, #1278
Исправлено
- Развертывание: Исправлено развертывание в некоторых регионах путем указания широко поддерживаемых версий ресурсов Application Insights. #1291
- Развертывание: Исправлено проблему с многопользовательским развертыванием, вызванное несоответствием между идентификатором, используемым для конфигурации регистрации приложения, и значением, используемым для аутентификации клиента CLI. #1270
- Сервис: Исправлено
scaleset proxy reset
, чтобы сбросить все прокси в указанном регионе. #1275
- CLI: Временно игнорируются ошибки типа от
azure-storage-blob
из-за недействительных подписей типов Python. #1258## 3.0.0
Изменено
- CLI/Развертывание/Сервис: Перевод на использование
api://
для "identifier URIs" приложения AAD.
Клиенты до версии 3.0 не смогут подключаться к более новым экземплярам.
(ПРЕРЫВАЮЩЕЕ ИЗМЕНЕНИЕ) #1243
- Agent/Супервизор/Прокси: Скрытие данных устройства, IP-адресов и имени машины в статистике времени выполнения, отправляемой Microsoft через Application Insights. #1242
- Agent/Супервизор/Прокси: Обновление нескольких сторонних зависимостей Rust. #1232, #1230, #1228, #1229, #1231, #1242.
2.33.1
Исправлено
- CLI: Исправлена проблема вывода результатов, содержащих
SecretData
. #1223
2.33.0
Добавлено
- Agent: Добавлено расширение конфигурационного значения
machine_id
для всех задач. #1217, #1216
Изменено
Исправлено* Развертывание: Исправлен пример правила развертывания для включения необходимой поддержки очередей хранения Azure. #1207
- CLI: Исправлена проблема вывода результатов, содержащих
set
, datetime
или None
. #1208, #1221## 2.32.0
Добавлено
- CLI/Service: Используемая для прокси Azure VM SKU теперь настраивается через
onefuzz instance_config
. #1128
- CLI: Добавлен командный запрос
onefuzz status pool
для получения информации о статусе пула. #1170### Изменено* Agent/Supervisor/Proxy: Обновлены несколько сторонних зависимостей на Rust. #1152, #1155, #1156, #1157, #1158, #1163, #1164, #1165, #1166, #1176, #1177, #1178, #1179, #1181, #1182, #1183, #1185, #1186, #1191, #1198, #1199, #1200, #1201, #1202, #1203, #1204, #1205
- Agent: Изменено поведение вызовов
azcopy
, чтобы они всегда перезапускались при изменении исходных файлов во время копирования. #1196
- Agent: Продолжена разработка, связанная с предстоящими функциями. #1146
- Agent: SAS-URLs теперь скрываются в логах при сбоях
azcopy
. #1194
- CLI: Включено количество используемых виртуальных машин на задачу в
onefuzz status top
. #1169
- Развертывание: Созданные при развертывании учетные данные приложений больше не логируются. #1172
- Развертывание: Уточнено логирование при повторных попытках взаимодействия с AAD. #1173
- Развертывание: Заменили создание пользовательской очереди Azure Storage на использование ARM-шаблонов. #1193
- Сервис: Срок действия SAS-URLs теперь отсчитывается назад, чтобы избежать проблем синхронизации времени. #1195
Исправлено* Развертывание: Недействительные ссылки на предварительно утвержденные приложения удаляются во время регистрации приложения. #1175
- Сервис: Исправлена проблема с логированием состояния узла. #1160
2.31.0
Добавлено
- Супервайзер: Добавлена запись STDOUT и STDERR супервайзера в файл. #1109
- CLI/Сервис/Агент: Задачи супервайзера теперь могут иметь управляемый контейнер покрытия по желанию. #1 Yöntem
Изменено* Агент/Супервайзер/Прокси: Обновлены несколько сторонних зависимостей Rust. #1151, #1149, #1145, #1134, #1135, #1137, #1133, #1138, #1132, #1140
-
Сервис: Включен тестирование отображения элементов работы Azure Devops. #1144
-
Агент: Продолжена разработка, связанная с будущими функциями. #1142
-
CLI: Больше не повторяются запросы API сервиса, которые завершаются ошибками уровня сервиса. #1129
-
Агент/Супервайзер/Прокси: Устранены несколько новых предупреждений cargo-clippy
. #1125
-
CLI/Сервис: Обновлены сторонние зависимости Python. #1124### Исправлено
-
Сервис: Исправлена проблема с неполной авторизацией в многопользовательских развертываниях. CVE-2021-37705 #1153
2.30.0
Изменено
- Агент/Супервайзер/Прокси: Обновлены несколько сторонних зависимостей Rust. #1116
Исправлено
- Сервис: Исправлена ошибка при замене уведомлений для контейнера. #1115
- Сервис: Исправлены проблемы совместимости с Python 3.9. #1117
- Агент/Супервайзер/Прокси: Устранены несколько новых предупреждений
cargo-clippy
. #1118
2.29.1
Исправлено
- Агент: Исправлена проблема с утилитами учетной записи хранения "Premium". #1111
- Агент: Устранена проблема с ограничением скорости при использовании
azcopy
из большого количества виртуальных машин с ядрами. #1112
2.29.0
Добавлено
- Сервис: Информация, относящаяся к личным данным (PII), теперь удаляется из задач, заданий и повторений через 18 месяцев. #1051
- Сервис: Неиспользуемые уведомления теперь удаляются через 18 месяцев. #1051
Изменено* Сервис: События SignalR теперь направляются через очередь хранения Azure для предотвращения сбоев SignalR, которые могут повлиять на весь сервис. #1100, #1102
-
Сервис: Функциональность, используемая до версии 1.0.0 для назначения задач на виртуальные машины вместо пулов, больше не поддерживается. #1105
-
Сервис: Задачи coverage
и generic_generator
теперь проверяют, используется ли {input}
в target_env
или target_options
. #1106### Исправлено
-
Сервис: Исправлена проблема с переустановкой старых узлов с установленным debug_keep_node
. #1103
-
Сервис: Исправлена проблема с аутентификацией к службам Azure. #1099
-
Сервис: Исправлена проблема, препятствующая установке пулов и наборов масштабирования на halt
, если они были установлены на shutdown
. #1104
2.28.0
Добавлено
- CLI: Добавлена возможность удаления существующих уведомлений контейнеров при создании интеграции уведомлений. #1084
- CLI/Документация: Добавлен пример задачи
generic_analysis
, демонстрирующий сбор покрытия на основе исходного кода LLVM. #1072
- Supervisor: Добавлена устойчивость взаимодействия с сервисом для команд узлов. #1098### Изменено
- Agent/Supervisor/Proxy: Устранил несколько новых предупреждений
cargo-clippy
. #1089
- Agent: Добавил больше контекста к ошибкам в задачах генератора. #1094
- Agent: Добавил поддержку ASAN для идентификации ошибок форматирования строк. #1093
- Agent: Добавил проверку, что
{input}
передается приложению для тестирования через target_env
или target_options
. #1097
- Agent: Продолжил разработку, связанную с будущими функциями. #1090, #1091
- CLI/Service: Обновил несколько первичных и вторичных Python зависимостей. #1086
- CLI: Изменил шаблоны задач на замену существующих уведомлений для уникального контейнера отчета. #1084
- Service: Добавил больше контекста к ошибкам Azure DevOps. #1082
- Service: Секреты уведомлений теперь удаляются из Azure KeyVault при удалении уведомлений. #1085
Исправлено* Agent: Исправлена проблема логирования ASAN-вывода при ошибках парсинга ASAN-логов. #1092
- Agent: Исправлены проблемы обработки неподдерживаемого UTF-8 вывода из приложений под тестированием. #1088
2.27.0
Изменено
- Agent: Результаты пакетной обработки теперь сохраняются после каждого 10-го выполнения. #1076
- Service: Оптимизирована очередность событий
file_added
за счет исключения ненужных запросов к Azure. #1075
- Agent: Оптимизирован мониторинг изменений директорий. #1078
- Supervisor: Оптимизирован мониторинг агента. #1080
2.26.1
Исправлено
- CLI: Исправлена проблема обработки долгих запросов. #1068
- CLI/Service: Исправлена проблема, связанная с предстоящими функциями. #1067
- CLI: Исправлена проблема обработки
target_options
для задач libFuzzer. #1066
2.26.0
Добавлено
- Supervisor: Добавлен обработчик
panic
, чтобы записывать сбои supervisor. #1062
Изменено
-
Agent: Добавлено больше контекста к ошибкам загрузки файлов. #1063
-
CLI: Уточнены ошибки при поиске azcopy
. #1061### Исправлено
-
Service: Исправлена проблема, при которой долгоживущие экземпляры VM scaleset могли быть переустановлены с устаревшими скриптами установки VM. #1060
-
Service: Исправлена проблема, при которой обновления скриптов установки VM не всегда были применены. #1059
2.25.1
Исправлено
2.25.0
Добавлено
- Agent: Добавлены
minimized_stack_function_lines
и minimized_stack_function_lines_sha256
в отчеты об ошибках. #993
- CLI/Service: Добавлено поле
timestamp
к объектам Notification
. #1043
- Service: Добавлено событие scaleset_resize_scheduled. #1047
- Service: Добавлено поле
pool_id
к объектам Node
. #1049
Изменено* Agent/Supervisor/Proxy: Обновлены несколько сторонних зависимостей на Rust. #1040, #1052
- CLI/Deployment/Service: Обновлены несколько первых и сторонних зависимостей на Python. #922, #1cq5
- CLI/Service: Перешли на использование встроенной проверки размера типов в Pydantic. #1048
- Service: Продолжена разработка, связанная с предстоящими функциями. #1046, #1050
Исправлено:
-
"cq5" заменено на "1045" в ссылке.### Исправлено
-
CLI: Исправлено проблемное поведение при сортировке столбцов в onefuzz status top
. #1037
-
Service: Исправлено проблемное поведение при добавлении SSH-ключей на Windows-виртуальные машины. #1038
2.24.0
Добавлено
- CLI/Service: Добавлена конфигурация экземпляра, управляемая через
onefuzz instance_config
. #1010
- Service: Добавлен автоматический перезапуск для уведомлений Azure Devops. #1026
- CLI/Service: Добавлена проверка конфигурации интеграции с GitHub Issues. #1019
Изменено
- Agent/Supervisor/Proxy: Перешли на
rustls
для возможности запуска Agent и Supervisor на Ubuntu 20.04. #1029
- Agent: Продолжена разработка, связанная с предстоящими функциями. #1016
Исправлено
- Agent: Исправлено проблемное поведение при обработке недопустимых данных во время сбора покрытия. #1032
- Agent: Исправлена логика повторной попытки при неудачах записи покрытия. #1033
2.23.1
Исправлено
- Service: Исправлено проблемное поведение, препятствующее удалению или переобразованию узлов в некоторых случаях. #1023
2.23.0### Изменено
- Agent/Supervisor/Proxy: Обновлены несколько сторонних зависимостей Rust. #1018, #1009, #1004
- Service: Задачи, выполняемые на узлах без недавних пульсаций, теперь помечаются как неудачные из-за проблем с пульсацией. #1015
- Service: Обновлены несколько собственных зависимостей Python. #1012
Исправлено* Agent: Исправлена проблема с задачами libfuzzer_fuzz
на Windows, где обнаружение крашей происходило слишком быстро, что приводило к невозможности восстановления дескрипторов. #1002
- Agent: Исправлена проблема с регрессионными задачами после использования команд
onefuzz debug notification
. #1011
- Развертывание: Исправлено конфигурационное ограничение, снижающее длительность хранения логов. #1007
- Сервис: Исправлена проблема создания уведомлений о задачах GitHub. #1008
- Сервис: Исправлена проблема обработки переизображения узлов, которые занимали слишком много времени. #1005
2.22.0
Изменено
-
Сервис: Обновлены сообщения логов, связанные с узлами и задачами, для упрощения отладки. #988
-
Agent: Изменен уровень логирования уведомлений о повторных попытках azcopy
на DEBUG
. #986
-
Agent: Обновлены регулярные выражения для минимизации стека от libclusterfuzz
. #992
-
Agent: Добавлено больше контекста для ошибок синхронизированных директорий. #995
-
Развертывание: Уменьшена длительность хранения логов Application Insights до 30 дней. #997
-
Agent: Улучшено отслеживание потоков во время отладки win32. #1000### Исправлено
-
Agent: Исправлена проблема использования относительных путей с синхронизированными директориями. #996
-
Сервис: Исправлена проблема создания уведомлений о задачах GitHub. #990
-
CLI/Сервис: Исправлена проблема обработки полей Union
в библиотеке onefuzztypes
. #982
-
Сервис: Исправлена проблема обработки ручного изменения размера масштабных наборов. #984
2.21.0
Добавлено
- CLI: Добавлена команда
onefuzz debug job rerun
. #960
Изменено
- Agent: Добавлено больше контекста для ошибок записи охвата. #979
- Agent: В случае неудачи записи охвата, задача охвата теперь повторяет попытку с этим входом. #978
- Сервис: Узлы с флагом
debug_keep_node
теперь будут переизображены, когда узел достигнет возраста в 7 дней. #968
- Сервис: Обновления для scalesets теперь могут быть запрошены, когда узел находится в состоянии
resize
. #969
Исправлено* Сервис: Исправлена проблема при переборе узлов, которые ранее не удавалось переформатировать в ожидаемом режиме. #970
- Сервис: Исправлена проблема при изменении размера масштабируемых наборов, которые превышают квоты Azure VM. #967
- Управляющий сервис: Исправлена проблема с обновлением токенов аутентификации сервиса. #976## 2.20.0
Добавлено
- Агент: Добавлена новая задача
coverage
, которая позволяет анализировать покрытие для как неинструментированных, так и Sancov целей на Linux и Windows. #763
Изменено
- Агент: Улучшена производительность задач libFuzzer. #941
- CLI: Изменено шаблон задачи
libfuzzer basic
на использование новой задачи coverage
. #763
- Развертывание: Добавлен автоматический повторный запрос при авторизации новых приложений во время развертывания. #959
- Управляющий сервис: Упрощена логика координации сервиса и добавлено больше контекста при возникновении ошибок. #963
2.19.0
Добавлено
- Агент/Управляющий сервис: Добавлено записывание логов azcopy при неудачном выполнении azcopy. #945
- CLI: Добавлена команда
onefuzz jobs containers delete
. #949
- CLI: Добавлена команда
onefuzz jobs containers download
. #953### Изменено
- Agent/Service: Агенты, запланированные на завершение работы, больше не ждут завершения текущей работы перед тем, как завершить работу. #940
- Agent/Supervisor/Proxy: Обновлены несколько сторонних зависимостей Rust. #942
- Agent: Продолжена разработка, связанная с будущими функциями. #937, #929, #919
- CLI: Подробности сообщений теперь всегда отображаются в команде
onefuzz status top
. #933
- CLI: Переименованы вспомогательные методы шаблонов для загрузки файлов настройки задач. #926
- Contrib: Обновлены несколько сторонних зависимостей Python. #950
- Service: Задачи, которые были остановлены без запуска, теперь помечаются как неудачные. #935
- Supervisor: Добавлено увеличенное количество контекста при записи неудачных попыток supervisor. #931
Исправлено* CLI/Service: Обход проблемы с зависимостью от третьей стороны при обработке Python Union в событиях. #939
- Развертывание: Исправлена проблема аутентификации во время развертывания. #947, #954
- Развертывание: Исправлена проблема, ограничивающая логи создания приложений. #952
- Сервис: Исправлена проблема удаления узлов с истекшими пульсами. #930
- Сервис: Исправлена проблема удаления несуществующих контейнеров. #948
- Сервис: Исправлена проблема удаления прокси. #932
- Сервис: Исправлена проблема, которая препятствовала автоматической миграции секретов уведомлений в Azure KeyVault в некоторых случаях. #936
- Супервизор: Исправлена проблема добавления нескольких SSH ключей на Windows виртуальные машины. #928
2.18.0
Добавлено
-
Агент: Добавлено расширение конфигурационного значения setup_dir
для задач-генераторов. #901
-
CLI: Включено указание альтернативной конфигурации клиента через аргументы командной строки. #900
-
CLI/Service: Статус прокси теперь доступен через команду onefuzz scaleset_proxy list
. #905### Изменения
-
Развертывание: Перешли на использование Microsoft Graph User.Read
вместо Azure AD Graph. #894
-
Сервис: Теперь задачи останавливаются на узлах перед удалением очередей хранения, связанных с задачами. #801
-
Прокси: Прокси автоматически развертываются и всегда доступны на основе регионов с активными масштабируемыми наборами для fuzzing. #839, #908, #907, #909, #904
-
CLI: Добавлены пояснения к ошибкам, возникающим при парсинге аргументов, значения которых являются ключ/значение парами. #910, #911
-
Агент: Продолжена разработка, связанная с предстоящими функциями. #913, #918
-
Сервис: Обновлены первичные Python библиотеки. #903
2.17.0
Добавлено
Изменено* Agent/Supervisor/Proxy: Устранены несколько новых предупреждений cargo-clippy
. #884
-
Agent/Supervisor/Proxy: Обновлены и удалены сторонние зависимости Rust. #892, #873, #865
-
Сервис: Улучшены типы Python, используемые в сервисе. #881
-
Сервис: Обновлены несколько первых и сторонних Python-библиотек. #893, #889, #866, #885, #861, #890
-
Supervisor: Теперь supervisor включает полный контекст ошибки при сбое. #879
-
Сервис: Улучшены логи обновления scale set. #880
-
Agent: Продолжена разработка, связанная с будущими функциями. #874, #868, #864
-
SDK/CLI: Заменено загрузку директорий на основе Python на azcopy sync
. #878### Исправлено
-
Сервис/Supervisor: Исправлена проблема уменьшения масштабируемых наборов, где узлы в режиме ожидания не выключались, как ожидалось. #866
-
Развертывание: Исправлена проблема развертывания на независимых от Microsoft однопользовательских экземплярах. #872, #898
2.16.0
Добавлено
- Развертывание: Добавлена возможность развертывания только RBAC ресурсов. #818
- Agent: Продолжена разработка, связанная с будущими функциями. #855, #858
Исправлено
- Agent: Исправлена проблема, при которой мониторинг директорий мог завершиться ошибкой из-за временных файлов
azcopy
. #859
- Сервис: Исправлена проблема, при которой масштабируемые наборы могли застрять при попытке изменения размера, если они также были удалены вручную. #860
2.15.0
Добавлено* Agent: Добавлен контекст ошибок, сгенерированных во время расширения конфигурационных значений. #835.
-
CLI/Service: Добавлены сообщения, ожидающие обработки для узла, к API статуса узла. #836
-
Agent: Продолжена разработка, связанная с предстоящими функциями. #844, #852, #850, #843, #837, #838, #844### Изменено
-
Agent/Proxy/Supervisor: Обновлены несколько сторонних зависимостей Rust. #842, #826, #829
-
Service/Contrib: Обновлены несколько зависимостей Python. #828, #827, #823, #822, #821, #847
-
Service: Сброс узлов больше не требует ожидания подтверждения отключения узлом в некоторых случаях. #834
Исправлено
- Supervisor: Исправлена проблема, введенная в 2.14.0, которая иногда препятствует остановке узлов от обработки задач. #833
- Service: Исправлена проблема, связанная с удалением очередей хранения Azure во время их использования. #832
- Развертывание: Исправлена проблема, при которой роль клиента приложения CLI не была назначена во время развертывания. #825
2.14.0
Добавлено* Contrib: Добавлен образец рабочего процесса GitHub Actions и конвейера Azure DevOps для демонстрации развертывания задач OneFuzz с помощью CI/CD. #778
-
CLI/Service: Добавлены метки времени создания для записей Job
, Node
, Pool
, Scaleset
, Repro
, Task
, и TaskEvent
, возвращаемых службой. #796, #805, #804
-
Agent/Proxy/Supervisor: Добавлено дополнительное контекстное сопровождение для ошибок веб-запросов для помощи в отладке проблем. #798
-
Service: Добавлены конфигурации задач к событиям crash_reported и regression_reported. #793### Изменено
-
Agent: Полный контекст ошибки теперь записывается при неудаче задачи. #802
-
CLI: Шаблон libfuzzer-dotnet
больше не завершает задачу неудачей по умолчанию, если фuzzer завершается с ненулевым статусом, но без краш-артефакта. #807
-
Agent/Proxy/Supervisor: Обновлены несколько зависимостей Rust. #800
-
Service: При нескольких неудачах для одной задачи, регистрируется только первая неудача. #797
-
Agent: Продолжена разработка, связанная с предстоящими функциями. #820, #816, #790, #809, #812, #811, #810, #794, #799, #779
Исправлено
- Развертывание: Добавлены недостающие действия в пример пользовательской роли Azure для развертывания. #808
- Сервис: Исправлена проблема создания масштабных наборов с несовместимыми SKU виртуальных машин и изображениями виртуальных машин. #803
- Сервис: Исправлена проблема удаления информации об идентичности пользователя из журнала для пользовательских экземпляров. #795
2.13.0### Добавлено
- Развертывание: Разрешено указывать подписку Azure для использования при развертывании, вместо использования по умолчанию всегда #774
Изменено
-
Agent/Supervisor: Добавлен автоматический перезапуск при выполнении azcopy
. #701
-
Сервис: При неудаче в настройке задачи, сообщение об ошибке задачи теперь включает ошибку, вызвавшую неудачу. #781
-
Agent: Задача libfuzzer-fuzz
больше не запрашивает полное состояние локальной системы при отчете только о состоянии процесса. #784
-
Agent: Задача libfuzzer-fuzz
теперь ограничивает собранный stderr последними 1024 строками для отчета о возможных ошибках. #785
-
Agent: Задача libfuzzer-fuzz
теперь суммирует количество выполнений в секунду и количество итераций из всех рабочих процессов на каждом виртуальном машине. #786
-
Agent: Задача libfuzzer-coverage
больше не удаляет начальную копию входных данных. #788
-
Agent: Скрипты отладки для извлечения покрытия libFuzzer теперь встроены в агента. #783
-
Agent: Продолжена разработка, связанная с предстоящими функциями. #787, #776, #663### Исправлено
-
CLI: Исправлена проблема, связанная с концовыми символами строк в скрипте настройки шаблона задачи libfuzzer-qemu
. #782
-
Сервис: Исправлена проблема обратной совместимости в поддержке временных дисков при создании масштабируемых наборов. #780
-
Развертывание: Исправлена проблема в поддержке многоклиентского развертывания. #773
2.12.0
Добавлено
- Агент: Задачи LibFuzzer теперь включают шаг верификации, который проверяет, что фuzzer может тестировать небольшое количество семян в начале задачи. #752
- Интеграционные тесты: Добавлена верификация, что во время тестирования не регистрируются ошибки в Application Insights. #700
- Агент/Супервизор/Сервис/Развертывание: Добавлена поддержка многоклиентской аутентификации. #746
- CLI/Сервис: Добавлена поддержка кратковременных дисков операционной системы. #461, #761
Изменено* Agent: Продолжена разработка, связанная с предстоящими функциями. #765, #762, #754, #756, #750, #744, #753
-
Contrib: Обновлены несколько зависимостей Python. #764
-
CLI/Agent: Задачи LibFuzzer теперь по умолчанию не завершаются ошибкой, если фuzzer завершается с ненулевым статусом без создания краша. #748### Исправлено
-
Agent/Proxy/Supervisor: Исправлены проблемы, препятствующие повторным попыткам HTTPS. #766
-
Agent/Service/Proxy/Supervisor: Исправлены логирование и телеметрия агента. #769
2.11.1
Исправлено
- Agent/Proxy/Supervisor: Исправлены проблемы, препятствующие отправке пульса. #749
2.11.0### Изменено
- Agent: Продолжена упрощение и уточнение логов. #736, #740, #742
- Agent: Предотвращено игнорирование недействительных сообщений очереди. #731
- Agent: Разделены имена модулей и символов для отчетов об ошибках Windows, основанных на отладчике. #723
- Развертывание/Agent: Обновлен AFL++ до версии 3.11c. #728
- CLI/Развертывание: Обновлены зависимости Python. #721
- Agent: Обновлены регулярные выражения для минимизации стека от ClusterFuzz. #722
- Сервис: Удалена информация об идентификации пользователя из логов для экземпляров пользователя. #724, #725
- Agent: Продолжена разработка, связанная с предстоящими функциями. #699, #729, #733, #735, #738, #739
Исправлено* Развертывание: Обход ситуации с расовой конкуренцией при создании сущности service principal. #716
- Агент: Теперь файлы dotfiles игнорируются в директориях, связанных с libFuzzer. #741
2.10.0
Добавлено
- Агент/CLI/Сервис: Добавлены задачи регрессионного тестирования, включая включение git bisect с использованием OneFuzz. #664, #691
- Агент/CLI/Сервис: Добавлена минимизация стека вызовов с использованием Rust порта ClusterFuzz парсинга трассировки стека. #591, #705, #706, #707, #714, #715, #719
- CLI: Добавлена команда
onefuzz privacy_statement
, которая отображает заявление о конфиденциальности OneFuzz. #695
- Агент: Добавлена установка
x86
и x86_64
Visual Studio C++ redistributable runtimes на узлах Windows. #686### Изменено
- Agent/Proxy/Supervisor: Изменена логика повторной отправки веб-запросов для включения подлежащего исправлению сбоя при отказе от повторной отправки запроса. #696
- Supervisor: Добавлена автоматическая логика повторной отправки веб-запросов при взаимодействии с сервисом. #704
- CLI/Service: Обновлены зависимости Python. #698, #687
- Supervisor: Уточнено сообщение журнала при неожиданном завершении работы supervisor. #685
- Proxy: Упрощена логика взаимодействия с сервисом. #683
- Proxy: Увеличена подробность журнала при сбое прокси. #702
- Agent: Увеличена разрешающая способность временных меток в скрипте настройки. #709
- Agent: Продолжена разработка, связанная с предстоящим функционалом. #508, [#688](https Yöntem, bu metin, уже был на русском языке, поэтому нет необходимости в переводе. Однако, я исправил небольшие грамматические ошибки и улучшил формулировки. Вот окончательный текст:
Изменено
- Agent/Proxy/Supervisor: Изменена логика повторной отправки веб-запросов для включения подлежащего исправлению сбоя при отказе от повторной отправки запроса. #696
- Supervisor: Добавлена автоматическая логика повторной отправки веб-запросов при взаимодействии с сервисом. #704
- CLI/Service: Обновлены зависимости Python. #698, #687
- Supervisor: Уточнено сообщение журнала при неожиданном завершении работы supervisor. #685
- Proxy: Упрощена логика взаимодействия с сервисом. #683
- Proxy: Увеличена подробность журнала при сбое прокси. #702
- Agent: Увеличена разрешающая способность временных меток в скрипте настройки. #709
- Agent: Продолжена разработка, связанная с предстоящим функционалом. #508, #688, #703, #710, #711* Agent: Исправлена поддержка целей libFuzzer, использующих динамически загружаемые объекты или DLL из контейнера установки. #680, #681, #682, #689, #713
2.9.0
Добавлено
-
Contrib: Добавлен пример сервиса Webhook #666
-
Agent: Добавлен номер версии OneFuzz и роль программного обеспечения в телеметрию #586
-
Agent: Добавлены несколько типов данных телеметрии для предстоящих функций #619
-
Agent: Добавлено поле input_file_sha256
к расширению конфигурационных значений. #641
-
Agent: Добавлено поле job_id
к уведомлению о пульсе задачи #646
-
Service: Добавлена информация о задаче к событиям job_stopped #648### Изменено
-
Сервис: task_stopped и task_failed теперь срабатывают после того, как задача остановлена, а не при входе в состояние stopping
. #651
-
CLI: Токены аутентификации сохраняются после успешного входа, а не при завершении программы. #665
-
Сервис: Если задача с зависимыми задачами завершается ошибкой, все зависимые задачи помечаются как неудачные. #650
-
Агент: Исправлена проблема с адресом PC в отчетах о крашах. #658
-
Сервис: После завершения задачи, если все задачи, связанные с заданием, завершены, задание помечается как остановленное. #649
-
Развертывание/Агент: Обновлен AFL++ до версии 3.11c. #675
-
Агент/Прокси/Супервизор: Изменена логика повторной отправки веб-запросов для повторной отправки любого запроса, который завершился ошибкой, независимо от причины ошибки. #674
-
Агент: Загрузка файлов из очередей задач теперь автоматически повторяется при ошибке. #676
-
Сервис: Информация о пользователе теперь удаляется из Событий перед логированием в Application Insights. #661
Исправлено* Сервис: Обработка исключений, связанных с ручным удалением масштабных наборов #672
- Агент: Исправлены проблемы с жизненным циклом Rust, обнаруженные обновлением библиотеки Rust regex #671
2.8.0
Добавлено
Изменено* Агент: Уточнены журналы пакетной обработки. #622
-
Агент/Прокси: Обновлены несколько зависимостей Rust. #624
-
Сервис/CLI/Конвейер: Обновлены несколько зависимостей Python. #607, #608, #610, #611, #612, #625, #626, #630, #640
-
Сервис: Обновлено конфигурирование задач для проверки, что target_exe
является канонизированным относительным путем. #613
-
Развертывание/Агент: Обновлен AFL++ до версии 3.10c. #609
-
Развертывание: Уточнено создание прикладного пароля после предыдущих неудач. #629
-
Сервис: Пароли больше не устанавливаются на Linux виртуальных машинах. #620
-
Сервис: Уточнено происхождение сбоев задач при интеграции уведомлений, отмечающей задачу как неудачную. #635### Исправлено
-
Агент/Прокси/Супервизор: Исправлена логика повторной попытки веб-запросов при обработке ошибок уровня операционной системы. #623
-
Сервис: Обработка исключений при создании масштабных наборов из-за проблем с квотой Azure VM. #614
2.7.0
Добавлено
- CLI: Добавлено
onefuzz containers files download_dir
для возможности скачивания содержимого контейнера. #598
- Агент: Добавлены
microsoft_telemetry_key
и instance_telemetry_key
и расширена доступность reports_dir
в расширении конфигурационных значений. #561
- Агент/Сервис: Добавлен
job_id
в уведомления о состоянии агента. #594
- Агент/Прокси/Супервизор: Добавлен дополнительный контекст ошибок при взаимодействии с очередью хранения и службами для улучшения отладки. #601
Изменено* Agent/Proxy/Supervisor: Переименованы имена токенов Application Insights, используемых для телеметрии, на microsoft_telemetry_key
и instance_telemetry_key
, а также функция, ограничивающая разрешение на передачу телеметрии, на can_share_with_microsoft
, чтобы сделать реализацию телеметрии более понятной. #587
-
Развертывание: Обновлены несколько зависимостей Python. #596
-
Сервис: Обновлены несколько зависимостей Python. Устраняет потенциальные проблемы безопасности CVE-2020-28493. #595
-
Сервис: Не позволяет узлам запускать новые задачи, если они являются частью масштабируемого набора или пула, который запланирован к отключению. #583### Исправлено
-
Сервис: Исправлены запросы, используемые для идентификации узлов, запускающих устаревшие выпуски OneFuzz. #597
-
Агент: Исправлена проблема, которая могла остановить агента или supervisor от выполнения работы, если HTTPS-запрос завершился ошибкой в определённых условиях. #603
-
Агент: Исправлена проблема, которая могла остановить задачу, если задача выводила значительное количество данных в stdout или stderr. #588
-
Развертывание: Устранены проблемы развертывания, связанные с задержками создания ресурсов Azure Active Directory в разных регионах. #585
2.6.0
Добавлено
- Сервис: Задания, которые не начинаются в течение 30 дней, автоматически останавливаются. #565
Изменено* Сервис: Отладочные прокси теперь используют порты с 28000 до 32000. #552
-
Сервис: События теперь включают имя экземпляра и уникальный идентификатор. #577
-
Сервис: Все события, связанные с задачами, теперь включают конфигурацию задачи. #580
-
Сервис: Ошибки, возникающие при уведомлении о сбоях в отчетах из-за недействительных заданий или задач, теперь включают причину ошибки. #576
-
CLI: Именованные контейнеры для охвата, используемые в шаблонах заданий, теперь включают build
и platform
в дополнение к project
и name
. #572
-
Сервис: Перезагрузка узла, запрошенная пользователем, больше не ожидает подтверждения от узла перед началом процесса перезагрузки. #566### Исправлено
-
Сервис: Исправлено условие ошибки, возникающее при создании контейнера сразу после его удаления. #582
-
Сервис: Исправлено условие, при котором перезагрузка узла происходила независимо от состояния других задач, выполняемых на узле. #567
2.5.0
Добавлено
- CLI: Добавлена возможность опроса статуса задачи до тех пор, пока задачи не начнутся в управляемых шаблонах с помощью
--wait_for_running
. #532
- CLI: Добавлена поддержка libfuzzer-dotnet. #535
- Агент: Добавлены
crashes_account
и crashes_container
к расширению конфигурационных значений. #551
- CLI: Добавлены команды
onefuzz status job
и onefuzz status project
для предоставления удобного для пользователя статуса заданий. #550
Изменено
- Агент: Журналы и локальная telemetry от агента теперь включают роль (
agent
или supervisor
) в записанных событиях. #527
- Агент: Уточнены ошибки, возникающие при неудачной выгрузке охвата libFuzzer. #554
Исправлено* Сервис: Обработаны ошибки SkuNotAvailable
от Azure при создании масштабных наборов. #557
- Агент/Прокси: Обновлены несколько сторонних библиотек Rust. Устраняет потенциальные проблемы безопасности RUSTSEC-2021-0023. #548## 2.4.1
Изменено
- Агент: Проверка целей LibFuzzer в начале задачи с помощью
-help=1
теперь происходит до отправки пульса. #528
Исправлено
- Сервис: Исправлена проблема, связанная с тем, что Azure Functions не всегда предоставляют JWT-токен через заголовки авторизации. #531
- CLI: Исправлена проблема
--wait_for_running
в шаблонах задач. #530
- Развертывание: Исправлена ошибка логирования путем установки по умолчанию транспорта SignalR, используемого Azure Functions. #525
- Агент: Исправлена проблема сбора покрытия LibFuzzer при инструментировании DLL, загруженных в процессе выполнения. #519
- Сервис: Исправлена проблема, связанная с тем, что кэшированная Azure Identity не использовалась. #526
- Сервис: Исправлено сообщение логирования, связанное с идентификацией вторичных экземпляров корпуса. #524
2.4.0
Добавлено
- Сервис: Обработка узлов масштабных наборов, которые никогда не регистрируются, таких как узлы с ошибками скриптов настройки экземпляра. #518
Изменено* Агент: Добавлено логирование stdout/stderr и уточнение контекста при сбоях в задаче generic_analysis
. #522
-
Агент/Сервис/Прокси: Уточнено сообщение логирования от прокси масштабных наборов. #520
-
Агент/Прокси: Обновлены несколько сторонних библиотек Rust. #517### Исправлено
-
Агент: Исправлена потенциальная проблема соревнования при одиночном шаге при отладке задач generic_crash_reporter
и generic_generator
на Windows. #440
2.3.0
Изменено
- Сервис: Уточнение сообщений журнала при несоответствии версий сервиса и агента. #510
- Сервис: Теперь сеты и узлы обновляются в последовательном порядке во время запланированных обновлений. #512
- CLI/Сервис: Расширение использования примитивных данных, обеспечивающих валидацию данных. #514
Исправлено
- Сервис: Исправление ошибки, возникающей при обновлении конфигураций сетов, запланированных на удаление. #511
- Сервис: Исправление проблемы, при которой конфигурации сетов обновлялись слишком часто. #511
2.2.0
Добавлено
- Прокси: Журналы менеджера прокси теперь записываются в Application Insights. #502
Изменено
-
Агент: Обновление логики повторной отправки веб-запросов для повторной отправки запросов при отклонении соединения. #506
-
Сервис: Улучшение производительности при остановке пулов. #503
-
Сервис: Обновление зависимости Python azure-mgmt-compute
. #499### Исправлено
-
Прокси: Исправление проблемы с пульсацией прокси, которая приводила к сбросу прокси-виртуальных машин через Yöntem 10 минут. #502
-
Агент: Исправление проблемы, которая приводила к сбою отчета о сбоях на основе libFuzzer, введенного в версии 2.1.1. #505
2.1.1
Добавлено
- Агент: Добавление статического анализа Rust Clippy в CICD. #490
- CLI/Сервис: Добавление статического анализа Bandit в CICD. #491
Исправлено
- Сервис: Исправление проблемы, при которой сеты могли попасть в состояние, которое препятствовало обновлению конфигураций. #489
2.1.0
Добавлено
Изменено* CLI/Service/Agent: Supervisor теперь может быть полностью автономным для выполнения задач fuzzing, без необходимости наличия target_exe
. Кроме того, задачи supervisor теперь могут опционально иметь управляемые контейнеры отчетов. #474
-
Service: Узлы, которые не используются более 7 дней, автоматически переизображаются для поддержания уровня патчей операционной системы. #476
-
CLI/Service: Обновлено стандартное изображение Windows VM до MicrosoftWindowsDesktop:Windows-10:20h2-pro:latest
. Существующие scalesets не будут затронуты этим изменением, только новые scalesets, созданные с использованием стандартного изображения. #469### Исправлено
-
Agent: Новые входные данные, обнаруженные задачами supervisor, теперь сохраняются в контейнер inputs
. #484
-
CLI: Лицензия теперь правильно устанавливается в метаданных пакета Python. #472
-
Agent: Неудача в загрузке файлов через HTTP из очередей теперь приводит к ошибке, вместо того чтобы HTTP-ошибка интерпретировалась как запрошенный файл. #485
-
Развертывание: Исправлена ошибка при проверке наличия стандартного приложения CLI. #488
2.0.0
Добавлено
- Agent: Добавлено пояснительное контекстное сообщение для ошибок файловой системы. #423
- CLI/Service: Значительно расширены события, доступные для вебхуков. #394
- Agent: Добавлен
{setup_dir}
к расширению значений конфигурации. #417
- Agent: Добавлен
{tools_dir}
к расширению значений конфигурации для {supervisor_options}
и {supervisor_env}
. #444### Изменено* CLI/Service: Перенес onefuzz status top
для использования Webhook Events. (ПРЕРЫВАЮЩЕЕ ИЗМЕНЕНИЕ) #394
- CLI/Service: Новые уведомления секретов, такие как токены ADO, управляются в Azure KeyVault и больше не доступны пользователю после создания. (ПРЕРЫВАЮЩЕЕ ИЗМЕНЕНИЕ) #326, #389
- CLI/Service: Обновлены несколько зависимостей Python. #426, #427, #430
Исправлено* Агент: Исправлено условие триггера для новых уникальных событий отчета #422
- Развертывание: Снижено влияние проблем, связанных с развертываниями в сценариях условного доступа. #447
- Агент: Исправлено проблему, при которой неиспользуемые узлы переставали запрашивать новые задания. #459
- Сервис: Исправлено очистку узлов, которые не отвечают. #458
- Сервис: Исправлено избыточное логирование большого stdout/stderr от задач. #460
1.11.0
Добавлено* Сервис: Добавлена поддержка шардинга учетных записей хранения корпуса с использованием "Premium" учетных записей хранения для улучшения IOPS. #334
- CLI/Сервис/Agent: Добавлена возможность опционального размещения нескольких совместимых задач на одном узле. Задачи покрытия и отчета о крашах в шаблоне LibFuzzer используют эту функциональность по умолчанию. #402
- CLI: Добавлено
onefuzz debug log tail
, которое позволяет непрерывно следить за результатами запросов Application Insights. #401
- CLI/Agent: Добавлена поддержка проверки целей LibFuzzer в начале задачи с помощью
-help=1
, что позволит выявлять неработоспособные цели LibFuzzer. #381
- CLI/Agent: Добавлена возможность указания, следует ли логировать предупреждение или завершать задачу при выходе целей LibFuzzer с ненулевым кодом возврата (без генерации краша). #381
- Agent: stdout и stderr для надзирателей и генераторов теперь логируются в Application Insights. #400
- Сервис: Включена поддержка SSH-ключей для каждого ScaleSet на Windows VMs, аналогично существующей поддержке Linux, что позволяет использовать
onefuzz debug node ssh
для узлов Windows и Linux. #390
- Agent: Добавлена поддержка результатов ASAN odr-violation. #380
- CLI/Сервис/Agent: Добавлена возможность добавления SSH-ключей к узлам в ScaleSets.#441
- CLI: Добавлена поддержка многоучетных аутентификаций. #346
Изменено* Сервис: Обновление устаревших узлов теперь ограничено 500 узлами за раз. #397
- Сервис: Ограничение агента от доступа к API-конечным точкам, не специфичным для агента. #404
- Сервис: Увеличение времени ожидания выполнения Azure Functions до 15 минут. #384
- Развертывание/Агент: Обновление AFL++ до версии bk 3.00c. #393
- Агент: Добавление случайного начального jitter к ударам сердца агента, что снижает шторм запросов API при одновременном запуске большого количества узлов. #387
Исправлено
- CLI/Агент: Добавление поддержки для проверки целей LibFuzzer на корректное выполнение в начале задачи с помощью
-help=1
. #381
- Сервис: Включение API-конечной точки, используемой командой
onefuzz nodes update
. #412
- Агент: Устранение условия гонки в анализе охвата LibFuzzer без начальных семян. #403
- Агент: Предотвращение обработки дополнительных новых задач контроллером, который завершил работу с ошибкой. #378
- Агент: Устранение проблем при обработке целей LibFuzzer, которые производят выходные данные, не являющиеся UTF-8, в stderr. #379## 1.10.0
Добавлено
-
CLI: Добавлен шаблон задания libfuzzer merge
, который позволяет выполнять минимизацию входных данных LibFuzzer как операцию по пакету. #282
-
CLI/Сервис: Добавлен ключ телеметрии Application Insights для конкретного экземпляра в onefuzz info get
, что позволит логировать в телеметрию Application Insights для конкретного экземпляра из SDK. #353
-
Агент: Добавлена поддержка для парсинга вхождений ASAN CHECK failed
, которые могут возникать при значительном объеме повреждения памяти. #358
-
Агент/Сервис: Добавлена поддержка для парсинга оценки "страшности" ASAN и описания при print_scariness=1
в ASAN_OPTIONS
. #359### Изменено* Agent: Отметьте задачи как неудачные, если приложение под тестом генерирует файл журнала ASAN, который агент не может распарсить. #351
-
Agent: Обновлены задачи libfuzzer_merge
для объединения предварительно существующих входных данных в одном проходе. #282
-
CLI: Уточнены сообщения об ошибках при неудачном префикс-расширении. #342
-
Сервис: pydantic
модели теперь отображаются как JSON при логировании, чтобы предотвратить появление error=None
в журналах ошибок. #350
-
Развертывание: Версия pyOpenSSL теперь закреплена на версию, используемую несколькими библиотеками Azure. #348
-
CLI/Сервис: (ПРЕДВАРИТЕЛЬНАЯ ФУНКЦИЯ) Множество обновлений для управления шаблонами задач. #354, #360, #361### Исправлено
-
Агент: Исправлено проблемное место, препятствующее уведомлению службы о некоторых изменениях состояния. #337
-
Развертывание: Исправлен регресс, связанный с повторной попыткой создания пароля во время развертывания. #338
-
Развертывание: Исправлено загрузки инструментов при откате развертываний. #347
1.9.0
Добавлено
- CLI/Сервис: Добавлены шаблоны задач, управляемые службой как предварительная функция. Включите через
onefuzz config --enable_feature job_templates
. #226
- Сервис/агент: Добавлена внутренняя поддержка для неуправляемых узлов. Это подготовило путь для bring your own compute для фузинга. #318
- CLI: Добавлены подкоманды
onefuzz debug
для упрощения охвата и производительности фузинга для задач libFuzzer из Application Insights. #325
- Сервис: Информация о пользователе, ответственном за создание задач и воспроизводимых виртуальных машин, теперь связана с задачами и воспроизводимыми виртуальными машинами. #327
Изменено
- Развертывание:
deploy.py
теперь автоматически повторяет попытки при неудаче при развертывании Azure Function App. #330
Исправлено* Сервис: Устранены несколько незначительных проблем, ранее скрытых декораторами функций, используемых для кэширования. #322
- Агент: Исправлена поддержка libFuzzer coverage для внутренних сборок MSVC. #324
- Агент: Устранена проблема, препятствующая выполнению скриптов настройки на уровне экземпляра в некоторых случаях. #331
1.8.0
Добавлено
- CLI/Сервис: Добавлены событийные вебхуки. #296
- Сервис: Информация о пользователе, ответственном за создание задач, теперь связана с задачами (эта информация доступна в событийных вебхуках, связанных с задачами). #303
Изменено
- Contrib: Пайплайн развертывания Azure Devops использует функцию
--upgrade
, добавленную в 1.7.0. #304
Исправлено
- Сервис: Исправлены настройки
target_workers
, используемые для конфигурации количества параллельных libFuzzer рабочих процессов внутри задачи. #305
1.7.0
Добавлено* Развертывание: deploy.py
теперь принимает --upgrade
для упрощения обновления развертываний. В настоящее время это пропускает назначение роли управляемого идентификатора, которое требуется только при установке. #271
- CLI: Добавлен интерфейс командной строки для отладки Application Insights. См.
onefuzz debug logs
#281
- CLI: Добавлены уникальные входные данные к типам контейнеров по умолчанию для
onefuzz reset --containers
и onefuzz containers reset
. #290
- CLI: Добавлен
onefuzz debug node
для отладки узла в масштабируемом наборе без необходимости указывать масштабируемый набор. #298### Изменено
- Сервис: При выключении отдельного масштабируемого набора (scaleset), все узлы в этом наборе теперь помечаются для выключения. #252
- Сервис: Идентификаторы субъектов-служб масштабируемых наборов теперь кэшируются как часть соответствующего объекта масштабируемого набора. #255
- Сервис: Соединение узлов, которые выполняли задачу, теперь сохраняется до перезагрузки образа узла, что позволяет легко подключаться к узлу, который выполнял задачу после завершения задачи. #273
- Развертывание: Закреплённая версия
urllib3
из-за несовместимого нового выпуска. #292
- CLI: Удалены вызовы
containers.list
, что значительно улучшило производительность создания шаблонов задач. #289
- Сервис: Больше не используются коды ответа HTTP 404 при регистрации агента. #287
- Агент: Сердцебиения теперь отправляются только как часть цикла выполнения. #283
- Сервис: Переработаны обработчики событий агента, включая более подробное логирование. #261
- Развертывание: Предотвращено разрешение пользователей на включение публичного доступа к контейнерам. #300
Исправлено* Сервис: Исправлены задачи libfuzzer_merge #240
- Сервис: Исправлена проблема, при которой запланированные задачи, ожидавшие в очереди более семи дней, никогда не выполнялись. #259
- Сервис: Удалены устаревшие ссылки на узлы из масштабируемых наборов #275
1.6.0
Добавлено
- Сервис: Сервис теперь автоматически масштабирует количество экземпляров Azure Functions по мере необходимости #238
- CLI/Сервис/Агент: Добавлена возможность настройки интервала синхронизации ансамблей (включая отключение ансамблей полностью) #229
- Вклад: Добавлен пример конвейера Azure DevOps для поддержания экземпляров OneFuzz #233
- Развертывание: Добавлена утилита для создания регистрации приложения CLI #236
- Развертывание/Сервис/Агент: Добавлен уникальный идентификатор UUID для каждого экземпляра в трекинг (см. docs/telemetry.md для дополнительной информации) #245
Изменено* CLI: CLI теперь внутренне кэширует токены авторизации контейнеров #224
- Сервис: Перешли на использование управляемых идентификаторов, назначенных пользователями, для масштабируемых наборов #219
- Агент: Добавлен вывод stdout в журналы ошибок azcopy #247
- Сервис: Увеличены тайм-ауты функций до 5 минут## 1.5.0
Добавлено
- CLI/Service: Добавлена возможность предотвращения сброса виртуальной машины для отладки задач #201
- SDK: Добавлен каталог примеров в пакет Python #216
- Agent: Добавлена устойчивость соединения через автоматическое повторное подключение (с задержкой) по всему агенту #153
- Развертывание: Добавлена возможность логирования паролей приложения во время регистрации #214
- Agent: Метрики охвата LibFuzzer теперь отображаются после фазы постобработки #218
- Развертывание: Добавлена утилита для назначения масштабных наборов ролям #185
- Вклад: Добавлена утилита для автоматизации развертывания новых версий OneFuzz через конвейеры Azure Devops #208
Исправлено
- Agent: Устранена проблема одновременного доступа при синхронизации входных семян #204
Изменено
- Agent: Вместо игнорирования всех нарушений доступа при обработке охвата libFuzzer, останавливаемся на вторичных нарушениях доступа #210
- Agent: При обработке охвата libFuzzer, отключаем стандартные пути символов, если
_NT_SYMBOL_PATH
не установлен через target_env
. #222## 1.4.0
Добавлено
- CLI: Добавлено
onefuzz containers reset
для массового удаления контейнеров по типу. #198, #202
- Agent: Добавлен недостающий утвержденный телеметрический отчет о названиях инструментов и идентификации отчетов об ошибках. #203
Изменено
- Service: Включен выборочный логгинг на уровне сервиса со скоростью 20 записей в секунду. #174
Исправлено
- Service: Исправлено несколько ошибок в сервисе, включая исключение из-за некорректного формата строки при создании прокси или воспроизводимой виртуальной машины. #206
1.3.4
Исправлено
- CLI: Исправлена ошибка при некорректном сбросе компонентов, выбранных по отдельности, введенная в версии 1.3.3. #193
- Service: Исправлены проблемы ограничения частоты запросов MSI и токенов учетной записи хранения. #195
Изменено
- Service: Перемещен SDK для использования тех же моделей
pydantic
, что и сервис при генерации запросов. #191
- Service: Улучшена производительность проверки контейнеров. #196
1.3.3
Исправлено
- Service: Исправлено исключение, возникающее при удалении воспроизводимых и прокси-виртуальных машин. #188## 1.3.2
Добавлено
- Сервис/Агент: Непригодные узлы теперь автоматически переизображаются #154, #164, #30
- CLI: Добавлена более детализированная гранулярность для подкоманды
onefuzz reset
#161, #182
- Развертывание/Агент: Теперь включает AFL++ #7
- Развертывание/Агент: Теперь включает Radamsa для Windows #143
- CLI: TUI для команды
onefuzz status top
теперь позволяет фильтрацию на основе идентификатора задачи, проекта или имени #152
Изменено* Сервис: Узлы больше не должны ждать завершения настройки scale set перед тем, как начать тестирование #144
-
Агент: Агент теперь только уведомляет сервис о своем текущем состоянии при изменении состояния #175
-
Сервис: Сообщения об ошибках задач теперь ограничивают stdout и stderr последними 4096 байтами #170
-
Сервис: Заменил пользовательский очередной цикл событий на таймеры #160, #159
-
Агент: Загрузки, которые завершаются ошибкой, теперь сообщают об ошибке раньше #166
-
Агент: Все таймеры теперь включают автоматическую jitter для снижения пиковых запросов #180
-
Агент: Синхронизация контейнеров ансамбля была унифицирована до раз в 60 секунд (плюс jitter) #180
-
Агент: При неудаче агента, он больше не будет некорректно заново регистрироваться и запрашивать новую работу. #150, #146### Исправлено
-
Развертывание: Устранил проблему с вложенными исключениями, активированными во время неудачного развертывания #172
-
Развертывание: Устранил предупреждения о несовместимых библиотеках предварительных условий во время развертывания #167
1.3.1
Добавлено
- Тестирование: Добавлено тестирование на rust с использованием libFuzzer в интеграционных тестах #132
Исправлено
- Агент: Всегда парсит stderr при генерации отчетов о сбоях для LibFuzzer вместо использования
ASAN_OPTIONS=log_path
, что исправляет отчеты о сбоях, не связанные с санитайзером. #131
- Развертывание: Добавлен скрипт миграции данных для исправления уведомлений для предварительных выпусков #135
1.3.0
Добавлено
- Агент: Отчеты о сбоях для LibFuzzer теперь пытаются распарсить stderr в дополнение к
ASAN_OPTIONS=log_path
. Это позволяет создавать отчеты о сбоях для двоичных файлов, основанных на go-fuzz. #127
- Развертывание: В процессе развертывания, логи App Insights могут быть настроены для автоматического экспорта логов в контейнер
app-insights
в инстанспецифическом хранилище func
. #102
Изменено* Agent: Уменьшены логи, отправляемые агентом #125
-
Service: Теперь масштабируемые наборы используют несколько групп размещения, что позволяет масштабируемому набору расти до 1000 узлов (или 600, если используется пользовательский образ). #121### Исправлено
-
Развертывание: Поддержка развертывания дополнительных платформ (например, macOS). #126
-
Service: Исправлены орфографические ошибки в сортировке TaskEvent. #129
1.2.0
Добавлено
- CLI/Service: Добавлена возможность создания и обновления GitHub Issues на основе отчетов о сбоях. #110
Изменено
- Agent: LibFuzzer, который завершает работу с ненулевым кодом завершения без результата сбоя, теперь помечается как неудачный. #108
- Service: Автоматическая переменная
repro_cmd
, используемая в уведомлениях о сбоях, теперь включает --endpoint URL
для уменьшения трений для пользователей с несколькими экземплярами OneFuzz. #113
1.1.0### Добавлено* Agent/Service: Добавлена возможность автоматического переобразования устаревших узлов #35
- Развертывание: Добавлены скрипты миграции данных для предварительных установок #12
- SDK/CLI: Добавлены дополнительные подкоманды
onefuzz debug
для поддержки отладки задач #95
- Agent: Добавлены
machine_id
и version
в сообщения журнала #94
- Service: Ошибки при создании элементов работы Azure Devops из отчетов теперь помечают задачу как неудачную #77
- Service: Узлы, выполняющие задачу, теперь включаются при получении деталей задачи (например,
onefuzz tasks get $TASKID
) #54
- SDK: Добавлен пример Azure Functions, использующий SDK #56
- SDK/CLI: Добавлена возможность автоматического выполнения команд отладчика во время
repro
#39
- CLI: Добавлена документация подкомандных аргументов CLI (используется для описания
afl_container
в шаблонах AFL) #10
- Agent: Добавлен переменный окружения
ONEFUZZ_TARGET_SETUP_PATH
, указывающий путь к контейнеру специфичного для задачи настроек на узлах для тестирования #15
- CICD: Использование sccache для ускорения времени сборки #47* SDK: Добавлен скрипт интеграционного тестирования end-to-end для проверки полных пайплайнов тестирования #46
- Документация: Добавлены определения для pool, node и scale set #17
Изменено* Agent/Service: Переработана система управления состоянием для надзирателей на виртуальных машинах #96
- Agent: Добавлен семафор 'done' в агент для предотвращения получения дополнительной работы после сброса узла. #86
- Agent: Узлы теперь спят дольше между проверками на наличие новой работы. #78
- Agent: Часы выполнения задачи теперь запускаются, когда задача находится в состоянии 'установка'. #82
- Service: Основательно уменьшены логи, отправляемые в App Insights от библиотек третьих сторон. #63
- Agent/Service: Добавлена возможность обновления устаревших виртуальных машин при запросе новых задач. #35
- CICD: Нелинейные сборки теперь включают хэш GIT в версии и
localchanges
, если сборка выполнена локально с неподтвержденными изменениями. #58
- Agent: Замены команд теперь используют абсолютные пути вместо относительных. #22### Исправлено* CLI: Исправлена проблема использования
onefuzz template stop
, которая некорректно завершала задачи, имеющие одинаковые значения 'name', но разные значения 'project'. #97
- Agent: Исправлена расшифровка входного маркера (используется в шаблонах AFL, связанных с обработкой
@@
). #87
- Service: Ошибки, возникающие после начала завершения задачи, игнорируются. #83
- Agent: Инструменты, специфичные для экземпляра, теперь корректно загружаются и выполняются на узлах Windows. #81
- CLI: Использование
--wait_for_running
в задачах onefuzz template
теперь корректно ожидает запуска задач перед завершением. #84
- Service: Обработаны дополнительные ошибки уведомлений Azure DevOps. #80
- Agent: Сервис WSearch теперь корректно отключен по умолчанию на виртуальных машинах Windows. #67
- Service: Корректно удаляются виртуальные машины
repro
. #36
- Agent: Supervisor теперь записывает логи в Application Insights при завершении. #21
- Agent: Неудачи в скриптах настройки задач теперь корректно фиксируются как неудачные задачи и запускают перезагрузку образа узла. #24
1.0.0### Добавлено
- Первоначальное публичное релизирование
Опубликовать ( 0 )