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.