This commit is contained in:
@@ -1,41 +1,41 @@
|
||||
from crewai import CrewBase, Agent, Task, Crew
|
||||
from crewai import Agent, Task, Crew
|
||||
from crewai.project import CrewBase, agent, task, crew
|
||||
from crewai_tools import MCPServerAdapter
|
||||
from mcp import StdioServerParameters
|
||||
import os
|
||||
from typing import Dict, Any
|
||||
from pr_reviewer.llm import get_llm
|
||||
|
||||
|
||||
class SecurityReviewCrew(CrewBase):
|
||||
@CrewBase
|
||||
class SecurityReviewCrew:
|
||||
"""Security Review Crew for conducting security reviews."""
|
||||
|
||||
agents_config = "config/agents.yaml"
|
||||
tasks_config = "config/tasks.yaml"
|
||||
|
||||
def __init__(self):
|
||||
super().__init__()
|
||||
# Trivy uses native MCP server, so we don't need to configure a wrapper.
|
||||
# However, we might need to set up connection parameters if required by the native server.
|
||||
# For now, we assume the native Trivy MCP server is available at a known address or via stdio.
|
||||
# We'll leave the MCP server configuration empty and rely on the native server being available.
|
||||
self.trivy_server_params = None # Placeholder for if we need to configure stdio parameters
|
||||
self.llm = get_llm()
|
||||
self.trivy_server_params = None
|
||||
|
||||
@Agent
|
||||
@agent
|
||||
def security_reviewer(self) -> Agent:
|
||||
"""Application Security Engineer agent for security review."""
|
||||
return Agent(
|
||||
config=self.agents_config["security_reviewer"],
|
||||
tools=[], # Tools will be added via MCP adapter in the task
|
||||
llm=self.llm,
|
||||
tools=[],
|
||||
verbose=True
|
||||
)
|
||||
|
||||
@Task
|
||||
@task
|
||||
def security_review_task(self) -> Task:
|
||||
"""Task for conducting security review."""
|
||||
return Task(
|
||||
config=self.tasks_config["security_review_task"],
|
||||
)
|
||||
|
||||
@Crew
|
||||
@crew
|
||||
def crew(self) -> Crew:
|
||||
"""Create the Security Review crew."""
|
||||
# If we had an MCP server to wrap, we would create an adapter here.
|
||||
|
||||
Reference in New Issue
Block a user