mirror of
https://github.com/trailofbits/buttercup
synced 2026-06-21 14:11:39 +00:00
143a59c236
Before this commit, the fuzzer dependend on clusterfuzz, which uses protobuf 3.20. Since fuzzer-bot depended on common subpackage as well and also common (and the other packages) require protobuf, we had to use protobuf 3.20 everywhere. This old dependency however means that a lot of packages can't be used in their "newer" versions, because they depend on newer protobuf versions. This commit splits the fuzzer into a separate fuzzer-runner that is executed in a separate process inside a separate venv. fuzzer-runner executes the clusterfuzz-heavy operations (e.g. fuzzing) and isolates the clusterfuzz dependency, so that the rest of the system can use newer protobuf version. * split `fuzzer-bot` in `fuzzer-runner` and `fuzzer-bot` * have a "full" optional dependency group in `common`, including `openlit` and `protobuf`, so that `fuzzer-runner` can use the lite version of `common` without bringing those heavy deps * move `FuzzConfiguration`/`BuildConfiguration` in a separate common file that doesn't require to load all protobuf files. Again, in this way other components can just depend on the `common` "lite" version and not require protobuf stuff * add `fuzzer-runner` as a separate venv inside the `fuzzer-bot` container * add `RunnerProxy` class in fuzzer package to provide an interface to interact with the fuzzer-runner binary.
100 lines
3.9 KiB
Plaintext
100 lines
3.9 KiB
Plaintext
NODE_DATA_DIR=/node_data
|
|
DOCKER_HOST=tcp://dind:2375
|
|
|
|
BUTTERCUP_LITELLM_KEY=sk-1234
|
|
BUTTERCUP_LITELLM_HOSTNAME=http://litellm:8080
|
|
|
|
BUTTERCUP_DOWNLOADER_SERVE__REDIS_URL=redis://redis:6379
|
|
BUTTERCUP_DOWNLOADER_LOG_LEVEL=debug
|
|
BUTTERCUP_DOWNLOADER_DOWNLOAD_DIR=/node_data/tasks_storage
|
|
BUTTERCUP_DOWNLOADER_SERVE__SLEEP_TIME=5
|
|
|
|
BUTTERCUP_TASK_SERVER_REDIS_URL=redis://redis:6379
|
|
BUTTERCUP_TASK_SERVER_LOG_LEVEL=debug
|
|
BUTTERCUP_TASK_SERVER_HOST=0.0.0.0
|
|
BUTTERCUP_TASK_SERVER_PORT=8000
|
|
BUTTERCUP_TASK_SERVER_API_KEY_ID=515cc8a0-3019-4c9f-8c1c-72d0b54ae561
|
|
BUTTERCUP_TASK_SERVER_API_TOKEN_HASH='$argon2id$v=19$m=65536,t=3,p=4$Dg1v6NPGTyXPoOPF4ozD5A$wa/85ttk17bBsIASSwdR/uGz5UKN/bZuu4wu+JIy1iA'
|
|
BUTTERCUP_TASK_SERVER_COMPETITION_API_URL=http://scantron:31323
|
|
BUTTERCUP_TASK_SERVER_COMPETITION_API_USERNAME=11111111-1111-1111-1111-111111111111
|
|
BUTTERCUP_TASK_SERVER_COMPETITION_API_PASSWORD=secret
|
|
|
|
# Client Authentication:
|
|
# CRS_API_KEY_ID=515cc8a0-3019-4c9f-8c1c-72d0b54ae561
|
|
# CRS_API_TOKEN=VGuAC8axfOnFXKBB7irpNDOKcDjOlnyB
|
|
|
|
# Competition API Authentication
|
|
COMPETITION_API_KEY_ID=11111111-1111-1111-1111-111111111111
|
|
COMPETITION_API_KEY_TOKEN=secret
|
|
|
|
BUTTERCUP_SCHEDULER_SERVE__REDIS_URL=redis://redis:6379
|
|
BUTTERCUP_SCHEDULER_LOG_LEVEL=debug
|
|
BUTTERCUP_SCHEDULER_SERVE__SLEEP_TIME=5
|
|
BUTTERCUP_SCHEDULER_SERVE__COMPETITION_API_URL=http://scantron:31323
|
|
BUTTERCUP_SCHEDULER_TASKS_STORAGE_DIR=/node_data/tasks_storage
|
|
BUTTERCUP_SCHEDULER_SCRATCH_DIR=/node_data/crs_scratch
|
|
|
|
BUTTERCUP_PATCHER_SERVE__REDIS_URL=redis://redis:6379
|
|
BUTTERCUP_PATCHER_SERVE__SLEEP_TIME=5
|
|
BUTTERCUP_PATCHER_LOG_LEVEL=debug
|
|
BUTTERCUP_PATCHER_TASK_STORAGE_DIR=/node_data/crs_scratch
|
|
BUTTERCUP_PATCHER_SCRATCH_DIR=/node_data/crs_scratch
|
|
|
|
BUTTERCUP_PROGRAM_MODEL_SERVE__REDIS_URL=redis://redis:6379
|
|
BUTTERCUP_PROGRAM_MODEL_SERVE__SLEEP_TIME=5
|
|
BUTTERCUP_PROGRAM_MODEL_LOG_LEVEL=debug
|
|
BUTTERCUP_PROGRAM_MODEL_SCRATCH_DIR=/node_data/crs_scratch
|
|
BUTTERCUP_PROGRAM_MODEL_GRAPHDB_ENABLED=false
|
|
|
|
BUTTERCUP_FUZZER_REDIS_URL=redis://redis:6379
|
|
BUTTERCUP_FUZZER_WDIR=/node_data/crs_scratch
|
|
BUTTERCUP_FUZZER_CRS_SCRATCH_DIR=/node_data/crs_scratch
|
|
BUTTERCUP_FUZZER_CRASH_DIR_COUNT_LIMIT=100
|
|
BUTTERCUP_FUZZER_SAMPLE_SIZE=200
|
|
BUTTERCUP_FUZZER_LOG_LEVEL=debug
|
|
BUTTERCUP_FUZZER_MAX_POV_SIZE=2097152
|
|
BUTTERCUP_FUZZER_RUNNER_PATH=/app/fuzzer_runner/runner.sh
|
|
BUTTERCUP_FUZZER_TIMEOUT=60
|
|
|
|
BUTTERCUP_SEED_GEN_LOG_LEVEL=debug
|
|
BUTTERCUP_SEED_GEN_SERVER__REDIS_URL=redis://redis:6379
|
|
BUTTERCUP_SEED_GEN_WDIR=/node_data/crs_scratch
|
|
BUTTERCUP_SEED_GEN_SERVER__SLEEP_TIME=5
|
|
BUTTERCUP_SEED_GEN_SERVER__CRASH_DIR_COUNT_LIMIT=100
|
|
BUTTERCUP_SEED_GEN_SERVER__MAX_CORPUS_SEED_SIZE=65536
|
|
BUTTERCUP_SEED_GEN_SERVER__MAX_POV_SIZE=2097152
|
|
|
|
# Keep these short for local development, there's just one worker for each
|
|
# service and we want to retry as soon as possible usually.
|
|
BUILD_TASK_TIMEOUT_MS=120000
|
|
BUILD_OUTPUT_TASK_TIMEOUT_MS=120000
|
|
DOWNLOAD_TASK_TIMEOUT_MS=120000
|
|
READY_TASK_TIMEOUT_MS=120000
|
|
DELETE_TASK_TIMEOUT_MS=120000
|
|
CRASH_TASK_TIMEOUT_MS=120000
|
|
PATCH_TASK_TIMEOUT_MS=120000
|
|
CONFIRMED_VULNERABILITIES_TASK_TIMEOUT_MS=120000
|
|
INDEX_TASK_TIMEOUT_MS=120000
|
|
INDEX_OUTPUT_TASK_TIMEOUT_MS=120000
|
|
TRACED_VULNERABILITIES_TASK_TIMEOUT_MS=120000
|
|
|
|
# OTel - configured to use local SigNoz by default
|
|
OTEL_EXPORTER_OTLP_ENDPOINT=http://signoz-otel-collector:4317
|
|
# token is b64 encoded "username:password"
|
|
OTEL_EXPORTER_OTLP_HEADERS="Authorization=Basic dXNlcm5hbWU6cGFzc3dvcmQ="
|
|
OTEL_EXPORTER_OTLP_PROTOCOL="grpc"
|
|
|
|
# Settings for externally hosted endpoint, uncomment and set endpoint to use external OTEL
|
|
#OTEL_EXPORTER_OTLP_ENDPOINT=""
|
|
#OTEL_EXPORTER_OTLP_PROTOCOL="http"
|
|
|
|
OSS_FUZZ_CONTAINER_ORG=aixcc-afc
|
|
|
|
BUTTERCUP_UI_HOST=buttercup-ui
|
|
BUTTERCUP_UI_EXTERNAL_HOST=buttercup-ui
|
|
BUTTERCUP_UI_CRS_BASE_URL="http://task-server:8000"
|
|
BUTTERCUP_UI_STORAGE_DIR="/tmp/buttercup-ui"
|
|
BUTTERCUP_UI_LOG_LEVEL="info"
|
|
BUTTERCUP_UI_CRS_KEY_ID="515cc8a0-3019-4c9f-8c1c-72d0b54ae561"
|
|
BUTTERCUP_UI_CRS_KEY_TOKEN="VGuAC8axfOnFXKBB7irpNDOKcDjOlnyB"
|