Files
fuzzforge_ai/backend/toolbox/workflows/llm_analysis/metadata.yaml
T
tduhamel42 ff00146f20 feat: Add LLM analysis workflow and ruff linter fixes
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
2025-10-14 16:43:14 +02:00

65 lines
1.5 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"
default_parameters:
agent_url: "http://fuzzforge-task-agent:8000/a2a/litellm_agent"
llm_model: "gpt-4o-mini"
llm_provider: "openai"
max_files: 5
parameters:
type: object
properties:
agent_url:
type: string
description: "A2A agent endpoint URL"
llm_model:
type: string
description: "LLM model to use (e.g., gpt-4o-mini, claude-3-5-sonnet)"
llm_provider:
type: string
description: "LLM provider (openai, anthropic, etc.)"
file_patterns:
type: array
items:
type: string
description: "File patterns to analyze (e.g., ['*.py', '*.js'])"
max_files:
type: integer
description: "Maximum number of files to analyze"
max_file_size:
type: integer
description: "Maximum file size in bytes"
timeout:
type: integer
description: "Timeout per file in seconds"
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