Skip to content

Commit a726038

Browse files
authored
Merge branch 'main' into unix_mmap
2 parents 5e45597 + 6755c17 commit a726038

File tree

152 files changed

+7305
-7595
lines changed

Some content is hidden

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

152 files changed

+7305
-7595
lines changed

.github/workflows/build_and_test.yml

Lines changed: 20 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -187,19 +187,20 @@ jobs:
187187
# `sancov_pcguard_edges` is tested seperatelyc
188188
run: LLVM_VERSION=18 CI_INSTANCES=18 cargo run --manifest-path ./utils/ci_splitter/Cargo.toml -- ${{ matrix.instance_idx }}
189189

190-
ubuntu-concolic:
191-
runs-on: ubuntu-24.04
192-
needs: ubuntu
193-
steps:
194-
- uses: dtolnay/rust-toolchain@stable
195-
- uses: actions/checkout@v4
196-
- uses: Swatinem/rust-cache@v2
197-
with: { shared-key: "ubuntu" }
198-
- name: Install smoke test deps
199-
run: sudo ./crates/libafl_concolic/test/smoke_test_ubuntu_deps.sh
200-
- name: Run smoke test
201-
run: ./crates/libafl_concolic/test/smoke_test.sh
202-
190+
# idk why bindgen generates a corrupted file only on CI.
191+
# ubuntu-concolic:
192+
# runs-on: ubuntu-24.04
193+
# needs: ubuntu
194+
# steps:
195+
# - uses: dtolnay/rust-toolchain@stable
196+
# - uses: actions/checkout@v4
197+
# - uses: Swatinem/rust-cache@v2
198+
# with: { shared-key: "ubuntu" }
199+
# - name: Install smoke test deps
200+
# run: sudo ./crates/libafl_concolic/test/smoke_test_ubuntu_deps.sh
201+
# - name: Run smoke test
202+
# run: ./crates/libafl_concolic/test/smoke_test.sh
203+
#
203204
python-bindings:
204205
runs-on: ubuntu-24.04
205206
steps:
@@ -289,7 +290,7 @@ jobs:
289290
- binary_only/fuzzbench_qemu
290291
- binary_only/intel_pt_baby_fuzzer
291292
- binary_only/intel_pt_command_executor
292-
# - binary_only/tinyinst_simple
293+
- binary_only/tinyinst_simple
293294

294295
# Forkserver
295296
- forkserver/forkserver_simple
@@ -456,7 +457,7 @@ jobs:
456457
# - full_system/qemu_linux_kernel
457458
# - full_system/qemu_linux_process
458459
runs-on: ubuntu-24.04
459-
container: registry.gitlab.com/qemu-project/qemu/qemu/ubuntu2204:latest
460+
# container: registry.gitlab.com/qemu-project/qemu/qemu/ubuntu2204:latest
460461
steps:
461462
# Get the name of the fuzzer so that we can use it as the key for a cache
462463
# of the built artefacts. The key cannot have any special characters.
@@ -508,10 +509,10 @@ jobs:
508509
matrix:
509510
fuzzer:
510511
- full_system/qemu_baremetal
511-
# - full_system/qemu_linux_kernel
512+
- full_system/qemu_linux_kernel
512513
# - full_system/qemu_linux_process
513514
runs-on: ubuntu-24.04
514-
container: registry.gitlab.com/qemu-project/qemu/qemu/ubuntu2204:latest
515+
# container: registry.gitlab.com/qemu-project/qemu/qemu/ubuntu2204:latest
515516
steps:
516517
# Get the name of the fuzzer so that we can use it as the key for a cache
517518
# of the built artefacts. The key cannot have any special characters.
@@ -563,7 +564,7 @@ jobs:
563564
fuzzer:
564565
- full_system/qemu_baremetal
565566
runs-on: ubuntu-24.04
566-
container: registry.gitlab.com/qemu-project/qemu/qemu/ubuntu2204:latest
567+
# container: registry.gitlab.com/qemu-project/qemu/qemu/ubuntu2204:latest
567568
steps:
568569
# Get the name of the fuzzer so that we can use it as the key for a cache
569570
# of the built artefacts. The key cannot have any special characters.
@@ -897,7 +898,7 @@ jobs:
897898
- name: Increase map sizes
898899
run: ./scripts/shmem_limits_macos.sh
899900
- name: Clippy
900-
run: cargo clippy --tests --all --exclude libafl_nyx --exclude symcc_runtime --exclude runtime_test
901+
run: cargo clippy --tests --all --exclude libafl_nyx --exclude symcc_runtime --exclude runtime_test --exclude libvharness_sys --exclude libafl_qemu_sys --exclude libafl_qemu --exclude libafl_qemu_build
901902

