---
This commit is contained in:
@@ -0,0 +1,41 @@
|
||||
## Instructions
|
||||
|
||||
### Build
|
||||
|
||||
```bash
|
||||
docker build -t fuzzer .
|
||||
```
|
||||
|
||||
### Fuzz
|
||||
|
||||
```bash
|
||||
docker run -it -v "$(pwd)/bugs:/fuzzer/bugs" fuzzer
|
||||
```
|
||||
|
||||
### Additional Options
|
||||
|
||||
#### Get a shell
|
||||
|
||||
```bash
|
||||
docker run -it -v "$(pwd)/bugs:/fuzzer/bugs" --entrypoint bash fuzzer
|
||||
```
|
||||
|
||||
#### Flags
|
||||
|
||||
| Flag | Default | Description |
|
||||
| -------------------- | -------------------------------------- | ------------------------------------------------------------------------- |
|
||||
| `--seeds` | `/home/test/seeds` | Directory containing seed `.sql` files for mutation |
|
||||
| `--buggy` | `/home/test/sqlite3-src/build/sqlite3` | Path to the buggy SQLite binary being tested |
|
||||
| `--reference` | `/usr/bin/sqlite3` | Path to the reference SQLite binary for comparison |
|
||||
| `--count` | `10000` | Number of queries to generate and execute |
|
||||
| `--mutate-timeout` | `0.5` | Per-mutation timeout in seconds (prevents hanging mutations) |
|
||||
| `--max-query-length` | `100000` | Hard character limit for generated queries (longer queries reset to seed) |
|
||||
| `--workers` | `multiprocessing.cpu_count()` | Number of parallel `check()` worker threads |
|
||||
| `--validate-seeds` | `False` | Run upfront validation pass on all seeds before fuzzing |
|
||||
| `--run-baseline` | `False` | Run seeds without mutation (baseline coverage measurement) |
|
||||
|
||||
#### Customize the fuzzer, e.g.
|
||||
|
||||
```bash
|
||||
test-db --validate-seeds --count 5000 --mutate-timeout 0.1 --max-query-length 100000
|
||||
```
|
||||
Reference in New Issue
Block a user