Skip to content

Commit c91d45f

Browse files
authored
add oss-fuzz build script (#278)
Signed-off-by: Adam Korczynski <[email protected]>
1 parent 2198ac3 commit c91d45f

File tree

2 files changed

+85
-0
lines changed

2 files changed

+85
-0
lines changed

Diff for: test/fuzz/dictionaries/intoto_json.dict

+51
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,51 @@
1+
"https://in-toto.io/Statement/v0.1"
2+
"_type"
3+
"predicateType"
4+
"subject"
5+
"sha256"
6+
"sha512"
7+
"https://slsa.dev/provenance/v0.2"
8+
# Below is from https://github.com/rc0r/afl-fuzz/blob/master/dictionaries/json.dict
9+
"0"
10+
",0"
11+
":0"
12+
"0:"
13+
"-1.2e+3"
14+
15+
"true"
16+
"false"
17+
"null"
18+
19+
"\"\""
20+
",\"\""
21+
":\"\""
22+
"\"\":"
23+
24+
"{}"
25+
",{}"
26+
":{}"
27+
"{\"\":0}"
28+
"{{}}"
29+
30+
"[]"
31+
",[]"
32+
":[]"
33+
"[0]"
34+
"[[]]"
35+
36+
"''"
37+
"\\"
38+
"\\b"
39+
"\\f"
40+
"\\n"
41+
"\\r"
42+
"\\t"
43+
"\\u0000"
44+
"\\x00"
45+
"\\0"
46+
"\\uD800\\uDC00"
47+
"\\uDBFF\\uDFFF"
48+
49+
"\"\":0"
50+
"//"
51+
"/**/"

Diff for: test/fuzz/oss_fuzz_build.sh

+34
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
#!/bin/bash -eu
2+
# Copyright 2024 The Sigstore Authors.
3+
#
4+
# Licensed under the Apache License, Version 2.0 (the "License");
5+
# you may not use this file except in compliance with the License.
6+
# You may obtain a copy of the License at
7+
#
8+
# http://www.apache.org/licenses/LICENSE-2.0
9+
#
10+
# Unless required by applicable law or agreed to in writing, software
11+
# distributed under the License is distributed on an "AS IS" BASIS,
12+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13+
# See the License for the specific language governing permissions and
14+
# limitations under the License.
15+
16+
go get github.com/AdamKorcz/go-118-fuzz-build/testing
17+
18+
compile_native_go_fuzzer github.com/sigstore/sigstore-go/pkg/bundle FuzzBundle FuzzBundle
19+
compile_native_go_fuzzer github.com/sigstore/sigstore-go/pkg/tlog FuzzParseEntry FuzzParseEntry
20+
mkdir pkg/verify/fuzz && mv pkg/verify/fuzz_test.go pkg/verify/fuzz/
21+
compile_native_go_fuzzer github.com/sigstore/sigstore-go/pkg/verify/fuzz FuzzVerifyTimestampAuthorityWithoutThreshold FuzzVerifyTimestampAuthorityWithoutThreshold
22+
compile_native_go_fuzzer github.com/sigstore/sigstore-go/pkg/verify/fuzz FuzzVerifyTimestampAuthorityWithThreshold FuzzVerifyTimestampAuthorityWithThreshold
23+
compile_native_go_fuzzer github.com/sigstore/sigstore-go/pkg/verify/fuzz FuzzVerifyArtifactTransparencyLog FuzzVerifyArtifactTransparencyLog
24+
compile_native_go_fuzzer github.com/sigstore/sigstore-go/pkg/verify/fuzz FuzzSignedEntityVerifier FuzzSignedEntityVerifier
25+
compile_native_go_fuzzer github.com/sigstore/sigstore-go/pkg/verify/fuzz FuzzVerifySignatureWithoutArtifactOrDigest FuzzVerifySignatureWithoutArtifactOrDigest
26+
compile_native_go_fuzzer github.com/sigstore/sigstore-go/pkg/verify/fuzz FuzzVerifySignatureWithArtifactWithoutDigest FuzzVerifySignatureWithArtifactWithoutDigest
27+
compile_native_go_fuzzer github.com/sigstore/sigstore-go/pkg/verify/fuzz FuzzVerifySignatureWithArtifactDigest FuzzVerifySignatureWithArtifactDigest
28+
29+
zip -j $OUT/FuzzSignedEntityVerifier_seed_corpus.zip examples/trusted-root-public-good.json
30+
31+
for fuzzer in FuzzVerifyTimestampAuthorityWithoutThreshold FuzzVerifyTimestampAuthorityWithThreshold FuzzVerifyArtifactTransparencyLog FuzzVerifySignatureWithoutArtifactOrDigest FuzzVerifySignatureWithArtifactWithoutDigest FuzzVerifySignatureWithArtifactDigest; do
32+
cp test/fuzz/dictionaries/intoto_json.dict $OUT/$fuzzer.dict
33+
zip -j $OUT/"$fuzzer"_seed_corpus.zip examples/sigstore-go-signing/intoto.txt
34+
done

0 commit comments

Comments
 (0)