Create Lambda to periodically maximize Fuzz Corpus & send PR with updated Corpus
Depends on: https://github.com/awslabs/s2n/issues/385 and https://github.com/awslabs/s2n/issues/448
Essentially every 24 hours, the s2n-fuzz-bot lambda should:
- Clone latest master branch, download and install dependencies (Defined in Issue https://github.com/awslabs/s2n/issues/385)
- Run Script to repeatedly run
make fuzzuntil no new Fuzz Corpus Inputs are generated for some interval (Eg 60 minutes) (Defined in Issue https://github.com/awslabs/s2n/issues/448) - If new Corpus Inputs were found, send a PR to the official s2n GitHub Repository with those new Corpus Inputs. (And hopefully these new files will be merged before the next iteration of the
s2n-fuzz-bot) - If crash is found, save Corpus to S3 and notify s2n developers instead of opening PR
This is something that I'd like to set up as a Lambda Function to run every 24 hours, so that as we are making changes to s2n, our Corpus Inputs will always stay up to date. This script will probably have to depend on some Github CLI (https://github.com/github/hub looks good) to be able to send Pull Requests, and will probably need it's own s2n-fuzz-bot Github account since I don't think GitHub supports anonymous Pull Requests.
Related: https://github.com/awslabs/s2n/issues/1447
Resolved in https://github.com/aws/s2n-tls/pull/4665