From ebc2852f0a407aa3cc6cadc80aa78cb1efd296ee Mon Sep 17 00:00:00 2001 From: DavidKorczynski Date: Wed, 21 Jul 2021 23:20:06 +0100 Subject: [PATCH] opensk: initial integration. (#5355) * opensk: initial integration. * fix up project.yaml in opensk. * Fix opensk build. * Updated build.sh * updated project yaml. * enable coverage. * disable coverage. --- projects/opensk/Dockerfile | 26 ++++++++++++++++++++++++++ projects/opensk/build.sh | 32 ++++++++++++++++++++++++++++++++ projects/opensk/project.yaml | 10 ++++++++++ 3 files changed, 68 insertions(+) create mode 100644 projects/opensk/Dockerfile create mode 100755 projects/opensk/build.sh create mode 100644 projects/opensk/project.yaml diff --git a/projects/opensk/Dockerfile b/projects/opensk/Dockerfile new file mode 100644 index 000000000..d8a9e5b3b --- /dev/null +++ b/projects/opensk/Dockerfile @@ -0,0 +1,26 @@ +# Copyright 2021 Google LLC +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# +################################################################################ +FROM gcr.io/oss-fuzz-base/base-builder +RUN apt-get update && apt-get install -y make autoconf automake libtool curl cmake python llvm-dev libclang-dev clang uuid-runtime + +RUN git clone --recurse-submodules https://github.com/google/OpenSK && \ + cd OpenSK && \ + ./setup.sh && \ + ./fuzzing_setup.sh + +WORKDIR $SRC + +COPY build.sh $SRC/ diff --git a/projects/opensk/build.sh b/projects/opensk/build.sh new file mode 100755 index 000000000..6ca211b54 --- /dev/null +++ b/projects/opensk/build.sh @@ -0,0 +1,32 @@ +#!/bin/bash -eu +# Copyright 2021 Google LLC +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# +################################################################################ +if [ "$SANITIZER" = "coverage" ] +then + exit 0 +fi + +cd OpenSK +cargo fuzz build + +# Copy fuzzers to out +cp ./fuzz/target/x86_64-unknown-linux-gnu/release/fuzz_target_process_ctap1 $OUT/ +cp ./fuzz/target/x86_64-unknown-linux-gnu/release/fuzz_target_process_ctap2_client_pin $OUT/ +cp ./fuzz/target/x86_64-unknown-linux-gnu/release/fuzz_target_process_ctap2_get_assertion $OUT/ +cp ./fuzz/target/x86_64-unknown-linux-gnu/release/fuzz_target_process_ctap2_make_credential $OUT/ +cp ./fuzz/target/x86_64-unknown-linux-gnu/release/fuzz_target_process_ctap_command $OUT/ +cp ./fuzz/target/x86_64-unknown-linux-gnu/release/fuzz_target_split_assemble $OUT/ +cp ./fuzz/target/x86_64-unknown-linux-gnu/release/fuzz_target_process_ctap1 $OUT/ diff --git a/projects/opensk/project.yaml b/projects/opensk/project.yaml new file mode 100644 index 000000000..4599e89e4 --- /dev/null +++ b/projects/opensk/project.yaml @@ -0,0 +1,10 @@ +homepage: "https://github.com/google/OpenSK" +main_repo: "https://github.com/google/OpenSK" +primary_contact: "opensk@google.com" +sanitizers: + - address +fuzzing_engines: + - libfuzzer +language: rust +auto_ccs: + - "david@adalogics.com"