From 45345c709912debed7ad5f4fb0ac7c6bba77203f Mon Sep 17 00:00:00 2001 From: Mayhem User Date: Sun, 24 Apr 2022 03:29:45 -0400 Subject: [PATCH] added mayhem stuff --- .github/workflows/mayhem.yml | 59 ++++++++++++++++++++++++++++++++++++ Dockerfile | 33 ++++++++++++++++++++ Mayhemfile | 14 +++++++++ 3 files changed, 106 insertions(+) create mode 100644 .github/workflows/mayhem.yml create mode 100644 Dockerfile create mode 100644 Mayhemfile diff --git a/.github/workflows/mayhem.yml b/.github/workflows/mayhem.yml new file mode 100644 index 00000000..f8285b51 --- /dev/null +++ b/.github/workflows/mayhem.yml @@ -0,0 +1,59 @@ +name: Mayhem +on: + push: + pull_request: + workflow_dispatch: + +env: + REGISTRY: ghcr.io + IMAGE_NAME: ${{ github.repository }} + MAYHEMFILE: Mayhemfile + +jobs: + build: + name: "${{ matrix.os }} shared=${{ matrix.shared }} ${{ matrix.build_type }}" + runs-on: ${{ matrix.os }} + strategy: + matrix: + os: [ubuntu-latest] + shared: [false] + build_type: [Release] + include: + - os: ubuntu-latest + triplet: x64-linux + + steps: + - uses: actions/checkout@v2 + + - name: Log in to the Container registry + uses: docker/login-action@f054a8b539a109f9f41c372932f1ae047eff08c9 + with: + registry: ${{ env.REGISTRY }} + username: ${{ github.actor }} + password: ${{ secrets.GITHUB_TOKEN }} + + - name: Extract metadata (tags, labels) for Docker + id: meta + uses: docker/metadata-action@98669ae865ea3cffbcbaa878cf57c20bbf1c6c38 + with: + images: ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }} + + - name: Build and push Docker image + uses: docker/build-push-action@ad44023a93711e3deb337508980b4b5e9bcdc5dc + with: + context: . + push: true + tags: ${{ steps.meta.outputs.tags }} + labels: ${{ steps.meta.outputs.labels }} + + - name: Start analysis + uses: ForAllSecure/mcode-action@v1 + with: + mayhem-token: ${{ secrets.MAYHEM_TOKEN }} + args: --image ${{ steps.meta.outputs.tags }} --file ${{ env.MAYHEMFILE }} + sarif-output: sarif + + - name: Upload SARIF file(s) + uses: github/codeql-action/upload-sarif@v1 + with: + sarif_file: sarif diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 00000000..15b22217 --- /dev/null +++ b/Dockerfile @@ -0,0 +1,33 @@ + +FROM ubuntu:20.04 as builder + +## Install build dependencies. +RUN apt-get update && \ + DEBIAN_FRONTEND=noninteractive apt-get install -y cmake clang curl +RUN curl --proto "=https" --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y +RUN ${HOME}/.cargo/bin/rustup default nightly +RUN ${HOME}/.cargo/bin/cargo install -f cargo-fuzz + +ADD . /trie +WORKDIR /trie + +## TODO: ADD YOUR BUILD INSTRUCTIONS HERE. +# RUN ${HOME}/.cargo/bin/cargo build --all +RUN cd trie-db && \ + cd fuzz && ${HOME}/.cargo/bin/cargo fuzz build + +# Package Stage +FROM ubuntu:20.04 + + +## TODO: Change +COPY --from=builder trie/trie-db/fuzz/target/x86_64-unknown-linux-gnu/release/trie_root_new / +COPY --from=builder trie/trie-db/fuzz/target/x86_64-unknown-linux-gnu/release/trie_root / +COPY --from=builder trie/trie-db/fuzz/target/x86_64-unknown-linux-gnu/release/trie_root_fix_len / +COPY --from=builder trie/trie-db/fuzz/target/x86_64-unknown-linux-gnu/release/no_ext_insert / +COPY --from=builder trie/trie-db/fuzz/target/x86_64-unknown-linux-gnu/release/no_ext_insert_rem / +COPY --from=builder trie/trie-db/fuzz/target/x86_64-unknown-linux-gnu/release/prefix_iter / +COPY --from=builder trie/trie-db/fuzz/target/x86_64-unknown-linux-gnu/release/seek_iter / +COPY --from=builder trie/trie-db/fuzz/target/x86_64-unknown-linux-gnu/release/trie_proof_valid / +COPY --from=builder trie/trie-db/fuzz/target/x86_64-unknown-linux-gnu/release/trie_codec_proof / +COPY --from=builder trie/trie-db/fuzz/target/x86_64-unknown-linux-gnu/release/trie_proof_invalid / diff --git a/Mayhemfile b/Mayhemfile new file mode 100644 index 00000000..854996db --- /dev/null +++ b/Mayhemfile @@ -0,0 +1,14 @@ + +project: openml +target: openml + +cmds: + - cmd: /trie_root_new + - cmd: /trie_root + - cmd: /trie_root_fix_len + - cmd: /no_ext_insert + - cmd: /prefix_iter + - cmd: /seek_iter + - cmd: /trie_proof_valid + - cmd: /trie_codec_proof + - cmd: /trie_proof_invalid