aboutsummaryrefslogtreecommitdiff
path: root/projects/go-attestation
diff options
context:
space:
mode:
authorBrandon Weeks <bweeks@google.com>2019-10-09 10:22:31 +1100
committerAbhishek Arya <inferno@chromium.org>2019-10-08 16:22:31 -0700
commit116a67cf5d68d28a8485cd10836299b1e852a93e (patch)
tree38041775dadef7c51992c174c3c0af85745e8e70 /projects/go-attestation
parent70c5678c621ce869583a9904bad28b58c4c9cf79 (diff)
downloadoss-fuzz-116a67cf5d68d28a8485cd10836299b1e852a93e.tar.gz
[go-attestation] Add project (#2921)
Diffstat (limited to 'projects/go-attestation')
-rw-r--r--projects/go-attestation/Dockerfile23
-rwxr-xr-xprojects/go-attestation/build.sh31
-rw-r--r--projects/go-attestation/project.yaml9
3 files changed, 63 insertions, 0 deletions
diff --git a/projects/go-attestation/Dockerfile b/projects/go-attestation/Dockerfile
new file mode 100644
index 000000000..ff24e92c1
--- /dev/null
+++ b/projects/go-attestation/Dockerfile
@@ -0,0 +1,23 @@
+# Copyright 2019 Google Inc.
+#
+# 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
+MAINTAINER bweeks@google.com
+
+RUN go get -u -d github.com/google/go-attestation/...
+
+WORKDIR go-attestation
+COPY build.sh $SRC/
diff --git a/projects/go-attestation/build.sh b/projects/go-attestation/build.sh
new file mode 100755
index 000000000..bf1eb52e2
--- /dev/null
+++ b/projects/go-attestation/build.sh
@@ -0,0 +1,31 @@
+#!/bin/bash -eu
+# Copyright 2019 Google Inc.
+#
+# 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.
+#
+################################################################################
+
+# Based on the function from oss-fuzz/projects/golang/build.sh script.
+function compile_fuzzer {
+ package=$1
+ function=$2
+ fuzzer=$3
+
+ # Instrument all Go files relevant to this fuzzer
+ go-fuzz-build -libfuzzer -func $function -o $fuzzer.a $package
+
+ # Instrumented, compiled Go ($fuzzer.a) + fuzzing engine = fuzzer binary
+ $CXX $CXXFLAGS $LIB_FUZZING_ENGINE $fuzzer.a -lpthread -o $OUT/$fuzzer
+}
+
+compile_fuzzer github.com/google/go-attestation/attest FuzzParseEventLog parse_event_log_fuzzer \ No newline at end of file
diff --git a/projects/go-attestation/project.yaml b/projects/go-attestation/project.yaml
new file mode 100644
index 000000000..ac3f56bf2
--- /dev/null
+++ b/projects/go-attestation/project.yaml
@@ -0,0 +1,9 @@
+homepage: "https://github.com/google/go-attestation"
+primary_contact: "bweeks@google.com"
+auto_ccs:
+ - "ericchiang@google.com"
+ - "jsonp@google.com"
+fuzzing_engines:
+ - libfuzzer
+sanitizers:
+ - address