All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
- Testing: Added rust based libfuzzer in the end-to-end integration tests #132
- Agent: Always parse STDERR when generating crash reports for LibFuzzer instead of using
ASAN_OPTIONS=log_path
, which fixes crash reports from non-sanitizer based crashes. #131 - Deployment: Added data-migration script to fix notifications for pre-release installs #135
- Agent: Crash reports for LibFuzzer now attempts to parse STDERR in addition to
ASAN_OPTIONS=log_path
. This enables crash reporting of go-fuzz based binaries. #127 - Deployment: During deployment, App Insights logs can be configured to automatically export logs to the
app-insights
container in instance specificfunc
storage account. #102
- Agent: Reduced logs sent from the agent #125
- Service: Scalesets now use multiple placement groups, allowing a scaleset to grow to 1000 nodes (or 600 if using a custom image). #121
- Deployment: Support deploying additional platforms (such as OSX). #126
- Service: Fixed typing error in sorting TaskEvent. #129
- CLI/Service: Added creating and updating Github Issues based on crash reports. #110
- Agent: Libfuzzer fuzzing that exits with a non-zero exit code without a resulting crashing input now mark the task as failed. #108
- Service: The automatic variable
repro_cmd
used in crash report notifications now includes '--endpoint URL' to reduce friction for users with multiple OneFuzz instances. #113
- Agent/Service: Added the ability to automatically re-image nodes that are out-of-date #35
- Deployment: Added data-migration scripts for pre-release installs #12
- SDK/CLI: Added more
onefuzz debug
sub-commands to support debugging tasks #95 - Agent: Added machine_id and version to log messages #94
- Service: Errors in creating Azure Devops work items from reports now mark the task as failed #77
- Service: The nodes executing a task are now included when fetching details for a task (such as
onefuzz tasks get $TASKID
) #54 - SDK: Added example Azure Functions that uses the SDK #56
- SDK/CLI: Added the ability to execute debugger commands automatically during
repro
#39 - CLI: Added documentation of CLI sub-command arguments (used to describe
afl_container
in AFL templates #10 - Agent: Added
ONEFUZZ_TARGET_SETUP_PATH
environment variable that indicates the path to the task specific setup container on the fuzzing nodes #15 - CICD: Use sccache to speed up build times #47
- SDK: Added end-to-end integration test script to verify full fuzzing pipelines #46
- Documentation: Added definitions for pool, node, and scaleset #17
- Agent/Service: Refactored state management for on-vm supervisors #96
- Agent: Added 'done' semaphore to the agent to prevent agent from fetching additional work once the node should be reset. #86
- Agent: Nodes now sleep longer between checking for new work. #78
- Agent: The task execution clock is now started once the task is in the 'setting up' state #82
- Service: Drastically reduced logs sent to App Insights from third-party libraries #63
- Agent/Service: Added the ability to upgrade out-of-date VMs upon requesting new tasking #35
- CICD: Non-release builds now include the GIT hash in the versions and
localchanges
if built locally with uncommited code. #58 - Agent: Command replacements now use absolute rather than relative paths. #22
- CLI: Fixed issue using
onefuzz template stop
which would improperly stop jobs that had the same 'name' but different 'project' values. #97 - Agent: Fixed input marker expansion (used in AFL templates related to handling
@@
). #87 - Service: Errors generated after the task shutdown has started are ignored. #83
- Agent: Instance specific tools now download and run on windows nodes as expected #81
- CLI: Using
--wait_for_running
inonefuzz template
jobs now properly waits for tasks to launch before exiting #84 - Service: Handled more Azure Devops notification errors #80
- Agent: WSearch service is now properly disabled by default on Windows VMs #67
- Service: Properly deletes
repro
VMs #36 - Agent: Supervisor now flushes logs to appinsights upon exit #21
- Agent: Task specific setup script failures now properly get recorded as a failed task and trigger the node to be re-imaged #24
- Initial public release