Skip to content

Fix untrusted remote batch fuzz tasks to pass signed URLs - #5458

Open
dylanjew wants to merge 1 commit into
masterfrom
dylanj/fuzz-utask
Open

Fix untrusted remote batch fuzz tasks to pass signed URLs#5458
dylanjew wants to merge 1 commit into
masterfrom
dylanj/fuzz-utask

Conversation

@dylanjew

@dylanjew dylanjew commented Sep 4, 2026

Copy link
Copy Markdown
Collaborator

Ensure tworkers create signed URLs for fuzz tasks by changing is_remote_utask to evaluate fuzz tasks specifically based on architecture.

Blackbox fuzzers on linux which require data bundles like inferno_webbot and lokihardt_jshitter are broken because they can't access their data bundles. Before the batch migration was complete, they fetched it as trusted linux bots through gsutil. Now, the tworker doesn't generate a signed URL because the fuzz task is evaluating to UtaskLocalExecutor and so it is skipped, leaving the untrusted linux batch bot without the signed URLs for the data bundle

This is somewhat hardcoded to fuzz tasks, but the execution of fuzz tasks is unique.

Fixes b/556617562

Testing

I will push to dev and test this before merging.

@dylanjew
dylanjew requested a review from a team as a code owner September 4, 2026 13:11
@dylanjew dylanjew changed the title Check for untrusted remote batch fuzz tasks to pass signed URLs Fix untrusted remote batch fuzz tasks to pass signed URLs Sep 4, 2026
self.assertTrue(result)

def test_linux_fuzz_tworker_swarming(self):
"""Tests that on an orchestration tworker, is_remote_utask returns False for

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

this confuses me but is the current behavior of the code. I guess swarming relies on different checks?

@dylanjew
dylanjew requested a review from vitaliset September 4, 2026 13:45
@dylanjew

dylanjew commented Sep 4, 2026

Copy link
Copy Markdown
Collaborator Author

Assigning to the sheriff, but if anyone on your team has more context here outside of Javan feel free to reassign. I'm not too familiar with the architecture here

@dylanjew

dylanjew commented Sep 4, 2026

Copy link
Copy Markdown
Collaborator Author

For testing in dev, do you know what types of bots we have? Are they all remote batch? I'm not sure whether we have any trusted long running bots in dev

@dylanjew

dylanjew commented Sep 4, 2026

Copy link
Copy Markdown
Collaborator Author

For testing in dev, do you know what types of bots we have? Are they all remote batch? I'm not sure whether we have any trusted long running bots in dev

I don't see any batch vms in clusterfuzz-development

And then in the logs, I looked at the logs for attekett_dom_fuzzer which ran in clusterfuzz-linux-pre-regional-nmkg. preprocess showed Not getting signed data bundle URLs. which I think is because we didn't migrate dev to batch to match prod.

There's also a bunch of idle clusterfuzz-linux bots in dev, unlike in prod where there aren't any and there are bots starting with j- which is batch

@dylanjew

dylanjew commented Sep 4, 2026

Copy link
Copy Markdown
Collaborator Author

Ok, the batch bots in dev were down due to the pubsub topics being down. So I can see batch bots in dev picking up the fuzz task.

however, there's still an issue: logs show that the signed URLs are still not getting passed into the uworker and the databundle is attempting to take the normal path and not untrusted path.

I'm going to try to see what's wrong with this fix

@dylanjew

dylanjew commented Sep 8, 2026

Copy link
Copy Markdown
Collaborator Author

I found some logs where a tworker did successfully pass the signed URL to a batch bot. I think the batch bots that weren't getting the URLs in dev are due to the inconsistent configuration

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant