@cryptotaxi247 / CoPilot / commits / ad53556a

Log remove (#282)

* feat: Update `collect_agent_vulnerabilities` to support multiple severity levels * precommit fixes

taylor_socfortress committed Sep 3, 2024 at 15:12 UTC ad53556adb9e6a763123ad29f8198448c17a6f51
1 file changed +1 -60
backend/app/agents/wazuh/services/vulnerabilities.py
+1 -60
@@ -9,37 +9,6 @@ from app.connectors.wazuh_indexer.utils.universal import collect_indices
9 from app.connectors.wazuh_indexer.utils.universal import create_wazuh_indexer_client
10 from app.connectors.wazuh_manager.utils.universal import send_get_request
11
12 -# async def collect_agent_vulnerabilities(agent_id: str, vulnerability_severity: str):
13 -# """
14 -# Collect agent vulnerabilities from Wazuh Manager.
15 -# Used when Wazuh Manager is below 4.8.0
16 -
17 -# Args:
18 -# agent_id (str): The ID of the agent.
19 -
20 -# Returns:
21 -# WazuhAgentVulnerabilitiesResponse: An object containing the collected vulnerabilities.
22 -
23 -# Raises:
24 -# HTTPException: If there is an error collecting the vulnerabilities.
25 -# """
26 -# logger.info(f"Collecting agent {agent_id} vulnerabilities from Wazuh Manager")
27 -# agent_vulnerabilities = await send_get_request(
28 -# endpoint=f"/vulnerability/{agent_id}",
29 -# params={"severity": vulnerability_severity},
30 -# )
31 -# if agent_vulnerabilities["success"] is False:
32 -# raise HTTPException(status_code=500, detail=agent_vulnerabilities["message"])
33 -
34 -# processed_vulnerabilities = process_agent_vulnerabilities(
35 -# agent_vulnerabilities["data"],
36 -# )
37 -# return WazuhAgentVulnerabilitiesResponse(
38 -# vulnerabilities=processed_vulnerabilities,
39 -# success=True,
40 -# message="Vulnerabilities collected successfully",
41 -# )
42 -
12
13 async def collect_agent_vulnerabilities(agent_id: str, vulnerability_severity: str):
14 """
@@ -68,7 +37,6 @@ async def collect_agent_vulnerabilities(agent_id: str, vulnerability_severity: s
37 )
38 if response["success"] is False:
39 raise HTTPException(status_code=500, detail=response["message"])
71 - logger.info(f"Vulnerabilities collected for severity {severity}: {response}")
40 # Navigate through the nested 'data' structure to get 'affected_items'
41 affected_items = response.get("data", {}).get("data", {}).get("affected_items", [])
42 agent_vulnerabilities.extend(affected_items)
@@ -82,33 +50,6 @@ async def collect_agent_vulnerabilities(agent_id: str, vulnerability_severity: s
50 )
51
52
85 -# def process_agent_vulnerabilities(
86 -# agent_vulnerabilities: dict,
87 -# ) -> List[WazuhAgentVulnerabilities]:
88 -# """
89 -# Process agent vulnerabilities and return a list of WazuhAgentVulnerabilities objects.
90 -
91 -# Args:
92 -# agent_vulnerabilities (dict): A dictionary containing agent vulnerabilities data.
93 -
94 -# Returns:
95 -# List[WazuhAgentVulnerabilities]: A list of WazuhAgentVulnerabilities objects.
96 -
97 -# Raises:
98 -# HTTPException: If there is an error processing the agent vulnerabilities.
99 -# """
100 -# try:
101 -# vulnerabilities = agent_vulnerabilities.get("data", {}).get(
102 -# "affected_items",
103 -# [],
104 -# )
105 -# return [WazuhAgentVulnerabilities(**vuln) for vuln in vulnerabilities]
106 -# except Exception as e:
107 -# raise HTTPException(
108 -# status_code=500,
109 -# detail=f"Failed to process agent vulnerabilities: {e}",
110 -# )
111 -
53 def process_agent_vulnerabilities(
54 agent_vulnerabilities: List[dict],
55 ) -> List[WazuhAgentVulnerabilities]:
@@ -124,7 +65,6 @@ def process_agent_vulnerabilities(
65 Raises:
66 HTTPException: If there is an error processing the agent vulnerabilities.
67 """
127 - logger.info(f"Processing agent vulnerabilities: {agent_vulnerabilities}")
68 try:
69 return [WazuhAgentVulnerabilities(**vuln) for vuln in agent_vulnerabilities]
70 except Exception as e:
@@ -133,6 +73,7 @@ def process_agent_vulnerabilities(
73 detail=f"Failed to process agent vulnerabilities: {e}",
74 )
75
76 +
77 async def collect_agent_vulnerabilities_new(agent_id: str, vulnerability_severity: str):
78 """
79 Collects vulnerabilities for a specific agent from the Wazuh Indexer Index.