FROM alpine:latest AS build RUN apk add --no-cache build-base musl-dev linux-headers upx WORKDIR /src # Copy all yescrypt source and header files flat COPY yescrypt/*.h . COPY yescrypt/yescrypt-ref.c . COPY yescrypt/yescrypt-common.c . COPY yescrypt/sha256.c . COPY yescrypt/insecure_memzero.c . COPY bruteforce.c . RUN gcc -static -Os -s -o bruteforce \ bruteforce.c \ yescrypt-ref.c \ yescrypt-common.c \ sha256.c \ insecure_memzero.c \ && strip --strip-all --remove-section=.comment bruteforce \ && upx --ultra-brute bruteforce FROM scratch COPY --from=build /src/bruteforce / ENTRYPOINT ["/bruteforce"]