mirror of
https://github.com/trailofbits/buttercup
synced 2026-06-21 14:11:39 +00:00
2009c772b0
BUTTERCUP_PATCHER_TASK_STORAGE_DIR was /node_data/crs_scratch. The patcher's get_clean_task() resolves <task_storage>/<task_id>; under crs_scratch that path is already the fuzzer/scheduler per-task scratch dir (corpus/crashes/build subdirs, no task_meta.json). remote_archive_ to_dir() early-returns because the dir exists, so the pristine task is never materialized and TaskMeta.load() raises FileNotFoundError on task_meta.json during the patcher 'find_tests' node. Point it at /node_data/tasks_storage (same as BUTTERCUP_DOWNLOADER_DOWNLOAD_DIR / BUTTERCUP_SCHEDULER_TASKS_STORAGE_DIR), where the downloaded task with task_meta.json actually lives. Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
106 lines
4.3 KiB
Plaintext
106 lines
4.3 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://buttercup-ui: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://buttercup-ui: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
|
|
# Where the downloaded challenge task lives (matches downloader/scheduler).
|
|
# Must NOT be crs_scratch: get_clean_task() resolves <task_storage>/<task_id>,
|
|
# which under crs_scratch collides with the fuzzer's per-task scratch dir
|
|
# (no task_meta.json there) and crashes TaskMeta.load().
|
|
BUTTERCUP_PATCHER_TASK_STORAGE_DIR=/node_data/tasks_storage
|
|
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"
|
|
|
|
BUTTERCUP_UI_HOST=buttercup-ui
|
|
BUTTERCUP_UI_EXTERNAL_HOST=buttercup-ui
|
|
# Serve on 31323 internally too, so container-to-container URLs
|
|
# (BUTTERCUP_*_COMPETITION_API_URL=http://buttercup-ui:31323) and the
|
|
# host-published port both use one consistent port.
|
|
BUTTERCUP_UI_PORT=31323
|
|
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"
|