mirror of
https://github.com/FuzzingLabs/fuzzforge_ai.git
synced 2026-02-13 17:52:45 +00:00
LLM Analysis Workflow: - Add llm_analyzer module for AI-powered code security analysis - Add llm_analysis workflow with SARIF output support - Mount AI module in Python worker for A2A wrapper access - Add a2a-sdk dependency to Python worker requirements - Fix workflow parameter ordering in Temporal manager Ruff Linter Fixes: - Fix bare except clauses (E722) across AI and CLI modules - Add noqa comments for intentional late imports (E402) - Replace undefined get_ai_status_async with TODO placeholder - Remove unused imports and variables - Remove container diagnostics display from exception handler MCP Configuration: - Reactivate FUZZFORGE_MCP_URL with default value - Set default MCP URL to http://localhost:8010/mcp in init
48 lines
1.2 KiB
Docker
48 lines
1.2 KiB
Docker
# FuzzForge Vertical Worker: Python Fuzzing
|
|
#
|
|
# Pre-installed tools for Python fuzzing and security analysis:
|
|
# - Python 3.11
|
|
# - Atheris (Python fuzzing)
|
|
# - Common Python security tools
|
|
# - Temporal worker
|
|
|
|
FROM python:3.11-slim
|
|
|
|
# Set working directory
|
|
WORKDIR /app
|
|
|
|
# Install system dependencies
|
|
RUN apt-get update && apt-get install -y \
|
|
# Build essentials for Atheris
|
|
build-essential \
|
|
clang \
|
|
llvm \
|
|
# Development tools
|
|
git \
|
|
curl \
|
|
wget \
|
|
# Cleanup
|
|
&& rm -rf /var/lib/apt/lists/*
|
|
|
|
# Install Python dependencies for Temporal worker
|
|
COPY requirements.txt /tmp/requirements.txt
|
|
RUN pip3 install --no-cache-dir -r /tmp/requirements.txt && \
|
|
rm /tmp/requirements.txt
|
|
|
|
# Create cache directory for downloaded targets
|
|
RUN mkdir -p /cache && chmod 755 /cache
|
|
|
|
# Copy worker entrypoint
|
|
COPY worker.py /app/worker.py
|
|
|
|
# Add toolbox and AI module to Python path (mounted at runtime)
|
|
ENV PYTHONPATH="/app:/app/toolbox:/app/ai_src:${PYTHONPATH}"
|
|
ENV PYTHONUNBUFFERED=1
|
|
|
|
# Healthcheck
|
|
HEALTHCHECK --interval=30s --timeout=10s --start-period=40s --retries=3 \
|
|
CMD python3 -c "import sys; sys.exit(0)"
|
|
|
|
# Run worker
|
|
CMD ["python3", "/app/worker.py"]
|