Skip to content

Commit d61418f

Browse files
VMF 5.1.0 Release
1 parent 6b0dcc2 commit d61418f

File tree

1,057 files changed

+4792
-277915
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

1,057 files changed

+4792
-277915
lines changed

.dockerignore

Lines changed: 0 additions & 1 deletion
This file was deleted.

.gitignore

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -45,4 +45,12 @@ _deps
4545

4646
# Helper scripts
4747
*.sh
48-
*.ps1
48+
*.ps1
49+
50+
# SUTs for UTs
51+
test/haystackSUT/haystack
52+
test/haystackSUT/haystack_AFL_shmem
53+
test/magicBytesSUT/magicbytes
54+
test/magicBytesSUT/magicbytes_cmplog
55+
test/unittest/inputs/AFLForkserverExecutorTest/mimeSUT/mime
56+
test/unittest/inputs/AFLForkserverExecutorTest/mimeSUT/mime_asan

CMakeLists.txt

Lines changed: 3 additions & 49 deletions
Original file line numberDiff line numberDiff line change
@@ -48,8 +48,8 @@ set(CMAKE_CXX_STANDARD_REQUIRED True)
4848
# produce compile_commands.json for clangd support
4949
set(CMAKE_EXPORT_COMPILE_COMMANDS True)
5050
#############################################################
51-
project(VMF VERSION 5.0.0
52-
LANGUAGES CXX )
51+
project(VMF VERSION 5.1.0
52+
LANGUAGES CXX C )
5353
#############################################################
5454

5555
# Export all symbols for windows
@@ -88,11 +88,6 @@ install(DIRECTORY vmf/src/scripts/bin/
8888
DESTINATION ${VMF_INSTALL_BINDIR}
8989
USE_SOURCE_PERMISSIONS)
9090