902903
ubuntu-cross-android-arm64:
903904
runs-on: ubuntu-24.04

.github/workflows/fuzzer-tester-prepare/action.yml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,10 @@ runs:
2323
if: ${{ inputs.fuzzer-name == 'fuzz_anything/baby_no_std' }}
2424
shell: bash
2525
run: rustup component add rust-src --toolchain nightly-x86_64-unknown-linux-gnu
26+
- name: Add toolchain
27+
if: ${{ inputs.fuzzer-name == 'binary_only/tinyinst_simple' }}
28+
shell: bash
29+
run: cargo install cxxbridge-cmd
2630
- name: Add nyx deps
2731
if: ${{ inputs.fuzzer-name == 'full_system/nyx_launcher' || inputs.fuzzer-name == 'full_system/nyx_libxml2_standalone' || inputs.fuzzer-name == 'full_system/nyx_libxml2_parallel' }}
2832
shell: bash

.github/workflows/qemu-fuzzer-tester-prepare/action.yml

Lines changed: 3 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -6,16 +6,13 @@ runs:
66
- name: Install QEMU deps
77
shell: bash
88
run: |
9-
apt-get update
10-
apt-get install -y qemu-utils sudo python3-msgpack python3-jinja2 curl python3-dev gcc-arm-none-eabi \
11-
gcc-arm-linux-gnueabi g++-arm-linux-gnueabi
9+
sudo apt-get update
10+
sudo apt-get install -y qemu-utils sudo python3-msgpack python3-jinja2 curl python3-dev gcc-arm-none-eabi \
11+
gcc-arm-linux-gnueabi g++-arm-linux-gnueabi cmake
1212
- name: Remove old rust
1313
shell: bash
1414
run: sudo apt purge -y 'rust*' 'cargo*'
1515
- uses: dtolnay/rust-toolchain@stable
16-
env:
17-
RUSTUP_HOME: /usr/local/rustup
18-
CARGO_HOME: /usr/local/cargo
1916
- name: enable mult-thread for `make`
2017
shell: bash
2118
run: export MAKEFLAGS="-j$(expr $(nproc) \+ 1)"

CITATION.cff

Lines changed: 41 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,41 @@
1+
cff-version: 1.2.0
2+
message: Please cite the following works when using this software.
3+
type: software
4+
authors:
5+
- family-names: Fioraldi
6+
given-names: Andrea
7+
- family-names: Maier
8+
given-names: Dominik Christian
9+
- family-names: Zhang
10+
given-names: Dongjia
11+
- family-names: Balzarotti
12+
given-names: Davide
13+
doi: 10.1145/3548606.3560602
14+
identifiers:
15+
- type: doi
16+
value: 10.1145/3548606.3560602
17+
- type: url
18+
value: http://dx.doi.org/10.1145/3548606.3560602
19+
title: LibAFL
20+
url: http://dx.doi.org/10.1145/3548606.3560602
21+
preferred-citation:
22+
type: article
23+
authors:
24+
- family-names: Fioraldi
25+
given-names: Andrea
26+
orcid: https://orcid.org/0000-0002-0976-4395
27+
- family-names: Maier
28+
given-names: Dominik Christian
29+
orcid: https://orcid.org/0000-0002-5588-5008
30+
- family-names: Zhang
31+
given-names: Dongjia
32+
orcid: https://orcid.org/0000-0001-7468-743X
33+
- family-names: Balzarotti
34+
given-names: Davide
35+
orcid: https://orcid.org/0000-0001-5957-6213
36+
title: "LibAFL: A Framework to Build Modular and Reusable Fuzzers"
37+
year: 2022
38+
doi: 10.1145/3548606.3560602
39+
url: https://doi.org/10.1145/3548606.3560602
40+
publisher: "Association for Computing Machinery"
41+
pages: 1051–1065

CONTRIBUTING.md

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,13 @@ Some of the parts in this list may be hard, don't be afraid to open a PR if you
2929
Some of these checks can be performed automatically during commit using [pre-commit](https://pre-commit.com/).
3030
Once the package is installed, simply run `pre-commit install` to enable the hooks, the checks will run automatically before the commit becomes effective.
3131

32+
### Adding dependencies
33+
34+
Avoid adding additional crates dependencies if it can be avoided in general.
35+
Check if the dependency to add is not already present in the root `Cargo.toml` file or in other crates.
36+
If it is the case, use the dependency using `workspace = true` when adding the dependency.
37+
As a rule of thumb, if a given dependency is used more than once, it should be added in the root `Cargo.toml` file.
38+
3239
## LibAFL Code Rules
3340

3441
Before making your pull requests, try to see if your code follows these rules.

0 commit comments

Comments
 (0)