32 Commits

Author SHA1 Message Date
bmc-msft
305c23a4d9
add instance information to webhooks (#577)
Fixes #574
2021-02-19 21:00:51 +00:00
bmc-msft
4992b494f1
add task config to all task events (#580) 2021-02-19 14:10:48 -05:00
bmc-msft
933fe6850c
libfuzzer-dotnet integration (#535) 2021-02-11 17:30:24 -05:00
bmc-msft
bdcab6eb08
handle tokens from x-ms-token-aad-id-token (#531) 2021-02-10 12:41:15 -05:00
bmc-msft
cdfdc2be84
split telemetry into it's own crate (#501)
Splits out telemetry crate such that it can be reused by other components (specifically the proxy-manager) easily.
2021-02-04 14:46:35 +00:00
bmc-msft
5acb59e5b9
Add task_id & job_id to variable expansion (#481)
Fixes #479 

Note, this is built on top of #480
2021-01-29 15:35:59 +00:00
bmc-msft
a46f7b4193
expose supervisor tasks that are fully self-contained fuzzing tasks in the service (#474)
Exposes the functionality added in #454 to the service & CLI.

Fixes #439
2021-01-29 00:01:59 +00:00
bmc-msft
07760bf967
Update expansion documentation to describe nested options as implemented (#475)
This expands the documentation to demonstrate how nested lists are handled in practice, as well as to provide examples for how to deal with the nested list expansion.
2021-01-28 17:12:48 +00:00
nharper285
24685ca8df
Updating Windows Default Image from RS5-Pro to 20H2-Pro (#469)
RS5-Pro is no longer updated in the Azure Marketplace. In order to ensure the Windows 10 VMs are regularly updated, we need to switch the default image to 20H2-Pro, which is regularly maintained.
2021-01-27 13:46:46 +00:00
bmc-msft
165257e989
update python prereqs (#427)
Updates the following libraries in the service:
* azure-core
* azure-functions
* azure-identity
* azure-keyvault-keys
* azure-keyvault-secrets
* azure-mgmt-compute
* azure-mgmt-core
* azure-mgmt-loganalytics
* azure-mgmt-network
* azure-mgmt-resource
* azure-mgmt-storage
* azure-mgmt-subscription
* azure-storage-blob
* azure-storage-queue
* pydantic
* requests
* jsonpatch

Removes the following libraries in the service:
* azure-cli-core
* azure-cli-nspkg
* azure-mgmt-cosmosdb
* azure-servicebus

Updates the following libraries in the CLI:
* requests
* semver
* asciimatics
* pydantic
* tenacity

Updates the following libraries in onefuzztypes:
* pydantic

The primary "legacy" libraries are [azure-graphrbac](https://pypi.org/project/azure-graphrbac/) and azure-cosmosdb-table.  The former has not been updated to use azure-identity yet. The later is being rewritten as [azure-data-tables](https://pypi.org/project/azure-data-tables/), but is still in early beta.
2021-01-25 20:53:40 +00:00
bmc-msft
7e6415b15f
ensure consistency in doc generation by always sorting json keys (#449) 2021-01-21 15:28:11 +00:00
bmc-msft
efaa381899
Add missing prerequisites to the Getting Started guide (#435)
Fixes #434
2021-01-16 09:07:13 +00:00
Cheick Keita
a89065f882
adding {setup_dir} to variable expansion (#417)
## Summary of the Pull Request

Adds a new placeholder {setup_dir} for the setup directory 

## PR Checklist
* [x] Applies to work item: #221
* [x] CLA signed. If not, go over [here](https://cla.opensource.microsoft.com/microsoft/onefuzz) and sign the CLI.
* [x] Requires documentation to be updated
* [x] I've discussed this with core contributors already. If not checked, I'm ready to accept this work might be rejected in favor of a different grand plan. Issue number where discussion took place: #xxx

## Info on Pull Request

_What does this include?_

## Validation Steps Performed

_How does someone test & validate?_
2021-01-13 00:39:59 +00:00
bmc-msft
513d1f52c9
Unify Dashboard & Webhook events (#394)
This change unifies the previously adhoc SignalR events and Webhooks into a single event format.
2021-01-11 21:43:09 +00:00
bmc-msft
c1a50f6f6c
Colocate tasks (#402)
Enables co-locating multiple tasks in a given work-set.

Tasks are bucketed by the following:
* OS
* job id
* setup container
* VM SKU & image (used in pre-1.0 style tasks)
* pool name (used in 1.0+ style tasks)
* if the task needs rebooting after the task setup script executes.

Additionally, a task will end up in a unique bucket if any of the following are true:
* The task is set to run on more than one VM
* The task is missing the `task.config.colocate` flag (all tasks created prior to this functionality) or the value is False

This updates the libfuzzer template to make use of colocation.  Users can specify co-locating all of the tasks *or* co-locating the secondary tasks.
2021-01-06 13:49:15 +00:00
bmc-msft
37f06bb324
handle libfuzzer fuzzing non-zero exits better (#381)
When running libfuzzer in 'fuzzing' mode, we expect the following on exit.

If the exit code is zero, crashing input isn't required.  This happens if the user specifies '-runs=N'

If the exit code is non-zero, then crashes are expected.  In practice, there are two causes to non-zero exits.
1. If the binary can't execute for some reason, like a missing prerequisite
2. If the binary _can_ execute, sometimes the sanitizers are put in such a bad place that they are unable to record the input that caused the crash.

This PR enables handling these two non-zero exit cases.

1. Optionally verify the libfuzzer target loads appropriately using `target_exe -help=1`.  This allows failing faster in the common issues, such a missing prerequisite library.
2. Optionally allow non-zero exits without crashes to be a warning, rather than a task failure.
2021-01-05 14:40:15 +00:00
bmc-msft
56090cb01d
Demonstrate a more complex template management (#366)
Add a job_template example that demonstrates customization of the arguments to the job. 

This example demonstrates setting the Area and Iteration paths for Azure Devops work items.
2020-12-05 12:30:37 +00:00
Cheick Keita
f1b4efc5ff
Add troubleshooting guide for the registration issue at deployment (#362) 2020-12-02 18:54:29 -05:00
bmc-msft
fd131c63bf
Document managing declarative templates (#361) 2020-12-02 14:18:45 -05:00
Cheick Keita
33b7608aaf
Adding option to merge all inputs at once (#282) 2020-11-24 08:43:08 -05:00
bmc-msft
64bd389eb7
Declarative templates (#266) 2020-11-17 16:00:09 -05:00
bmc-msft
c4f266ee00
fix webhook events doc link (#316) 2020-11-16 18:45:54 -05:00
bmc-msft
beea318968
Add User Info to created tasks (#303)
This PR makes user information from JWT tokens available as part of a Task.

Included changes:
* Renamed `verify_token` to `call_if_agent`, since this function is specific to agent token verification
* Renames `is_authorized` to `is_agent`, since this function checks if the token is an agent
* Adds support for unmanaged nodes in `is_agent` (see #133 for information) 
* Saves the user information from the JWT token on task create as part of `TaskConfig`

Note, `TaskConfig` is what is provided to notification templates.  This enables Github issues and ADO work items to tie back to the user that created the task.

Note, while `upn` _usually_ means email for AAD user tokens.  If we were going to make use of the email address, we should perform a graph lookup based on the `oid`, but we're not.
2020-11-13 11:50:52 +00:00
bmc-msft
31f099d3d4
Event based webhooks (#296) 2020-11-12 17:44:42 -05:00
bmc-msft
6c598773dd
add instance_id generated at install time (#245) 2020-11-02 14:27:51 -05:00
van Hauser
5f7105fd59
afl++ addition (#7) 2020-10-15 09:41:49 -04:00
bmc-msft
5c4a873d51
add basic contributors guide (#117) 2020-10-07 18:18:20 -04:00
bmc-msft
9df3b5d49a
Add github issues integration (#110) 2020-10-07 11:54:43 -04:00
bmc-msft
a28538a151
add definitions for pool, node, and scaleset (#17)
* add defs for pool, node, and scaleset
2020-09-22 10:40:59 -04:00
bmc-msft
7d27b6a008
set ONEFUZZ_TASK_SETUP_PATH prior to executing task setup (#15)
* set ONEFUZZ_TARGET_SETUP_PATH prior to executing task setup
2020-09-22 09:57:39 -04:00
bmc-msft
31f4c51b87
remove internal work item refs (#6) 2020-09-18 17:31:57 -04:00
Brian Caswell
d3a0b292e6 initial public release 2020-09-18 12:21:04 -04:00