91-
#Header files are needed for plog library
92-
install(DIRECTORY vmf/dependencies/plog/include/plog
93-
DESTINATION ${CMAKE_INSTALL_PREFIX}/include/
94-
)
95-
9691
install(DIRECTORY vmf/src/samples
9792
DESTINATION ${CMAKE_INSTALL_PREFIX}
9893
PATTERN "build" EXCLUDE)
@@ -101,14 +96,7 @@ install(DIRECTORY vmf/src/samples
10196
INSTALL(DIRECTORY test DESTINATION
10297
DESTINATION ${CMAKE_INSTALL_PREFIX}
10398
PATTERN "*.cpp" EXCLUDE
104-
PATTERN "*.txt" EXCLUDE
105-
PATTERN "haystack" EXCLUDE
106-
PATTERN "haystack_AFL_persist" EXCLUDE
107-
PATTERN "haystack_AFL_deferred" EXCLUDE
108-
PATTERN "haystack_AFL_shmem" EXCLUDE
109-
PATTERN "magicbytes" EXCLUDE
110-
PATTERN "magicbytes_cmplog" EXCLUDE
111-
PATTERN "setup_jerryscript" EXCLUDE
99+
PATTERN "*.txt" EXCLUDE
112100
PATTERN "test_only" EXCLUDE
113101
PATTERN "test_only/*" EXCLUDE
114102
PATTERN "unittest" EXCLUDE
@@ -118,37 +106,3 @@ INSTALL(DIRECTORY test DESTINATION
118106
INSTALL(DIRECTORY data DESTINATION
119107
DESTINATION ${CMAKE_INSTALL_PREFIX}
120108
)
121-
122-
#install haystack example executable
123-
file (COPY test/haystackSUT/haystack
124-
DESTINATION ${CMAKE_INSTALL_PREFIX}/test/haystackSUT
125-
USE_SOURCE_PERMISSIONS)
126-
127-
#install haystack_AFL_persist example executable
128-
file (COPY test/haystackSUT/haystack_AFL_persist
129-
DESTINATION ${CMAKE_INSTALL_PREFIX}/test/haystackSUT
130-
USE_SOURCE_PERMISSIONS)
131-
132-
#install haystack_AFL_deferred example executable
133-
file (COPY test/haystackSUT/haystack_AFL_deferred
134-
DESTINATION ${CMAKE_INSTALL_PREFIX}/test/haystackSUT
135-
USE_SOURCE_PERMISSIONS)
136-
137-
#install haystack_AFL_shmem example executable
138-
file (COPY test/haystackSUT/haystack_AFL_shmem
139-
DESTINATION ${CMAKE_INSTALL_PREFIX}/test/haystackSUT
140-
USE_SOURCE_PERMISSIONS)
141-
142-
#file (COPY test/haystackSUT/haystack_libfuzzer
143-
#DESTINATION ${CMAKE_INSTALL_PREFIX}/test/haystackSUT
144-
#USE_SOURCE_PERMISSIONS)
145-
146-
#install magicbytes executable
147-
file (COPY test/magicBytesSUT/magicbytes
148-
DESTINATION ${CMAKE_INSTALL_PREFIX}/test/magicBytesSUT
149-
USE_SOURCE_PERMISSIONS)
150-
151-
#install magicbytes_cmplog executable
152-
file (COPY test/magicBytesSUT/magicbytes_cmplog
153-
DESTINATION ${CMAKE_INSTALL_PREFIX}/test/magicBytesSUT/
154-
USE_SOURCE_PERMISSIONS)

README.md

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -18,9 +18,9 @@ As of now, VMF can be run in Docker and on the following distributions of Linux:
1818

1919
- CentOS 8 and 9
2020
- Kali
21-
- Oracle Linux 8 & 9
22-
- RedHat 8 & 9
23-
- Ubuntu 20.04, and 22.04
21+
- Oracle Linux 8 and 9
22+
- RedHat 8 and 9
23+
- Ubuntu 20.04, 22.04 and 24.04
2424

2525
VMF depends on several open source projects, but uses a "batteries-included" philosophy to dependencies where practical.
2626

@@ -64,6 +64,12 @@ is often installed by default. You can install this on Debian-based systems (inc
6464
```bash
6565
sudo apt install libcurl-dev
6666
```
67+
68+
Note: You _may_ need to install a libcurl development package built specifically for your host's secure socket layer library via, e.g.,
69+
```bash
70+
sudo apt install libcurl4-openssl-dev
71+
```
72+
6773
On CentOS, RHEL, or Fedora, try
6874
```bash
6975
sudo yum install libcurl-devel

dockerfiles/Dockerfile.klee

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,8 @@ RUN test -f /usr/share/doc/kitware-archive-keyring/copyright || wget -O - https:
1212
git \
1313
gnupg \
1414
lsb-core \
15-
lsb-release
15+
lsb-release \
16+
cmake=3.28.3-0kitware1ubuntu22.04.1
1617

1718
RUN lsb_release -a | grep -q "18.04" && ( \
1819
echo "deb http://apt.llvm.org/bionic/ llvm-toolchain-bionic-12 main" >> /etc/apt/sources.list && \
@@ -33,7 +34,6 @@ RUN apt-get update \
3334
python3-pip \
3435
python3-setuptools \
3536
build-essential \
36-
cmake \
3737
lld-14
3838

3939

@@ -60,7 +60,7 @@ RUN set -ex \
6060
&& mkdir -p build \
6161
&& cd build \
6262
&& cmake -DCMAKE_INSTALL_PREFIX=/usr/local .. \
63-
&& make -j \
63+
&& make -j 8 \
6464
&& make install \
6565
&& set +ex
6666

dockerfiles/Dockerfile.u20

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -29,8 +29,13 @@ RUN apt-get update \
2929
python3-dev \
3030
python3-pip \
3131
python3-setuptools \
32-
build-essential \
33-
cmake
32+
build-essential
33+
34+
RUN apt-get install -y apt-transport-https && \
35+
curl -fsSL https://apt.kitware.com/keys/kitware-archive-latest.asc | gpg --dearmor -o /usr/share/keyrings/kitware-archive-keyring.gpg && \
36+
echo "deb [signed-by=/usr/share/keyrings/kitware-archive-keyring.gpg] https://apt.kitware.com/ubuntu/ focal main" > /etc/apt/sources.list.d/kitware.list && \
37+
apt-get update && \
38+
apt install -y --no-install-recommends cmake=3.18.3-0kitware1ubuntu20.04.1 cmake-data=3.18.3-0kitware1ubuntu20.04.1
3439

3540
ENV LLVM_CONFIG=llvm-config-12
3641
RUN set -ex \
@@ -60,6 +65,6 @@ RUN set -ex \
6065
&& mkdir -p build \
6166
&& cd build \
6267
&& cmake -DCMAKE_INSTALL_PREFIX=/usr/local .. \
63-
&& make -j \
68+
&& make -j 8 \
6469
&& make install \
6570
&& set +ex

dockerfiles/Dockerfile.u20-draper

Lines changed: 0 additions & 84 deletions
This file was deleted.

dockerfiles/Dockerfile.u24

Lines changed: 58 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,58 @@
1+
FROM ubuntu:24.04 AS deps
2+
3+
RUN apt-get update \
4+
&& DEBIAN_FRONTEND="noninteractive" apt-get install -y --no-install-recommends --fix-missing \
5+
ca-certificates \
6+
curl \
7+
gdb \
8+
git \
9+
gnupg \
10+
lsb-release \
11+
zip
12+
13+
RUN apt-get update \
14+
&& DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends --fix-missing \
15+
graphviz \
16+
clang-19 \
17+
clang \
18+
libclang-rt-19-dev \
19+
doxygen \
20+
libcurl4-openssl-dev \
21+
llvm-19 \
22+
llvm-19-dev \
23+
lld-19 \
24+
llvm \
25+
lld \
26+
python3-dev \
27+
python3-pip \
28+
python3-setuptools \
29+
build-essential \
30+
cmake
31+
32+
ENV LLVM_CONFIG=llvm-config-19
33+
34+
FROM deps AS aflpp
35+
36+
# Clone and build AFL++
37+
RUN set -ex \
38+
&& cd /usr/local/src \
39+
&& git clone --depth 1 -b v4.30c https://github.com/AFLplusplus/AFLplusplus.git \
40+
&& cd AFLplusplus \
41+
&& make all \
42+
&& make install \
43+
&& set +ex
44+
45+
FROM aflpp AS vmf
46+
47+
# Clone, build, install VMF
48+
RUN set -ex \
49+
&& cd /usr/local/src \
50+
&& mkdir vmf \
51+
&& git clone --depth 1 https://github.com/draperlaboratory/vadermodularfuzzer.git vmf \
52+
&& cd vmf \
53+
&& mkdir -p build \
54+
&& cd build \
55+
&& cmake -DCMAKE_INSTALL_PREFIX=/usr/local .. \
56+
&& make -j \
57+
&& make install \
58+
&& set +ex

0 commit comments

Comments
 (0)