mirror of
https://github.com/FuzzingLabs/fuzzforge_ai.git
synced 2026-02-14 04:32:45 +00:00
Resolves validation error where agent_url was None when not explicitly provided. The TemporalManager applies defaults from metadata.yaml, not from module input schemas, so all parameters need defaults in the workflow metadata. Changes: - Add default agent_url, llm_model (gpt-5-mini), llm_provider (openai) - Expand file_patterns to 45 comprehensive patterns covering code, configs, secrets, and Docker files - Increase default limits: max_files (10), max_file_size (100KB), timeout (90s)
111 lines
2.4 KiB
YAML
111 lines
2.4 KiB
YAML
name: llm_analysis
|
|
version: "1.0.0"
|
|
vertical: python
|
|
description: "Uses AI/LLM to analyze code for security vulnerabilities and code quality issues"
|
|
author: "FuzzForge Team"
|
|
tags:
|
|
- "llm"
|
|
- "ai"
|
|
- "security"
|
|
- "static-analysis"
|
|
- "code-quality"
|
|
|
|
# Workspace isolation mode
|
|
workspace_isolation: "shared"
|
|
|
|
parameters:
|
|
type: object
|
|
properties:
|
|
agent_url:
|
|
type: string
|
|
description: "A2A agent endpoint URL"
|
|
default: "http://fuzzforge-task-agent:8000/a2a/litellm_agent"
|
|
llm_model:
|
|
type: string
|
|
description: "LLM model to use (e.g., gpt-4o-mini, claude-3-5-sonnet)"
|
|
default: "gpt-5-mini"
|
|
llm_provider:
|
|
type: string
|
|
description: "LLM provider (openai, anthropic, etc.)"
|
|
default: "openai"
|
|
file_patterns:
|
|
type: array
|
|
items:
|
|
type: string
|
|
default:
|
|
- "*.py"
|
|
- "*.js"
|
|
- "*.ts"
|
|
- "*.jsx"
|
|
- "*.tsx"
|
|
- "*.java"
|
|
- "*.go"
|
|
- "*.rs"
|
|
- "*.c"
|
|
- "*.cpp"
|
|
- "*.h"
|
|
- "*.hpp"
|
|
- "*.cs"
|
|
- "*.php"
|
|
- "*.rb"
|
|
- "*.swift"
|
|
- "*.kt"
|
|
- "*.scala"
|
|
- "*.env"
|
|
- "*.yaml"
|
|
- "*.yml"
|
|
- "*.json"
|
|
- "*.xml"
|
|
- "*.ini"
|
|
- "*.sql"
|
|
- "*.properties"
|
|
- "*.sh"
|
|
- "*.bat"
|
|
- "*.ps1"
|
|
- "*.config"
|
|
- "*.conf"
|
|
- "*.toml"
|
|
- "*id_rsa*"
|
|
- "*id_dsa*"
|
|
- "*id_ecdsa*"
|
|
- "*id_ed25519*"
|
|
- "*.pem"
|
|
- "*.key"
|
|
- "*.pub"
|
|
- "*.txt"
|
|
- "*.md"
|
|
- "Dockerfile"
|
|
- "docker-compose.yml"
|
|
- ".gitignore"
|
|
- ".dockerignore"
|
|
description: "File patterns to analyze for security issues and secrets"
|
|
max_files:
|
|
type: integer
|
|
description: "Maximum number of files to analyze"
|
|
default: 10
|
|
max_file_size:
|
|
type: integer
|
|
description: "Maximum file size in bytes"
|
|
default: 100000
|
|
timeout:
|
|
type: integer
|
|
description: "Timeout per file in seconds"
|
|
default: 90
|
|
|
|
output_schema:
|
|
type: object
|
|
properties:
|
|
sarif:
|
|
type: object
|
|
description: "SARIF-formatted security findings from LLM"
|
|
summary:
|
|
type: object
|
|
description: "Analysis summary"
|
|
properties:
|
|
files_analyzed:
|
|
type: integer
|
|
total_findings:
|
|
type: integer
|
|
model_used:
|
|
type: string
|