ntopng/scripts/lua/modules/flow_risk_utils.lua
GabrieleDeri b21ea8a372
Some checks are pending
Build / build (push) Waiting to run
CIFuzz / Fuzzing (address) (push) Waiting to run
CIFuzz / Fuzzing (undefined) (push) Waiting to run
CodeQL / Analyze (push) Waiting to run
CodeQL / Analyze-1 (push) Waiting to run
Alert and flow query optimizations post SQL query (#11109)
2026-10-21 21:14:50 +02:00

60 lines
1.7 KiB
Lua

--
-- (C) 2017-26 - ntop.org
--
local flow_risk_utils = {}
local clock_start = os.clock()
-- ##############################################
-- The link only depends on (risk_id, source): memoize it
local remediation_links_cache = {}
function flow_risk_utils.get_remediation_documentation_link(risk_id, source)
local cache_key = tostring(source) .. ":" .. tostring(risk_id)
local link = remediation_links_cache[cache_key]
if link then
return link
end
local url = ""
if (source == "ntopng") then
url = string.format("https://www.ntop.org/guides/ntopng/user_interface/shared/alerts/remediations/ntopng_flow_risks.html?utm_source=ntopng#risk-%.3u", risk_id)
else
url = string.format("https://www.ntop.org/guides/ntopng/user_interface/shared/alerts/remediations/ndpi_flow_risks.html?utm_source=ntopng#risk-%.3u", risk_id)
end
link = string.format('<a href="%s" target="_blank"><i class="fa-solid fa-lg fa-briefcase-medical"></i></a>', url)
remediation_links_cache[cache_key] = link
return link
end
-- ##############################################
--@brief Returns a table with all available risk strings, keyed by risk id.
function flow_risk_utils.get_risks_info()
local res = {}
for risk_id = 1,127 do
local risk_str = ntop.getRiskStr(risk_id)
if risk_id == tonumber(risk_str) then
break
end
-- Use string keys to avoid tricking lua into thinking it is processing an array
res[tostring(risk_id)] = {label = risk_str, id = risk_id}
end
return res
end
-- ##############################################
if(trace_script_duration ~= nil) then
io.write(debug.getinfo(1,'S').source .." executed in ".. (os.clock()-clock_start)*1000 .. " ms\n")
end
return flow_risk_utils