Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

New Pull Request #2

Open
wants to merge 14 commits into
base: master
Choose a base branch
from
51 changes: 51 additions & 0 deletions .github/workflows/mayhem.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,51 @@
name: Mayhem
on:
push:
pull_request:
workflow_dispatch:
workflow_call:
env:
REGISTRY: ghcr.io
IMAGE_NAME: ${{ github.repository }}
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 }} --duration 300
sarif-output: sarif
- name: Upload SARIF file(s)
uses: github/codeql-action/upload-sarif@v1
with:
sarif_file: sarif
41 changes: 31 additions & 10 deletions Dockerfile
Original file line number Diff line number Diff line change
@@ -1,16 +1,37 @@
# Build environment
FROM alpine AS build
Copy link
Collaborator

Choose a reason for hiding this comment

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

Please don't overwrite upstream's Dockerfile

RUN apk add --no-cache build-base
FROM ubuntu:20.04 as builder

## Install build dependencies.
RUN apt-get update && \
DEBIAN_FRONTEND=noninteractive apt-get install -y cmake clang


#RUN apk add --no-cache build-base
WORKDIR /src
COPY . .
RUN make darkhttpd-static \
&& strip darkhttpd-static
RUN make darkhttpd \
&& strip darkhttpd

#WORKDIR /src/devel

#RUN clang -c -Dmain=darkhttpd -g -O2 -fsanitize=fuzzer,address ../darkhttpd.c -o #fuzz_darkhttpd.o
#RUN clang++ -g -O2 -fsanitize=fuzzer,address fuzz_socket.cc fuzz_darkhttpd.o -o fuzz_socket



# Just the static binary
FROM scratch
WORKDIR /var/www/htdocs
COPY --from=build /src/darkhttpd-static /darkhttpd
EXPOSE 80
ENTRYPOINT ["/darkhttpd"]
CMD ["."]
#FROM scratch
#WORKDIR /var/www/htdocs
#COPY --from=build /src/darkhttpd-static /darkhttpd
#EXPOSE 80
#ENTRYPOINT ["/darkhttpd"]
#CMD ["."]

FROM ubuntu:20.04


COPY --from=builder /src/darkhttpd /


#make the binary
#copy it into
21 changes: 21 additions & 0 deletions Mayhemfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
# Namespaced project name that the target belongs to
project: darkhttpd

# Target name (should be unique within the project)
target: fuzz_socket

cmds:
- cmd: /darkhttpd /path/to/wwwroot
network:
url: tcp://localhost:80
timeout: 2
client: false
#



#project: mayhem-cmake-example
#target: fuzzme
#
#cmds:
# - cmd: /fuzzme