MigTD: Initial integration (#11642)

Signed-off-by: Wei Liu <wei3.liu@intel.com>
This commit is contained in:
Liu Wei 2024-03-06 10:12:59 +08:00 committed by GitHub
parent 35f33bd726
commit 5f7304451b
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
3 changed files with 78 additions and 0 deletions

26
projects/migtd/Dockerfile Normal file
View File

@ -0,0 +1,26 @@
# Copyright 2024 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-rust
# Install packages we need to build dependencies
RUN apt-get update && \
apt-get install -y \
nasm \
llvm \
clang
RUN git clone --depth 1 https://github.com/intel/MigTD.git
COPY build.sh $SRC/
WORKDIR $SRC/MigTD

41
projects/migtd/build.sh Normal file
View File

@ -0,0 +1,41 @@
#!/bin/bash -eu
# Copyright 2024 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.
#
################################################################################
set -eox pipefail
cd $SRC/MigTD
FUZZ_CRATE_DIRS=$(find . -type d -name fuzz -exec dirname $(readlink -f {}) \;)
git submodule update --init --recursive
bash sh_script/preparation.sh
for CRATE_DIR in ${FUZZ_CRATE_DIRS[@]};
do
echo "Building crate: $CRATE_DIR"
cd $CRATE_DIR
cargo fuzz build -O
FUZZ_TARGET_OUTPUT_DIR=fuzz/target/x86_64-unknown-linux-gnu/release
fuzz_tcs=$(cargo fuzz list)
for tcs in ${fuzz_tcs[@]}; do
if [[ $tcs =~ "afl" ]]; then
continue
else
FUZZ_TARGET_NAME=$tcs
CRATE_NAME=$(basename $CRATE_DIR)
cp $FUZZ_TARGET_OUTPUT_DIR/$FUZZ_TARGET_NAME $OUT/$CRATE_NAME-$FUZZ_TARGET_NAME
fi
done
done

View File

@ -0,0 +1,11 @@
homepage: "https://github.com/intel/MigTD"
language: rust
primary_contact: "wei3.liu@intel.com"
auto_ccs:
- "jiewen.yao@intel.com"
- "jiaqi.gao@intel.com"
sanitizers:
- address
fuzzing_engines:
- libfuzzer
main_repo: 'https://github.com/intel/MigTD.git'