diff --git a/.github/workflows/rigging_pr_description.yml b/.github/workflows/rigging_pr_description.yml index b86a94c..08e94d1 100644 --- a/.github/workflows/rigging_pr_description.yml +++ b/.github/workflows/rigging_pr_description.yml @@ -2,7 +2,9 @@ name: Update PR Description with Rigging on: pull_request: - types: [opened, synchronize] + types: + - edited # Trigger when the PR is updated (e.g., title, description, or labels) + - reopened # Trigger when the PR is reopened jobs: update-description: diff --git a/cybersecurity/offensive/information-gathering/ffufai.Dockerfile b/cybersecurity/offensive/information-gathering/ffufai.Dockerfile new file mode 100644 index 0000000..5675e76 --- /dev/null +++ b/cybersecurity/offensive/information-gathering/ffufai.Dockerfile @@ -0,0 +1,25 @@ +FROM python:3.9-slim + +# Install git and build dependencies +RUN apt-get update && \ + apt-get install -y git python3-dev gcc && \ + apt-get clean && \ + rm -rf /var/lib/apt/lists/* + +# Set working directory +WORKDIR /app + +# Clone the repository +RUN git clone https://github.com/GangGreenTemperTatum/ffufai.git /app + +# Install Python dependencies +RUN pip install --no-cache-dir -r requirements.txt cffi + +# Create non-root user +RUN useradd -m -r -u 1000 ffufuser && \ + chown -R ffufuser:ffufuser /app +USER ffufuser + +EXPOSE 8080 + +ENTRYPOINT ["python", "/app/ffufai.py"] \ No newline at end of file diff --git a/cybersecurity/offensive/information-gathering/ffufai.yml b/cybersecurity/offensive/information-gathering/ffufai.yml new file mode 100644 index 0000000..d1df6ea --- /dev/null +++ b/cybersecurity/offensive/information-gathering/ffufai.yml @@ -0,0 +1,64 @@ +description: > + ffufai is an AI-powered web fuzzing tool that combines the power of ffuf with + artificial intelligence to find hidden endpoints and vulnerabilities in web applications. + Requires either an OpenAI API key or Anthropic API key for AI-powered analysis. + +functions: + ffufai_default_scan: + description: Perform a default fuzzing scan against a web target + parameters: + target: + type: string + description: The target URL to fuzz + examples: + - https://example.com + - http://localhost:8080 + container: + platform: linux/amd64 + image: ffufai + args: + - --net=host + volumes: + - ${cwd}:/data + cmdline: + - ffufai + - --openai-key + - ${env.OPENAI_API_KEY} + - --anthropic-key + - ${env.ANTHROPIC_API_KEY} + - -u + - ${target} + + ffufai_full_scan: + description: Perform comprehensive fuzzing with AI analysis + parameters: + target: + type: string + description: The target URL to fuzz + examples: + - https://example.com + wordlist: + type: string + description: Wordlist to use for fuzzing + default: big.txt + threads: + type: integer + description: Number of concurrent threads + default: 40 + container: + platform: linux/amd64 + image: ffufai + args: + - --net=host + volumes: + - ${cwd}:/data + cmdline: + - ffufai + - --openai-key + - ${env.OPENAI_API_KEY} + - --anthropic-key + - ${env.ANTHROPIC_API_KEY} + - -u + - ${target} + - -w + - /app/wordlists/${wordlist}