From d1e7c2656ca280710d6bb4a88735028b9192ee7a Mon Sep 17 00:00:00 2001 From: Oleg Lazari Date: Tue, 11 Nov 2025 01:08:18 -0500 Subject: [PATCH] added proper fix for script --- Scripts/fuzzer-stats.sh | 14 +-- docker-compose.workers.yml | 180 +++++++++++++++++++++++++++++++++++++ 2 files changed, 188 insertions(+), 6 deletions(-) diff --git a/Scripts/fuzzer-stats.sh b/Scripts/fuzzer-stats.sh index fe5b60d42..3be99506d 100755 --- a/Scripts/fuzzer-stats.sh +++ b/Scripts/fuzzer-stats.sh @@ -74,13 +74,15 @@ main() { # Get global statistics echo -e "${GREEN}=== Global Statistics ===${NC}" - global_stats=$(run_query "SELECT total_programs, total_executions, total_crashes, active_fuzzers FROM global_statistics;") - if [ -n "$global_stats" ]; then + global_stats=$(run_query "SELECT total_programs, total_executions, total_crashes, active_fuzzers FROM global_statistics;" | xargs) + if [ -n "$global_stats" ] && [ "$global_stats" != "" ]; then IFS='|' read -r total_programs total_executions total_crashes active_fuzzers <<< "$global_stats" echo -e " ${YELLOW}Total Programs:${NC} $(format_number "$total_programs")" echo -e " ${YELLOW}Total Executions:${NC} $(format_number "$total_executions")" echo -e " ${YELLOW}Total Crashes:${NC} ${RED}$(format_number "$total_crashes")${NC}" echo -e " ${YELLOW}Active Fuzzers:${NC} $(format_number "$active_fuzzers")" + else + echo -e " ${YELLOW}No global statistics available${NC}" fi echo "" @@ -89,7 +91,7 @@ main() { echo "" # Header - printf "%-6s %-20s %-10s %-12s %-12s %-10s %-15s\n" \ + printf "%-6s %-20s %-10s %-12s %-12s %-12s %-10s %-15s\n" \ "ID" "Name" "Status" "Execs/s" "Programs" "Executions" "Crashes" "Highest Coverage %" echo "--------------------------------------------------------------------------------------------------------" @@ -125,15 +127,15 @@ main() { status_color="${RED}" fi - printf "%-6s %-20s ${status_color}%-10s${NC} %-12s %-12s %-12s %-10s %-15s\n" \ + printf "%-6s %-20s ${status_color}%-10s${NC} %-12s %-12s %-12s ${RED}%-10s${NC} ${CYAN}%-15s${NC}\n" \ "$fuzzer_id" \ "$fuzzer_name" \ "$status" \ "$execs_formatted" \ "$(format_number "$programs")" \ "$(format_number "$executions")" \ - "${RED}$(format_number "$crashes")${NC}" \ - "${CYAN}${cov_formatted}%${NC}" + "$(format_number "$crashes")" \ + "${cov_formatted}%" done <<< "$fuzzer_data" fi echo "" diff --git a/docker-compose.workers.yml b/docker-compose.workers.yml index f35e3f915..5c9c1e56c 100644 --- a/docker-compose.workers.yml +++ b/docker-compose.workers.yml @@ -72,6 +72,186 @@ services: memory: 1G + # Worker 3 - Fuzzilli Container + fuzzer-worker-3: + build: + context: /home/tropic/vrig/fuzzilli-vrig-proj/fuzzillai + dockerfile: Cloud/VRIG/Dockerfile.distributed + container_name: fuzzer-worker-3 + environment: + - POSTGRES_URL=postgresql://fuzzilli:fuzzilli123@postgres-master:5432/fuzzilli_master + - FUZZER_INSTANCE_NAME=fuzzer-3 + - TIMEOUT=2500 + - MIN_MUTATIONS_PER_SAMPLE=25 + - DEBUG_LOGGING=false + depends_on: + postgres-master: + condition: service_healthy + volumes: + - fuzzer_data_3:/home/app/Corpus + - /home/tropic/vrig/fuzzilli-vrig-proj/fuzzbuild:/home/app/fuzzbuild:ro + restart: unless-stopped + healthcheck: + test: ["CMD-SHELL", "pgrep -f FuzzilliCli || exit 1"] + interval: 30s + timeout: 10s + retries: 3 + start_period: 60s + networks: + - fuzzing-network + deploy: + resources: + limits: + memory: 2G + reservations: + memory: 1G + + + # Worker 4 - Fuzzilli Container + fuzzer-worker-4: + build: + context: /home/tropic/vrig/fuzzilli-vrig-proj/fuzzillai + dockerfile: Cloud/VRIG/Dockerfile.distributed + container_name: fuzzer-worker-4 + environment: + - POSTGRES_URL=postgresql://fuzzilli:fuzzilli123@postgres-master:5432/fuzzilli_master + - FUZZER_INSTANCE_NAME=fuzzer-4 + - TIMEOUT=2500 + - MIN_MUTATIONS_PER_SAMPLE=25 + - DEBUG_LOGGING=false + depends_on: + postgres-master: + condition: service_healthy + volumes: + - fuzzer_data_4:/home/app/Corpus + - /home/tropic/vrig/fuzzilli-vrig-proj/fuzzbuild:/home/app/fuzzbuild:ro + restart: unless-stopped + healthcheck: + test: ["CMD-SHELL", "pgrep -f FuzzilliCli || exit 1"] + interval: 30s + timeout: 10s + retries: 3 + start_period: 60s + networks: + - fuzzing-network + deploy: + resources: + limits: + memory: 2G + reservations: + memory: 1G + + + # Worker 5 - Fuzzilli Container + fuzzer-worker-5: + build: + context: /home/tropic/vrig/fuzzilli-vrig-proj/fuzzillai + dockerfile: Cloud/VRIG/Dockerfile.distributed + container_name: fuzzer-worker-5 + environment: + - POSTGRES_URL=postgresql://fuzzilli:fuzzilli123@postgres-master:5432/fuzzilli_master + - FUZZER_INSTANCE_NAME=fuzzer-5 + - TIMEOUT=2500 + - MIN_MUTATIONS_PER_SAMPLE=25 + - DEBUG_LOGGING=false + depends_on: + postgres-master: + condition: service_healthy + volumes: + - fuzzer_data_5:/home/app/Corpus + - /home/tropic/vrig/fuzzilli-vrig-proj/fuzzbuild:/home/app/fuzzbuild:ro + restart: unless-stopped + healthcheck: + test: ["CMD-SHELL", "pgrep -f FuzzilliCli || exit 1"] + interval: 30s + timeout: 10s + retries: 3 + start_period: 60s + networks: + - fuzzing-network + deploy: + resources: + limits: + memory: 2G + reservations: + memory: 1G + + + # Worker 6 - Fuzzilli Container + fuzzer-worker-6: + build: + context: /home/tropic/vrig/fuzzilli-vrig-proj/fuzzillai + dockerfile: Cloud/VRIG/Dockerfile.distributed + container_name: fuzzer-worker-6 + environment: + - POSTGRES_URL=postgresql://fuzzilli:fuzzilli123@postgres-master:5432/fuzzilli_master + - FUZZER_INSTANCE_NAME=fuzzer-6 + - TIMEOUT=2500 + - MIN_MUTATIONS_PER_SAMPLE=25 + - DEBUG_LOGGING=false + depends_on: + postgres-master: + condition: service_healthy + volumes: + - fuzzer_data_6:/home/app/Corpus + - /home/tropic/vrig/fuzzilli-vrig-proj/fuzzbuild:/home/app/fuzzbuild:ro + restart: unless-stopped + healthcheck: + test: ["CMD-SHELL", "pgrep -f FuzzilliCli || exit 1"] + interval: 30s + timeout: 10s + retries: 3 + start_period: 60s + networks: + - fuzzing-network + deploy: + resources: + limits: + memory: 2G + reservations: + memory: 1G + + + # Worker 7 - Fuzzilli Container + fuzzer-worker-7: + build: + context: /home/tropic/vrig/fuzzilli-vrig-proj/fuzzillai + dockerfile: Cloud/VRIG/Dockerfile.distributed + container_name: fuzzer-worker-7 + environment: + - POSTGRES_URL=postgresql://fuzzilli:fuzzilli123@postgres-master:5432/fuzzilli_master + - FUZZER_INSTANCE_NAME=fuzzer-7 + - TIMEOUT=2500 + - MIN_MUTATIONS_PER_SAMPLE=25 + - DEBUG_LOGGING=false + depends_on: + postgres-master: + condition: service_healthy + volumes: + - fuzzer_data_7:/home/app/Corpus + - /home/tropic/vrig/fuzzilli-vrig-proj/fuzzbuild:/home/app/fuzzbuild:ro + restart: unless-stopped + healthcheck: + test: ["CMD-SHELL", "pgrep -f FuzzilliCli || exit 1"] + interval: 30s + timeout: 10s + retries: 3 + start_period: 60s + networks: + - fuzzing-network + deploy: + resources: + limits: + memory: 2G + reservations: + memory: 1G + + volumes: fuzzer_data_1: fuzzer_data_2: + fuzzer_data_3: + fuzzer_data_4: + fuzzer_data_5: + fuzzer_data_6: + fuzzer_data_7: