Commit Graph

147 Commits

Author SHA1 Message Date
0c3d9fcad2 Add CLI command to download agent logs (#1723)
* It does some things

* Download logs from job config

* Lint

* Make mypy happy

* Update to handle the new logs path

* progress

* A job might not have logs set in config

* Mypy wanted a type annotation
2022-04-05 15:35:15 -04:00
424ffdb4b5 Adding auto scale via cli (#1717)
* Initial implementation for adding auto scale via cli

* Remove unused argument

* Remove unused import

* I had a 👻extra line👻
2022-03-29 09:50:07 -04:00
24454e3681 pin click to fix black (#1726)
* pin click to fix black

* missed a couple

Co-authored-by: stas <statis@microsoft.com>
2022-03-28 12:06:13 -07:00
d4c92d497f Add type definition (#1703) 2022-03-09 23:52:06 +00:00
77dcd57b46 Add EventGrid compatible webhook format (#1640) 2022-02-11 16:39:19 -08:00
62731f3836 bump azure-cli-core and azure-cli to 2.32.0 (#1634) 2022-02-02 17:38:46 -08:00
dab0dba34f Fix lint warning (#1631) 2022-01-31 15:59:20 +00:00
b49d140ff0 Add fuzzer_target_options to libfuzzer basic template (#1610) 2022-01-26 20:31:13 -08:00
1731ca4dde Bump requests to 2.27.1 (#1567)
Co-authored-by: stas <statis@microsoft.com>
2022-01-12 07:29:34 -08:00
c5421894c1 bump azure-cli and azure-cli-core to 2.31.0 (#1557)
* bump azure-cli and azure-cli-core to 2.31.0

and all required dependencies

* Update src/cli/onefuzz/cred_wrapper.py

Co-authored-by: Joe Ranweiler <joe@lemma.co>

* updating credential wrapper

* Update src/cli/onefuzz/azure_identity_credential_adapter.py

Co-authored-by: Joe Ranweiler <joe@lemma.co>

* updating credential wrapper

* .

Co-authored-by: stas <statis@microsoft.com>
Co-authored-by: Joe Ranweiler <joe@lemma.co>
2022-01-05 07:11:24 -08:00
1de2cc841d Check-pr creates and uses SP. (#1504)
* Check-pr creates and uses SP.

* flake8.

* flake8.

* Fixing var name.

* Fixing deploy.py

* Looking for client_secret

* Change to check_output.

* mypy fix.

* Fixing check-pr

* working version.

* lint

* Updating arg text.

* Removing redundant functionality.

* Changing register codepath and adding flag.

* Removing pycache file.

* Fixing unattended flag.

* Adding space.

* Fixing a few calls.

* Removing file.

* Removing python3.

* Removing old file.

* Adding wait into registration.py

* Formatting registration.py.

* Removing space.

* Adding retry logic to check-pr.

* Formatting.

* Retriggering.

* Retriggering.

* Calling sp_create and adding retry to authorize.

* Fixing syntax.

* Removing comments.

* Adding another retry.

* Retriggering.

* Retriggering.

* Retriggering.

* Trying to find error.

* Adding retry logic.

* Increasing sleep.

* Fixing formatting.

* Retriggering.

* Removing bad file.

* Trying out retry for logger.

* typevar issue?

* Re-adding.

* Retriggering.

* retriggering.

* Retriggering.

Co-authored-by: nharper285 <nharper285@gmail.com>
Co-authored-by: Cheick Keita <kcheick@gmail.com>
2021-12-17 09:44:04 -08:00
bb972c22f4 pin mypy to 0.910 (#1531)
https://github.com/samuelcolvin/pydantic/issues/3528

https://github.com/python/mypy/issues/6617#issuecomment-892438903
https://github.com/samuelcolvin/pydantic/pull/3175#issuecomment-914897604

updating mypy in build yml and requirements to 0.910

Co-authored-by: stas <statis@microsoft.com>
2021-12-16 14:13:54 -08:00
7cabc6b924 Remove generic reset command (#1511)
* Remove generic reset command

Remove ability to reset containers by type.
Work item #1508

* Test to see if we are getting timeouts when attempting to get a queue message.

* Remove exception handling for timeout.
2021-12-13 17:21:39 -08:00
2f136d4b8e exposing the target_timeout paramter through the radamsa template (#1499) 2021-12-01 19:22:45 +00:00
7c86a3d7d9 Fix client_secret auth (#1376)
- Stop strying new scopes when encountering an unexpected error
2021-10-26 11:27:24 -07:00
98578da557 catch up SDK version in examples to OneFuzz released version (#1396)
Co-authored-by: stas <statis@microsoft.com>
2021-10-26 08:26:01 -07:00
98cd7c9c56 migrate to msgraph (#966)
* migrate to msgraph

* add subscription id to query_microsoft_graph

* migrating remaingin references

* formatting

* adding missing dependencies

* flake fix

* fix get_tenant_id

* cleanup

* formatting

* migrate application creation in deploy.py

* foramt

* mypy fix

* isort

* isort

* format

* bug fixes

* specify the correct signInAudience

* fix backing service principal creation
fix preauthorized application

* remove remaining references to graphrbac

* fix ms graph authentication

* formatting

* fix typo

* format

* deployment fix

* set implicitGrantSettings in the deployment

* format

* fix deployment

* fix graph authentication on the server

* use the current cli logged in account to retrive the backend token cache

* assign the the msgraph app role permissions to the web app during the deployment

* formatting

* fix build

* build fix

* fix bandit issue

* mypy fix

* isort

* deploy fixes

* formatting

* remove assign_app_permissions

* mypy fix

* build fix

* mypy fix

* format

* formatting

* flake fix

* remove webapp identity permission assignment

* remove unused reference to assign_app_role

* remove manual registration message

* fixing name and logging

* address PR coments

* address PR comments

* build fix

* lint

* lint

* mypy fix

* mypy fix

* formatting

* address PR comments

* linting

* lint

* remove ONEFUZZ_AAD_GROUP_ID check

* regenerate webhook_events.md

* change return type of query_microsoft_graph_list

* fix tenant_id

Co-authored-by: Marc Greisen <marc@greisen.org>
Co-authored-by: Stas <stishkin@live.com>
2021-10-22 11:59:05 -07:00
e5c3e60b8a Bump azure cli to 2.27.2 (#1355)
* Bump azure cli to 2.27.2

* fixing up add-corpus-storage-account script

Co-authored-by: stas <statis@microsoft.com>
2021-10-13 11:27:48 -07:00
ddd82f9931 Fix authentication with client secret (#1300)
* Fix authenticatio
2021-09-29 15:56:32 -07:00
d3bcbea980 Increase default level of feedback/confirmation in destructive commands #1264 (#1283)
Co-authored-by: stas <statis@microsoft.com>
2021-09-27 09:59:56 -07:00
d034664cb3 update msal to 1.14.0 (#1278) 2021-09-24 16:45:03 +00:00
9413377c90 handle fake crash reports generated by debugging tools in regression tasks (#1233) 2021-09-22 17:16:35 +00:00
80456f1237 Added support for --readonly_inputs for libfuzzer basic template (#1247) 2021-09-21 16:51:25 +00:00
84bb5d0105 temporarily ignore type errors from azure-storage-blob (#1258) 2021-09-21 11:42:41 -04:00
2e267a894f Move to using api:// for AAD Application "identifier uris" (#1243) 2021-09-17 14:04:19 -04:00
f569bc8427 fix rendering SecretData for jmespath filtering (#1223)
Co-authored-by: Brian Caswell <bmc@shmoo.com>
2021-09-03 16:39:44 -04:00
e138945467 Fix rendering datetime and None in CLI (#1221) 2021-09-02 16:32:14 +00:00
77434e476a resolve set as list for passing to jmespath (#1208)
Co-authored-by: Brian Caswell <bmc@shmoo.com>
2021-08-30 20:39:49 +00:00
ce7c121b84 add command to give basic information on a pool (#1170) 2021-08-24 18:28:38 +00:00
281ed4a99d display VM Count for tasks (#1169)
Co-authored-by: Brian Caswell <bmc@shmoo.com>
2021-08-24 17:04:50 +00:00
d2332b8519 don't retry on service-level errors (#1129) 2021-08-11 11:34:54 -04:00
5efc676f9a update memoization to 0.4.0 (#1124)
This primarily meant to enable addressing a warning for caching functions without arguments.

https://github.com/lonelyenvoy/python-memoization/releases/tag/v0.4.0
2021-08-05 15:48:10 +00:00
198d765cb4 Add generic_analysis example that performs coverage analysis (#1072)
This adds an example script and tool that enables LLVM source-based coverage using the `generic_analysis` task.

This provides:
1. sample python script that launches the template and then the analysis task
1. sample `analysis_exe` wrapper script that launches the LLVM coverage tools
1. sample libfuzzer target for the example
1. walk through submitting the jobs and inspecting the results
2021-07-21 17:12:24 +00:00
f151591322 update python dependencies (#1086) 2021-07-21 12:07:52 -04:00
065272191e Replace notifications by default (#1084) 2021-07-20 18:39:31 -04:00
59fea7e3b7 extend requests read timeout (#1068) 2021-07-14 15:33:28 -04:00
1121ebc6e8 fix issue specifying target_options for libfuzzer targets (#1066) 2021-07-14 14:38:35 -04:00
36d682aadf make invalid AZCOPY environment variables more clear (#1061) 2021-07-13 15:07:57 -04:00
15063908b0 update azure-cli to 2.26.0 (#1045) 2021-07-07 12:07:34 -04:00
636d267585 update azure-cli to 2.25.0 (#922) 2021-07-07 13:28:06 +00:00
314fb18ca8 save the EventType enum name for status top (#1037) 2021-07-02 12:17:28 -04:00
29dda54b83 instance wide configuration (#1010)
TODO:
* [x] add setting initial set of admins during deployment
2021-06-30 21:13:58 +00:00
27b434e996 fix debug report (#1011)
The debug report created by the command `onefuzz debug  notification job <job id>`  is causing a crash in the regression task 
```
error running task: libfuzzer regression

Caused by:
    0: handling crash reports
    1: unable to parse crash report: fake-crash-sample.json
    2: unable to parse report: task_unique_reports_2/fake-crash-sample.json - "{\"input_url\": null, \"input_blob\": {\"account\": \"fuzz27ee6imdmr5gy\", \"container\": \"oft-crashes-cecbd958a1f257688f9768edaaf6c94d\", \"name\": \"fake-crash-sample\"}, \"executable\": \"fuzz.exe\", \"crash_type\": \"fake crash report\", \"crash_site\": \"fake crash site\", \"call_stack\": [\"#0 fake\", \"#1 call\", \"#2 stack\"], \"call_stack_sha256\": \"0000000000000000000000000000000000000000000000000000000000000000\", \"input_sha256\": \"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855\", \"asan_log\": \"fake asan log\", \"task_id\": \"b1107de0-c3cb-43ff-ab68-5accc579f4d4\", \"job_id\": \"afa45e3e-9a75-4a47-8d59-ef3154599fc7\", \"scariness_score\": null, \"scariness_description\": null, \"minimized_stack\": null, \"minimized_stack_sha256\": null, \"minimized_stack_function_names\": null, \"minimized_stack_function_names_sha256\": null}"
```
2021-06-24 00:57:58 +00:00
cb895d09c7 fix GithubIssueTemplate deserialization (#990) 2021-06-17 13:02:28 -04:00
4472d584ac handle serialization of secrets sent from the CLI (#985)
This normalizes the SecretData serialization from the client to address #981.

When serializing objects sent to the service with secrets, we would turn it into a SecretData

We use SecretData to convert this:
`{"auth": {"user": "A", "personal_access_token": "B"}}`
to this:
`"auth": { "secret": { "url": "https://KEYVAULT-URL" }}`

Currently, in the case we have a SecretData we've not yet saved, the serialized form looks like this:
`{"auth": { "secret": {"user": "A", "personal_access_token": "B"}}}`

This PR simplifies the client side serialization to this:
`{"auth": {"user": "A", "personal_access_token": "B"}}`
2021-06-12 14:39:14 +00:00
da931b3a5c address issues raised from latest mypy (#972) 2021-06-09 12:04:24 -04:00
2d377d1423 add onefuzz debug job rerun JOB_ID command (#960)
This allows the specification of an alternate pool or duration when rerunning an existing job.
2021-06-07 20:53:34 +00:00
2c72bd590f Add generic coverage task (#763)
**Todo:**
- [x] Finalize format for coverage file(s)
- [x] Add service support
- [x] Integration test
- [x] Merge #926 
- [x] Merge #929
2021-06-03 23:36:00 +00:00
c46abbcec3 stabilize onefuzz jobs containers download (#953) 2021-06-02 13:29:20 -04:00
1822acf943 add onefuzz jobs containers delete JOB_ID (#949)
Addresses #943
2021-06-02 17:04:51 +00:00